如果你想使用pfile启动数据库,你可以在启动时指定pfile或者删除spfile.
SQL> startup pfile='E:Oracleadmineyglenpfileinit.ora';
|
你不能以同样的方式指定spfile,但是可以创建一个包含spfile参数的pfile文件,指向spfile.
SPFILE是一个自Oracle9i引入的初始化参数,类似于IFILE参数。 SPFILE参数用于定义非缺省路径的spfile文件。
你可以在PFILE链接到SPFILE文件,同时在PFILE中定义其他参数,如果参数重复设置,后读取的参数将取代先前的设置。
PFILE参数的使用,例如:
这是我们使用SPFILE启动的情况
SQL> startup ORACLE 例程已经启动。 Total System Global Area 135338868 bytes Fixed Size 453492 bytes Variable Size 109051904 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes 数据库装载完毕。 数据库已经打开。 SQL> show parameter log_archive_start NAME TYPE ------------------------------------ ---------------------- VALUE ------------------------------ log_archive_start boolean TRUE SQL> show parameter spfile NAME TYPE ------------------------------------ ---------------------- VALUE ------------------------------ spfile string %ORACLE_HOME%DATABASESPFILE% ORACLE_SID%.ORA SQL> |
我们修改PFILE文件内容如下:
#Pfile link to SPFILE SPFILE= 'E:OracleOra9iR2databaseSPFILEEYGLEN.ORA' log_archive_start = false |
可以预见这个log_archive_start参数设置将会代替SPFILE中的设置:
SQL> startup pfile='e:initeyglen.ora' ORACLE 例程已经启动。 Total System Global Area 135338868 bytes Fixed Size 453492 bytes Variable Size 109051904 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes 数据库装载完毕。 数据库已经打开。 SQL> show parameter spfile NAME TYPE ------------------------------------ ---------------------- VALUE ------------------------------ spfile string E:OracleOra9iR2databaseSPF ILEEYGLEN.ORA SQL> show parameter log_archive_start NAME TYPE ------------------------------------ ---------------------- VALUE ------------------------------ log_archive_start boolean FALSE
|
然后我们可以使用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_statistics NAME TYPE ------------------------------------ ---------------------- VALUE ------------------------------ timed_statistics boolean TRUE SQL> ALTER SYSTEM SET timed_statistics=FALSE SCOPE=MEMORY; 系统已更改。 SQL> show parameter timed_statistics NAME TYPE ------------------------------------ ---------------------- VALUE ------------------------------ timed_statistics boolean FALSE SQL> shutdown immediate 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。 SQL> startup ORACLE 例程已经启动。 Total System Global Area 135338868 bytes Fixed Size 453492 bytes Variable Size 109051904 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes 数据库装载完毕。 数据库已经打开。 SQL> show parameter timed_statistics NAME TYPE ------------------------------------ ---------------------- VALUE ------------------------------ timed_statistics boolean TRUE
|
2. SCOPE=SPFILE
SQL> show parameter timed_statistics NAME TYPE ------------------------------------ ---------------------- VALUE ------------------------------ timed_statistics boolean TRUE SQL> ALTER SYSTEM SET timed_statistics=FALSE SCOPE=SPFILE; 系统已更改。 SQL> show parameter timed_statistics NAME TYPE ------------------------------------ ---------------------- VALUE ------------------------------ timed_statistics boolean TRUE SQL> shutdown immediate 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。 SQL> startup ORACLE 例程已经启动。 Total System Global Area 135338868 bytes Fixed Size 453492 bytes Variable Size 109051904 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes 数据库装载完毕。 数据库已经打开。 SQL> show parameter timed_statistics NAME TYPE ------------------------------------ ---------------------- VALUE ------------------------------ timed_statistics boolean FALSE SQL>
|
3. SCOPE = BOTH
使用BOTH选项实际上等同于不带参数的ALTER SYSTEM语句。
注意:如果修改静态参数,那么需要指定SPFILE参数,否则将会报错。
SQL> show parameter timed_statistics NAME TYPE ------------------------------------ ---------------------- VALUE ------------------------------ timed_statistics boolean FALSE SQL> ALTER SYSTEM SET timed_statistics=TRUE SCOPE=BOTH; 系统已更改。 SQL> show parameter timed_statistics NAME TYPE ------------------------------------ ---------------------- VALUE ------------------------------ timed_statistics boolean TRUE SQL> shutdown immediate 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。 SQL> startup ORACLE 例程已经启动。 Total System Global Area 135338868 bytes Fixed Size 453492 bytes Variable Size 109051904 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes 数据库装载完毕。 数据库已经打开。 SQL> show parameter timed_statistics NAME TYPE ------------------------------------ ---------------------- VALUE ------------------------------ timed_statistics boolean TRUE SQL> 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 sga Total System Global Area 135338868 bytes Fixed Size 453492 bytes Variable Size 109051904 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes SQL> shutdown immediate 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。 SQL> create pfile from spfile; 文件已创建。 SQL> create spfile from pfile; 文件已创建。 SQL> |
所以spfile的修改是相当容易的.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8119050/viewspace-1007149/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8119050/viewspace-1007149/