背景
因为平时做数据库恢复需检查pfile文件,对这方面空白较多,查了点资料,详细了解一下。
参数文件类型
pfile –parameter file 文本文件
spfile –server parameter file 二进制文件
9i后才有,通过alter system 修改到spfile 下次启动生效
pfile
作用:文件记录数据库配置与功能开启或关闭
数据库启动时需读取参数文件内容,实例启动后就一直在内存中。
文件位置:通过dbca图形工具建立数据库,有一个模板参数文件pfile
$ORACLE_BASE/admin/<db_unique_name>/pfile/init.ora.<n+>
修改到参数文件达到时候需要关闭数据库然后才有效
10g后只有spfile $ORACLE_BASE/dbs/spfile$ORACLE_SID.ora
手工建库没有模板参数文件
##spfile
通过pfile文件可以定义spfile=’’路径
1 | sql> show parameter spfile |
数据库读取参数文件顺序
ORACLE_HOME/dbs/spfile<SID>.ora
ORACLE_HOME/dbs/spfile.ora
ORACLE_HOME/dbs/init<SID>.ora
注:
若维护的是RAC,不要执行create pfile from spfile;
因为若spfile文件丢失,启动一个实例,执行create spfile from pfile;后sfile会存放在
ORACLE_HOME/dbs/spfile<SID>.ora
,再启动一个实例后会想修改参数文件会报错,为非共享文件。维护ASM存放参数文件也不能使用create pfile命令
修改参数文件
修改pfile
pfile一般修改需要重启数据库才能生效
startup force
修改spfile
参数分类:
系统参数:alter system set 参数=值 scope=memory|spfile|both [sid=’…’];
会话参数 alter session set 参数=值;
系统参数的分类:
- 动态 alter system set 参数=值; alter system set 参数=值 scope=memory;
- 静态 alter system set 参数=值 scope=spfile;