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
timed_statistics = TRUE
shared_pool_size = 83886080
large_pool_size = 16777216
java_pool_size = 83886080
control_files = '$ORACLE_BASE/admin/$ORACLE_SID/control01.ctl', '$ORACLE_BASE/admin/$ORACLE_SID/control02.ctl', '$ORACLE_BASE/admin/$ORACLE_SID/control03.ctl'
db_block_size = 8192
db_cache_size = 33554432
compatible = '9.2.0.0.0'
log_archive_start = TRUE
log_archive_dest_1 = 'LOCATION=$ORACLE_BASE/admin/$ORACLE_SID/archive'
log_archive_format = '%t_%s.dbf'
db_file_multiblock_read_count= 16
fast_start_mttr_target = 300
undo_management = 'AUTO'
undo_tablespace = 'UNDOTBS1'
undo_retention = 10800
remote_login_passwordfile= 'EXCLUSIVE'
db_domain =''
instance_name = '$ORALCE_SID'
dispatchers = '(PROTOCOL=TCP) (SERVICE=denverXDB)'
job_queue_processes = 10
hash_join_enabled = TRUE
background_dump_dest = '$ORACLE_BASE/admin/$ORACLE_SID/bdump'
user_dump_dest = '$ORACLE_BASE/admin/$ORACLE_SID/udump'
core_dump_dest = '$ORACLE_BASE/admin/$ORACLE_SID/cdump'
sort_area_size = 524288
db_name = '$ORACLE_SID'
open_cursors = 300
star_transformation_enabled= 'FALSE'
query_rewrite_enabled = 'FALSE'
pga_aggregate_target = 25165824
aq_tm_processes = 1
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),然后使用第一中方法创建。