oracle数据库的参数文件
数据库的启动过程
第一阶段是读取参数文件,划分内存空间和启动后台进程,启动实例,将数据库打开到nomount 状态。由此可见参数文件的重要性了。
第二阶段是根据参数文件中的位置找到控制文件,打开控制文件,将数据库打开到mount 状态。
第三阶段是根据控制文件找到数据文件的路径,打开数据库,将数据库打开到open 状态。
实例参数文件
主要是保存非默认的初始化参数,约束实例的行为,包括pfile(parameter file)和spfile(server parameter file )文件,它们位于
[oracle@database ~]$ cd $ORACLE_HOME/dbs
Pfile:是一个文本文件,可以使用VIM编辑器修改值,命名为init.ora文件模版,每个实例都有一个init.ora的pfile文件。
Spfile:是oracle 9i开始出现的,是一个二进制文件 (不能用文本编辑器直接编辑),只能通过sql命令修改,命名规则 为 spfile.ora和spfile.ora。
实例启动时,默认的读取顺序是spfile.ora 大于 spfile.ora 大于 init.ora。
Pfile 和 spfile 能相互生成。对应的语句是
SQL>create pfile from spfile;
SQL>create spfile from pfile;
也能在操作系统中通过
[oracle@database ISSES_MODIFIABLE ~]$ strings spfileo.ora > init.ora 来生成文本文件。
参数按照内存中的值是否可以直接修改来分类
静态参数:当前值不允许修改。修改后需要重启实例才能生效。
对于静态参数,不能直接在内存中修改,只能按以下方式,修改服务器参数文件,再重启实例生效。
SYS@openlab> alter system set pga_aggregate_target=180m scope=spfile;
System altered.
实验:
静态参数修改后必须重启实例才能生效,但是现在关闭实例后,不能启动数据库了。
这时候有两种方法:
1、
2、
以上这两种方法都可以把二进制文件读到文本文件中,后面就可以编辑文本文件了。
在文本文档中设置sga_max_size的值为memory_max_size*0.6
再用文本文件生成二进制文件,就能打开数据库了(open状态)。