我的oracle 9i学习日志(5)--Initialization Parameter Files-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

我的oracle 9i学习日志(5)--Initialization Parameter Files

简介:
启动instance过程:
2
 
由上图可知,oracle instance是根据Initialization Parameter Files里设置的参数来初始化oracle instance的。
Initialization Parameter Files的条目中包含显示和隐式两种参数,显示参数在文件中明确指出了参数值,隐式参数没有在文件中指定,均按oracle默认值。多个Initialization Parameter Files可以同时存在。有两种类型的Initialization Parameter Files:pfile(Static parameter file)和SPFILE(Persistent server parameter file)。
pfile:
文本文件,可以用任何标识的系统文本编辑工具修改。在instance启动后只读,如果里面的内容被改变只能在下次启动instance后才能生效,oracle安装完后会自动生成一个简单模板$ORACLE_HOME/dbs/init.ora。
SPFILE:
二进制文件,只能由oracle server修改和维护,只能位于运行oracle server的机器上(pfile可以位于客户端),可以被RMAN备份。位置$ORACLE_HOME/dbs/spfileSID.ora。
由pfile创建spfile:CREATE SPFILE = ‘$ORACLE_HOME/dbs/spfileDBA01.ora’ 
FROM PFILE = ‘$ORACLE_HOME/dbs/initDBA01.ora’;(可以在instance启动前或启动后创建),在默认情况下可直接这样用:SQL> CREATE SPFILE FROM PFILE;
由spfile创建pfile:SQL> CREATE PFILE FROM SPFILE;
查看各个参数:如果是pfile则可以用编辑器打开,如果是spfile则有三种方式:一是由spfile创建pfile,然后再打开pfile;二是利用Linux下的命令strings spfile;三是SQL> show parameter “参数名的头几个字母”。
如:SQL> show parameter fast
NAME                     TYPE     VALUE 
------------------------------------ ----------- ------------------------------ 
fast_start_io_target             integer     0 
fast_start_mttr_target             integer     300 
fast_start_parallel_rollback         string     LOW
修改参数(spfile条件下):
ALTER SYSTEM SET parameter_name = parameter_value 
[COMMENT 'text'] [deferred] [SCOPE = MEMORY|SPFILE|BOTH] 
[SID= 'sid'|'*']
comment:添加注释。
deferred:延迟修改,下次启动时才修改。
scope:默认both。memory,只修改内存的值,临时修改,不会改变spfile里的值。spfile,只修改spfile里的值。both,既修改内存也修改spfile。对于pfile,scope选项只能修改memory。
sid:在rac环境下,指定修改那个instance。
例1:
SQL> show parameter fast_start_mttr_target
NAME                     TYPE     VALUE 
------------------------------------ ----------- ------------- 
fast_start_mttr_target             integer     300 
 
SQL>alter system set fast_start_mttr_target=250;
System altered.
SQL> show parameter fast_start_mttr_target
NAME                     TYPE     VALUE 
------------------------------------ ----------- ------------- 
fast_start_mttr_target             integer     250
[oracle@localhost ~]$ strings ./dbs/spfilelty.ora | grep fast_start_mttr_target 
*.fast_start_mttr_target=250
例2:SQL>alter system set fast_start_mttr_target=260 comment='hello world';
SQL> select name, value, update_comment from v$parameter where name='fast_start_mttr_target';
NAME             VALUE          UPDATE_COMMENT 
-------------------- -------------------- -------------------- 
fast_start_mttr_targ 260          hello world 
 
[oracle@localhost ~]$ strings ./dbs/spfilelty.ora | grep fast_start_mttr_target 
*.fast_start_mttr_target=260#hello world
例3:
SQL> alter system set fast_start_mttr_target=300 scope=spfile;
System altered.
SQL> show parameter fast_start_mttr_target
NAME                     TYPE     VALUE 
------------------------------------ ----------- 
fast_start_mttr_target             integer     260 

[oracle@localhost ~]$ strings ./dbs/spfilelty.ora | grep fast_start_mttr_target 
*.fast_start_mttr_target=300
延迟修改的参数:
1
删除spfile里的值即将参数值置为默认值:ALTER SYSTEM RESET parameter_name [SCOPE = 
MEMORY|SPFILE|BOTH] [SID= ‘sid’|’*’]
startup命令行为:
当输入startup命令后,在$ORACLE_HOME/dbs/目录下查找初始化参数文件spfileSID.ora,启动instance;若无这个文件则查找缺省spfile文件,启动instance;若无这个文件则查找initSID.ora这个文件并启动instance。
指定一个pfile可以覆盖上述查找顺序,如:STARTUP PFILE = $ORACLE_HOME/dbs/initDBA1.ora,直接用指定的pfile启动instance。在pfile里可以指定其他spfile,在pfile里加入SPFILE=<full path and filename>即可。这是唯一能用一个处于其他位置的spfile启动instance的方法。









本文转自 d185740815 51CTO博客,原文链接:http://blog.51cto.com/luotaoyang/277702,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: