Oracle RAC修改参数文件位置
发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,目的:将参数文件原位置+DATA/cjcdb/spfilecjcdb.ora修改到+DATA/cjcdb/spfile/spfilecjcdb.ora步骤如下:一:临时位置生成pfile注意:RAC环
千家信息网最后更新 2025年11月12日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安全错误
数据库的锁怎样保障安全
闲豆服务器异常
软件开发跟硬件开发哪个难
网络安全比赛怎么加入
全车销量数据库
我的世界战争服最重要的服务器
数据库中什么是持久化
河南软件开发价格标准
黑客变网络安全专家
服务器dr
两个数据库的两张表怎么连接查询
网络安全应急处置标准
如何去管理前台的服务器
软件开发培训到底好不好
北京思源互联网科技
泉州安博网络技术公司
中专网络技术大专转什么
广州销售软件开发费用是多少
中无线网络技术
远程服务器的资源无法拷贝到本地
学校网络安全隐患排查存在的问题
列举一个数据库程序
统招的计算机软件开发条件
服务器安全维护记录怎么写
人民网地方领导干部数据库
软件开发很难啊
服务器资产管理员隶属什么行业
高校战疫网络安全分享赛wp
免费申请ftp服务器
远程服务器的资源无法拷贝到本地
服务器 统一监控管理平台