eygle.com   eygle.com
eygle.com  
 

« Oracle10gR2 New Feature:CVU(Cluster Verification Utiltiy) | Blog首页 | Oracle9i新特点:SPFILE的使用 »

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

作者:eygle |【转载时请务必以超链接形式标明文章和作者信息及本声明
链接:

本文发表于itpub技术丛书《Oracle数据库DBA专题技术精粹》,未经许可,严禁转载本文.

三. 使用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> 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%\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                     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的修改是相当容易的.

 

<<上一页 下一页>>

 

By eygle on 2005-10-10 19:52 | Comments (0) | Posted to FAQ | Edit |Pageviews:

相关文章 随机文章
  • 如何更改控制文件自动备份的路径
  • DBA警示录:spfile是不能手工修改的
  • Oracle9i新特点-从自动备份中恢复spfile和控制文件
  • Oracle9i新特点-判断是否使用了spfile
  • Oracle9i新特点-在spfile中设置Event事件
  • 我与ITPUB的一点历史回顾
    字符集问题的初步探讨(一)-字符集的基本知识
    DBA警世录:使用ASM应当具备充分认识
    人像摄影~
    Baby、恩墨-我的儿子
    网上相关主题:
    Google

    留言 (0)

    发表留言:



    Remember Me?
    (输入验证码后方可评论,谢谢支持)



    CopyRight © 2004 eygle.com, All rights reserved.