如何修改Spfile的参数

来源:互联网 发布:网络企业安全认证 编辑:程序博客网 时间:2024/04/24 20:46

三. 使用pfile/spfile启动数据库


如果你想使用pfile启动数据库,你可以在启动时指定pfile或者删除spfile.

 

SQL> startup pfile='E:/Oracle/admin/eyglen/pfile/init.ora';                      

你不能以同样的方式指定spfile,但是可以创建一个包含spfile参数的pfile文件,指向spfile.
SPFILE是一个自Oracle9i引入的初始化参数,类似于IFILE参数。 SPFILE参数用于定义非缺省路径的spfile文件。
你可以在PFILE链接到SPFILE文件,同时在PFILE中定义其他参数,如果参数重复设置,后读取的参数将取代先前的设置。
PFILE参数的使用,例如:
这是我们使用SPFILE启动的情况

 

SQL> startupORACLE 例程已经启动。Total System Global Area  135338868 bytesFixed Size                   453492 bytesVariable Size             109051904 bytesDatabase Buffers           25165824 bytesRedo Buffers                 667648 bytes数据库装载完毕。数据库已经打开。SQL> show parameter log_archive_startNAME                                 TYPE------------------------------------ ----------------------VALUE------------------------------log_archive_start                    booleanTRUESQL> show parameter spfileNAME                                 TYPE------------------------------------ ----------------------VALUE------------------------------spfile                               string%ORACLE_HOME%/DATABASE/SPFILE%ORACLE_SID%.ORASQL>       

我们修改PFILE文件内容如下:

 

#Pfile link to SPFILESPFILE= 'E:/Oracle/Ora9iR2/database/SPFILEEYGLEN.ORA'log_archive_start = false

可以预见这个log_archive_start参数设置将会代替SPFILE中的设置:

SQL> startup  pfile='e:/initeyglen.ora'ORACLE 例程已经启动。Total System Global Area  135338868 bytesFixed Size                   453492 bytesVariable Size             109051904 bytesDatabase Buffers           25165824 bytesRedo Buffers                 667648 bytes数据库装载完毕。数据库已经打开。SQL> show parameter spfileNAME                                 TYPE------------------------------------ ----------------------VALUE------------------------------spfile                               stringE:/Oracle/Ora9iR2/database/SPFILEEYGLEN.ORASQL> show parameter log_archive_startNAME                                 TYPE------------------------------------ ----------------------VALUE------------------------------log_archive_start                    booleanFALSE      

 

然后我们可以使用ALTER SYSTEM方式将修改固定到SPFILE.

 

SQL> alter system set log_archive_start=false scope=spfile;

系统已更改。

 

所以你也可以通过如上方式在启动时修改初始化参数。比我们在本文最后介绍的导入导出方法要简便的多。

 

四. 修改参数

可以通过ALTER SYSTEM或者导入导出来更改SPFILE的内容。
ALTER SYSTEM增加了一个新选项:SCOPE。SCOPE参数有三个可选值:MEMORY ,SPFILE , BOTH
MEMORY:只改变当前实例运行
SPFILE:只改变SPFILE的设置
BOTH:改变实例及SPFILE


1. SCOPE=MEMORY

SQL> show parameter timed_statisticsNAME                                 TYPE------------------------------------ ----------------------VALUE------------------------------timed_statistics                     booleanTRUESQL> ALTER SYSTEM SET timed_statistics=FALSE SCOPE=MEMORY;系统已更改。SQL> show parameter timed_statisticsNAME                                 TYPE------------------------------------ ----------------------VALUE------------------------------timed_statistics                     booleanFALSESQL> shutdown immediate数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。SQL> startupORACLE 例程已经启动。Total System Global Area  135338868 bytesFixed Size                   453492 bytesVariable Size             109051904 bytesDatabase Buffers           25165824 bytesRedo Buffers                 667648 bytes数据库装载完毕。数据库已经打开。SQL> show parameter timed_statisticsNAME                                 TYPE------------------------------------ ----------------------VALUE------------------------------timed_statistics                     booleanTRUE      

 

2. SCOPE=SPFILE

 SQL> show parameter timed_statisticsNAME                                 TYPE------------------------------------ ----------------------VALUE------------------------------timed_statistics                     booleanTRUESQL> ALTER SYSTEM SET timed_statistics=FALSE SCOPE=SPFILE;系统已更改。SQL> show parameter timed_statisticsNAME                                 TYPE------------------------------------ ----------------------VALUE------------------------------timed_statistics                     booleanTRUESQL> shutdown immediate数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。SQL> startupORACLE 例程已经启动。Total System Global Area  135338868 bytesFixed Size                   453492 bytesVariable Size             109051904 bytesDatabase Buffers           25165824 bytesRedo Buffers                 667648 bytes数据库装载完毕。数据库已经打开。SQL> show parameter timed_statisticsNAME                                 TYPE------------------------------------ ----------------------VALUE------------------------------timed_statistics                     booleanFALSESQL>      

 

3. SCOPE = BOTH
使用BOTH选项实际上等同于不带参数的ALTER SYSTEM语句。
注意:如果修改静态参数,那么需要指定SPFILE参数,否则将会报错。

 SQL> show parameter timed_statisticsNAME                                 TYPE------------------------------------ ----------------------VALUE------------------------------timed_statistics                     booleanFALSESQL> ALTER SYSTEM SET timed_statistics=TRUE SCOPE=BOTH;系统已更改。SQL> show parameter timed_statisticsNAME                                 TYPE------------------------------------ ----------------------VALUE------------------------------timed_statistics                     booleanTRUESQL> shutdown immediate数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。SQL> startupORACLE 例程已经启动。Total System Global Area  135338868 bytesFixed Size                   453492 bytesVariable Size             109051904 bytesDatabase Buffers           25165824 bytesRedo Buffers                 667648 bytes数据库装载完毕。数据库已经打开。SQL> show parameter timed_statisticsNAME                                 TYPE------------------------------------ ----------------------VALUE------------------------------timed_statistics                     booleanTRUESQL> ALTER SYSTEM SET sql_trace=FALSE SCOPE=BOTH;ALTER SYSTEM SET sql_trace=FALSE SCOPE=BOTH                 *ERROR 位于第 1 行:ORA-02095: 无法修改指定的初始化参数SQL> ALTER SYSTEM SET sql_trace=FALSE SCOPE=SPFILE;系统已更改。      

 

4.你也可以在数据库shutdown时创建和修改spfile,例如:

SQL> show sgaTotal System Global Area  135338868 bytesFixed Size                   453492 bytesVariable Size             109051904 bytesDatabase Buffers           25165824 bytesRedo Buffers                 667648 bytesSQL> shutdown immediate数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。SQL> create pfile from spfile;文件已创建。SQL> create spfile from pfile;文件已创建。SQL>                      

 

所以spfile的修改是相当容易的.

 
原创粉丝点击