您的位置:首页 > 数据库 > Oracle

Oracle9i新特点-如何修改Spfile的参数

2017-02-17 00:00 471 查看
使用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> startu
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%\DATABASE\SPFILE%
ORACLE_SID%.ORA
SQL>
我们修改PFILE文件内容如下:

#Pfile link to SPFILE
SPFILE= '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 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:\Oracle\Ora9iR2\database\SPF
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                     bool
3ff0
ean
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的修改是相当容易的.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: