rac 19c迁移spfile文件到ASM(2026-06-08)
情况说明:现有测试环境有一套19c rac环境,在操作的过程中将spfile文件从asm环境迁移到了本地dbs文件夹下,在sqlplus界面中查询确实是本地文件夹,在srvctl config database -d orcl -a查询到是asm地址,本次实验将spfile文件迁移到asm文件,方便文件后期管理。
一、环境介情况
1、数据库:oracle 19c rac 19.18.0.0.0
2、操作系统:NAME="Oracle Linux Server" VERSION="7.8"
3、spfile文件位置
(1)节点rac1

(2)节点rac2

(3)使用集群命令查询


备注:经检查在节点1和节点2上查看的spfile文件在路径和文件名称上是一致的。
二、目标和思路
1、目标
rac配置文件存放在asm文件中并且对应一个文件名称。
2、思路
通过节点文件系统导向到asm中具体的文件名称。
三、具体操作
1、备份现有各节点spfile文件


2、通过本地节点spfile文件导向到asm中的文件
(1)节点1:rac1
[oracle@rac1 dbs]$ pwd
/u01/app/oracle/product/19.3.0/dbhome_1/dbs
[oracle@rac1 dbs]$ cat spfileorcl1.ora
SPFILE='+DATA/ORCL/PARAMETERFILE/spfile.277.1199038063'
(2)节点2:rac2
[oracle@rac2 dbs]$ pwd
/u01/app/oracle/product/19.3.0/dbhome_1/dbs
[oracle@rac2 dbs]$ cat spfileorcl2.ora
SPFILE='+DATA/ORCL/PARAMETERFILE/spfile.277.1199038063'
3、检查ASM具体文件名称对应关系
经过检查实际名称和srvctl查看,文件名称不一样。

备注:按照本节第二点进行操作启动数据库报错,无法启动数据库,确认后修改2个配置文件如下:
(1)修改spfile文件名称
节点1:
[oracle@rac1 ~]$ cd /u01/app/oracle/product/19.3.0/dbhome_1/dbs
[oracle@rac1 dbs]$ ll initorcl1.ora
-rw-r-----. 1 oracle oinstall 56 Jun 8 21:05 initorcl1.ora
[oracle@rac1 dbs]$ cat initorcl1.ora
SPFILE='+DATA/ORCL/PARAMETERFILE/spfile.297.1231524411'
节点2:
[oracle@rac2 dbs]$ pwd
/u01/app/oracle/product/19.3.0/dbhome_1/dbs
[oracle@rac2 dbs]$ ll initorcl2.ora
-rw-r-----. 1 oracle asmadmin 56 Jun 8 21:06 initorcl2.ora
[oracle@rac2 dbs]$ cat initorcl2.ora
SPFILE='+DATA/ORCL/PARAMETERFILE/spfile.297.1231524411'
4、启动数据库服务srvctl
(1)修改srvctl启动服务配置(节点1,节点2都修改)
srvctl modify database -d orcl -p '+DATA/ORCL/PARAMETERFILE/spfile.297.1231524411'


(2)启动数据库服务
[oracle@rac1 ~]$ srvctl start database -d orcl
[oracle@rac1 ~]$ srvctl status database -d orcl
Instance orcl1 is running on node rac1
Instance orcl2 is running on node rac2

spfile文件位置:


四、spfile文件日常维护
(1)变更spfile文件如新增或更改参数
SQL> alter system set db_recovery_file_dest_size=30g scope=both sid='*';

(2)spfile文件还原(实验环境配置了dg还原成初始化rac spfile配置)
因为有些参数在实际生产中无法在线生效,所有在还原时需要重启数据库服务,也只能在测试换机中进行,生产中是不允许的;有些情况下如数据迁移时可以在迁移完成后,主备切换,备库变成生产库时需要进行修改配置文件的情况(一般为了保险起见,切换后原服务ip地址后,将切换后的主库数据同步到备库中去,确认没有问题后,再取消配置或作为备库使用,相当于维护了主备库,作为数据冗余吧)
五、总结
1、rac环境下迁移spfile文件到asm或者到本地操作前需要备份文件到本地,并记录文件的路径和名称。(spfile文件不是和控制文件一样,他具有一定时间内的稳定性)
2、在修改rac配置文件时,需要带上sid=‘*’选项,因为双节点生效;
3、修改spfile文件参数,有些参数立即生效,有些参数内存生效,有时候需要重启服务器才能在查询时显示。
2026-06-08
祁门
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)