Oracle RAC修改参数文件位置
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,目的:将参数文件原位置+DATA/cjcdb/spfilecjcdb.ora修改到+DATA/cjcdb/spfile/spfilecjcdb.ora步骤如下:一:临时位置生成pfile注意:RAC环
千家信息网最后更新 2026年11月02日Oracle RAC修改参数文件位置
目的:
将参数文件原位置+DATA/cjcdb/spfilecjcdb.ora修改到+DATA/cjcdb/spfile/spfilecjcdb.ora
步骤如下:
一:临时位置生成pfile注意:RAC环境下严禁使用create pfile from spfile;会覆盖默认位置下pfile内容。SQL> create pfile='/tmp/pfilexxx.ora' from spfile;二:新位置重新生成spfile注意:pfile和spfile都需要指定目录,SQL> create spfile='+DATA/cjcdb/spfile/spfilecjcdb.ora' from pfile='/tmp/pfilexxx.ora';三: 修改pfile中spfile位置[oracle@rac01 dbs]$ vim initcjcdb1.ora###SPFILE='+DATA/cjcdb/spfilecjcdb.ora'SPFILE='+DATA/cjcdb/spfile/spfilecjcdb.ora'四:修改OCR中spfile位置[oracle@rac01 dbs]$ srvctl modify database -d cjcdb -p '+DATA/cjcdb/spfile/spfilecjcdb.ora'五:重启数据库生效逐个节点重启或同时重启都可以,根据是否可以停机来定[oracle@rac01 dbs]$ srvctl stop database -d cjcdb[oracle@rac01 dbs]$ srvctl start database -d cjcdb
实验过程如下:
节点一,节点二
查看当前spfile位置
SQL> show parameter spfileNAME TYPE VALUE------------------------------------ ----------- ------------------------------spfile string +DATA/cjcdb/spfilecjcdb.ora
查看当前spfile位置
[oracle@rac01 ~]$ srvctl config database -d cjcdb -aDatabase unique name: cjcdbDatabase name: cjcdbOracle home: /u01/app/oracle/product/11.2.0/db_1Oracle user: oracleSpfile: +DATA/cjcdb/spfilecjcdb.oraDomain: Start options: openStop options: immediateDatabase role: PRIMARYManagement policy: AUTOMATICServer pools: cjcdbDatabase instances: cjcdb1,cjcdb2Disk Groups: DATAMount point paths: Services: Type: RACDatabase is enabledDatabase is administrator managed
创建新位置
[root@rac01 ~]# su - grid[grid@rac01 ~]$ asmcmdASMCMD> lsdg State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files NameMOUNTED EXTERN N 512 4096 1048576 10240 9974 0 9974 0 N ARCH/MOUNTED EXTERN N 512 4096 1048576 20480 18689 0 18689 0 N DATA/MOUNTED NORMAL N 512 4096 1048576 6144 5218 2048 1585 0 Y OCR/
ASMCMD> cd data/cjcdbASMCMD> mkdir spfileASMCMD> cd spfileASMCMD> pwd+data/cjcdb/spfile
新位置重新生成spfile
SQL> create pfile='/tmp/pfilexxx.ora' from spfile;SQL> create spfile='+DATA/cjcdb/spfile/spfilecjcdb.ora' from pfile='/tmp/pfilexxx.ora';
修改pfile中spfile为新位置(节点一、节点二)
[oracle@rac01 ~]$ cd $ORACLE_HOME/dbs[oracle@rac01 dbs]$ cp initcjcdb1.ora initcjcdb1.ora.bak[oracle@rac01 dbs]$ vim initcjcdb1.ora###SPFILE='+DATA/cjcdb/spfilecjcdb.ora'SPFILE='+DATA/cjcdb/spfile/spfilecjcdb.ora'
[oracle@rac02 ~]$ cd $ORACLE_HOME/dbs[oracle@rac02 dbs]$ cp initcjcdb2.ora initcjcdb2.ora.bak[oracle@rac02 dbs]$ vim initcjcdb2.ora###SPFILE='+DATA/cjcdb/spfilecjcdb.ora'SPFILE='+DATA/cjcdb/spfile/spfilecjcdb.ora'
修改OCR中记录的spfile位置
[oracle@rac01 dbs]$ srvctl config database -d cjcdb -a|grep spfileSpfile: +DATA/cjcdb/spfilecjcdb.ora[oracle@rac01 dbs]$ srvctl modify database -d cjcdb -p '+DATA/cjcdb/spfile/spfilecjcdb.ora'[oracle@rac01 dbs]$ srvctl config database -d cjcdb -a|grep spfileSpfile: +DATA/cjcdb/spfile/spfilecjcdb.ora
重启数据库
[oracle@rac01 dbs]$ srvctl stop database -d cjcdb[oracle@rac01 dbs]$ srvctl start database -d cjcdb
查看spfile参数值
[oracle@rac01 dbs]$ srvctl config database -d cjcdb -a|grep spfileSpfile: +DATA/cjcdb/spfile/spfilecjcdb.oraSQL> show parameter spfileNAME TYPE VALUE------------------------------------ ----------- ------------------------------spfile string +DATA/cjcdb/spfile/spfilecjcdb.ora
参见问题:
问题一:需要执行srvctl modify修改ocr中参数文件位置,否则通过srvctl重启数据库后,参数文件位置不变。例如:重启数据库 节点一和节点二
SQL> Shutdown immeidateSQL> startup
通过show parameter方式查看spfile位置已经修改成功
SQL> show parameter spfileNAME TYPE VALUE------------------------------------ ----------- ------------------------------spfile string +DATA/cjcdb/spfile/spfilecjcdb.ora
通过 srvctl config 命令查看参数文件位置修改失败
[oracle@rac01 dbs]$ srvctl config database -d cjcdb -aDatabase unique name: cjcdbDatabase name: cjcdbOracle home: /u01/app/oracle/product/11.2.0/db_1Oracle user: oracleSpfile: +DATA/cjcdb/spfilecjcdb.oraDomain: Start options: openStop options: immediateDatabase role: PRIMARYManagement policy: AUTOMATICServer pools: cjcdbDatabase instances: cjcdb1,cjcdb2Disk Groups: DATAMount point paths: Services: Type: RACDatabase is enabledDatabase is administrator managed
通过srvctl重启数据库
[root@rac01 bin]# ./srvctl stop database -d cjcdb[root@rac01 bin]# ./srvctl start database -d cjcdb
参数文件位置完全变为原值
SQL> show parameter spfileNAME TYPE VALUE------------------------------------ ----------- ------------------------------spfile string +DATA/cjcdb/spfilecjcdb.ora
查看pfile里修改的值也变回原值
[oracle@rac01 dbs]$ cat initcjcdb1.ora###SPFILE='+DATA/cjcdb/spfilecjcdb.ora'SPFILE='+DATA/cjcdb/spfilecjcdb.ora'# line added by Agent
问题二:两个节点spfile位置不一致
例如 实例一spfile在ASM磁盘组内,实例二spfile在本地文件系统上($ORACLE_HOME/dbs)可以在实例二上创建新的pfile,将ASM上spfile位置写入到新pfile内,重启实例。
[oracle@rac02 dbs]$ vim initcjcdb2.ora###SPFILE='+DATA/cjcdb/spfilecjcdb.ora'SPFILE='+DATA/cjcdb/spfile/spfilecjcdb.ora'
欢迎关注我的微信公众号"IT小Chen",共同学习,共同成长!!!
位置
节点
参数
文件
数据
数据库
实例
问题
生成
原值
一致
成功
两个
公众
内容
原位
同时
命令
方式
步骤
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
涨乐互联网科技
与互联网科技公司
互联网科技金融
互联网科技集团
互联网金融科技创新
深圳天众互联网科技公司
顺玮阁互联网科技
伴你行互联网科技有限公司
一五八零互联网科技
互联网养老 桔豆科技
恒生科技互联网指数分析
互联网科技产品
科技与互联网哪个更好
重庆威客帮互联网科技
互联网为啥属于高科技
南平创想时代互联网科技有限公司
小米互联网科技园入驻
广州千川互联网科技有限公司
风投北京互联网科技
数字互联网科技有限公司
互联网科技园
广东万易互联网科技有限公司惠州分公司
以房互联网科技
互联网科技英文翻译
互联网科技股有哪些
互联网金融科技公司干啥的
互联网校园科技培训
上海宁丞科技互联网
允成互联网科技有限公司融资
北京互联网科技类企业分布