创建pfile和spfile

1、Oralce在启动实例的时读取$ORACLE_HOME/dbs下面的初始化文件。
初始化文件分为:
A、静态参数文件PFILE,一般名为initSID.ora
B、永久参数文件SPFILE,一般名为spfileSID.ora
在Oracle9i之前启动实例时都读取的是静态参数文件initSID.ora,9i之后使用了永久参数文件spfileSID.ora。
因为修改了静态参数文件需要重启数据库实例后才生效,而永久参数文件则不是。
2、创建PFILE
(1)根据$ORACLE_HOME/dbs/init.ora文件创建
复制init.ora文件,按照需求修改该文件,并将文件名命名为initSID.ora,否则需要使用
startup pfile=$ORACLE_HOME/dbs/修改的文件.ora方式启动实例。
但是,可能$ORACLE_HOME/dbs/init.ora文件很老,即使修改了可能启动时也会出错
(2)根据SPFILE文件创建PFILE
CREATE PFILE=$ORACLE_HOME/dbs/initSID.ora FROM SPFILE $ORACLE_HOME/dbs/spfileSID.ora
若都使用默认的,则可简写为:
CREATE PFILE FROM SPFILE
(3)根据$ORACLE_BASE/admin/$ORACLE_SID/bdump下的警告日志文件alert_denver.log创建
在$ORACLE_BASE/admin/$ORACLE_SID/bdump/alert_denver.log包含了很多信息,当然也包含启动信息(搜索Starting ORACLE instance(normal)可以找到)。
将这些启动参数复制出来,把参数是字符串类型用单引号括起来(不加也可以,把空去掉自己组织一下)。如下:
processes= 150
sga_target= 285212672
control_files= ‘/u01/app/oracle/oradata/shiyue/control01.ctl’, ‘/u01/app/oracle/oradata/shiyue/control02.ctl’, ‘/u01/app/oracle/oradata/shiyue/control03.ctl’
db_block_size= 8192
compatible= ’10.2.0.1.0′
db_file_multiblock_read_count= 16
db_recovery_file_dest= /u01/app/oracle/flash_recovery_area
db_recovery_file_dest_size= 2147483648
undo_management= ‘AUTO’
undo_tablespace= ‘UNDOTBS1′
remote_login_passwordfile= ‘EXCLUSIVE’
job_queue_processes= 10
background_dump_dest= ‘/u01/app/oracle/admin/shiyue/bdumpuser_dump_dest’= ‘/u01/app/oracle/admin/shiyue/udumpcore_dump_dest’= ‘/u01/app/oracle/admin/shiyue/cdump’
audit_file_dest= /u01/app/oracle/admin/shiyue/adump
db_name= ‘shiyue’
open_cursors= 300
pga_aggregate_target= 94371840
3、创建SPFILE
(1)根据SPFILE文件创建PFILE
CREATE SPFILE=$ORACLE_HOME/dbs/spfileSID.ora FROM PFILE $ORACLE_HOME/dbs/initSID.ora
若都使用默认的,则可简写为:
CREATE SPFILE FROM PFILE
(2)根据$ORACLE_BASE/admin/$ORACLE_SID/bdump下的警告日志文件alert_denver.log创建
在$ORACLE_BASE/admin/$ORACLE_SID/bdump/alert_denver.log包含了很多信息,当然也包含启动信息(搜索Starting ORACLE instance(normal)可以找到)。
将这些启动参数复制出来,将参数值是字符串类型用单引号括起来。然后保存成文本文件(pfile),然后使用第一中方法创建。