Oracle启动中使用参数文件一般有如下几种情况
1 单实例
1.1 默认启动:
在非rac环境下,oracle数据库的参数文件默认放在$ORACLE_HOME/dbs目录下,oracle自动寻找参数文件的顺序是
spfile$ORACLE_SID.ora -> spfile.ora -> init$ORACLE_SID.ora
1.2 手工指定参数文件
也可以手工启动非默认的pfile和spfile文件
STARTUP PFILE = /u01/oracle/dbs/myinit.ora
如果想启动非默认的spfile文件,建议采用如下方法:
pfile文件启动
STARTUP PFILE = /u01/oracle/dbs/spf_init.ora
pfile文件中通过SPFILE参数指定spfile文件的位置
cat /u01/oracle/dbs/spf_init.ora
SPFILE = /u01/oracle/dbs/test_spfile.ora
1.3 ASM和裸设备下使用参数文件
如果使用裸设备或者ASM存储spfile文件,一般的做法是修改默认的pfile文件
vi $ORACLE_HOME/dbs/init$ORACLE_SID.ora
spfile='+Data/TYOLAP/spfile/spfile$ORACLE_SID.ora'
2 RAC环境
在oracle rac环境下,情况稍微有些复杂,pfile启动和单实例类似,每个实例均设置自己的pfile文件。而spfile启动,一般建议spfile文件放在共享存储上
2.1 Sqlplus启动
2.1.1 共享存储是裸设备或者ASM
如果共享存储是裸设备,官方文档建议采用pfile连接的方式,裸设备在oracle 10g rac版本中比较常见,方法如下
1,使用每个实例的默认pfile文件启动
$ORACLE_HOME/dbs/init$ORACLE_SID.ora
2,pfile文件指向共享的SPFILE
SPFILE='/dev/vx/rdsk/vg_zw_data1/lv_zw_spfile'
如果使用ASM放置spfile文件,SPFILE参数指向ASM中的路径即可
SPFILE='+disk_group_name/dbunique_name/spfiledbname.ora'
2.2 Srvctl启动
2.2.1 OCR中未配置参数文件,
则同sqlplus启动,在默认目录查找
[oracle@dtydb5 ~]$ srvctl config database -d ms4adb -a
Database unique name: ms4adb
Database name: ms4adb
Oracle home: /oracle/app/oracle/product/11.2.0/db_1
Oracle user: oracle
Spfile: +DATA/ms4adb/spfiletest.ora
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: ms4adb
Database instances: ms4adb1,ms4adb2,ms4adb3
Disk Groups: DATA
Mount point paths:
Services:
Type: RAC
Database is enabled
Database is administrator managed