Chinaunix首页 | 论坛 | 博客
  • 博客访问: 203871
  • 博文数量: 48
  • 博客积分: 856
  • 博客等级: 军士长
  • 技术积分: 520
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-29 23:18
文章分类

全部博文(48)

文章存档

2011年(18)

2010年(30)

分类: Oracle

2010-12-08 11:55:13

首先,说明SID是Oracle数据库的实例ID,用来唯一标识一个实例(通常也就是一个Oracle数据库)。

1,pfile文件是Oracle8i以前的启动参数文件(之后的9i,10g,11g中也能找到它)。以文本形式存在,可以用vi编辑器对其中参数进行修改。文件格式为init.ora或 initSID.ora; 

     文件位置在:在10.0.2\admin\实例名\pfile\文件夹下有个init.ora.xxxxxxxxxxx 文件,后面的xxxxxxxxxxx 是时间戳。

2, spfile用于Oracle9i之后的版本,以二进制文本形式存在,不能用vi编辑器对其中参数进行修改。文件格式为spfileSID.ora(spfile.ora的话就是所有实例通用的参数文件)。

    (1)如果要对spfile文件进行修改,可以在数据库运行时采用SQL语言: 

 

  SQL> ALTER SYSTEM SET PARAMETER = 'VALUES';进行修改。 

 

  ALTER SYSTEM还有选项:SCOPE。SCOPE参数有三个可选值:MEMORY ,SPFILE , BOTH
  MEMORY:只改变当前 实例运行
  SPFILE:只改变SPFILE的设置

  BOTH:改变实例及SPFILE

 

     用spfile以后,所有参数改变都可以写到spfile里面(只要定义scope=spfile或both):

      SQL> ALTER SYSTEM SET PARAMETER = 'VALUES' SCOPE=SPFILE; 

 

  (2)如果不方便使用SQL语句对spfile进行操作,可以先通过SQL语句: 'Q4NR3  
 

  SQL> CREATE Spfile FROM pfile; 这种方法将二进制文本形式的spfile转换成文本形式的pfile格式,然后再用vi编辑器对其中的参数进行直观修改,以达到方便的目的。

 

      修改完成之后还能通过语句 、将文本形式的pfile格式转换回二进制文本形式的spfile

  SQL> CREATE pfile FROM Spfile;

 

      (3)Spfile改正了pfile管理混乱的问题,在多结点的环境里,pfile会有多个image,启动时候需要跟踪最新的image。spfile保证服务器每次的启动都是一致的,pfile可能会导致启动不一致。因为pfile可以在客户端启动。

 

3,spfile  可以在数据库运行时动态修改参数,有些不需要重启数据库,特殊的还要重启才能生效。

而pfile 不能动态修改数据库参数,文本编辑后必须重启数据库

 

 

4,启动时的查找顺序:
spfile.ora > spfile.ora > init.ora  (也就是说spfile优先于pfile,而且本实例设置优先于全局设置)

 

也可以在启动时指定用哪个文件: 

SQL>startup pfile='Your_Pfile.ora'
SQL>startup spfile='\product\11.1.0\db_1\database\SPFILE_SINKA.ORA' force
阅读(2054) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~