初始化参数(Initialization Parameter)知识合集 based on 11g

初始化参数文件分为:

1)pfile 静态参数文件

2)spfile 动态服务器参数文件

作用:存储建立实例、启动后台进程所需参数值。

调用:实例启动时,按如下顺序调取初始化参数文件

linux:

$ORACLE_HOME/dbs/spfile<SID>.ora

$ORACLE_HOME/dbs/spfile.ora

$ORACLE_HOME/dbs/init<SID>.ora

windows:

%ORACLE_HOME%\database\SPFILE<SID>.ORA

%ORACLE_HOME%\database\SPFILE.ORA

%ORACLE_HOME%\database\INIT<SID>.ORA

或者启动时指定pfile

startup open pfile='/home/oracle/init.ora';  

实例从关闭状态启动到nomount(started状态)时需要用到初始化参数文件。

spfile是服务器端文件,实例启动时被SMON读取,不能重命名和移动位置,它是二进制文件,不能手工编辑;pfile是客户端文件,实例启动时由用户进程读取,可以随意重命名或 移动后通过制定其名称和位置来启动数据库,它是ASCII文本文件,可以编辑。

spfile是二进制文件,可以用strings命令来查看内部的参数信息:

可以在数据库的任何状态下(即使是关闭状态下)用以下语句做初始化参数文件的转换:

CREATE SPFILE [=[fiilepath/]filename] FROM PFILE [=[fiilepath/]filename] ;
CREATE PFILE [=[fiilepath/]filename] FROM SPFILE [=[fiilepath/]filename] ;

此时的SQLPLUS仅仅是一个转化工具而已,要求FROM后面的初始化参数文件必须存在。

还可以

CREATE PFILE [=[fiilepath/]filename] FROM MEMORY;
CREATE SPFILE [=[fiilepath/]filename] FROM MEMORY;--当数据库不是用spfile启动的时候才能这样操作

动态参数:可在实例运行时更改的参数,可以写入内存立即生效,可以写入spfile保存设置,部分动态参数支持session级别的更改。

静态参数:在实例启动时就固定下来,即使更改也只先写入spfile,需重启实例才能启用新值的参数。

v$parameter显示当前实例生效的参数信息(已导入内存中的参数信息);v$spparameter显示磁盘中spfile中的值。

共342个参数,41个基本参数,301个非基本参数。

查看初始化参数配置:

 1)OEM:

2)v$parameter

3)show parameter command

更改初始化参数

1)更改动态参数,立即生效,不写入spfile,重启后恢复原来的值

alter system set db_file_multiblock_read_count=16 scope=memory;

2)更改动态参数,立即生效,写入spfile,重启后继续使用当前值

alter system set db_file_multiblock_read_count=16 scope=both;

3)更改静态参数,写入spfile,需实例重启后方才生效

alter system set db_file_multiblock_read_count=16 scope=spfile;

4)按会话级别动态更改,仅当前会话有效

alter session set optimizer_mode=first_rows;

 用pfile启动数据库时,若改动spfile内的参数(scope=spfile),会报错

数据库至少启动到nomount下可修改参数。关闭状态下不允许修改。

 

posted @ 2018-11-04 23:41  Elan9145  阅读(1010)  评论(0编辑  收藏  举报