千家信息网

修改RAC环境中的ASM DG名称

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,----------------------------------------------------------------------------------------------------
千家信息网最后更新 2026年11月03日修改RAC环境中的ASM DG名称

--------------------------------------------------------------------------------------------------------

# 1. 生成数据文件重命名脚本

--------------------------------------------------------------------------------------------------------


---------------------------------------

--1.1 日志文件路径替换

---------------------------------------

SQL > select 'ALTER DATABASE RENAME FILE '''||MEMBER||''' TO '''||REPLACE(MEMBER,'+ARCH_DG','+helloWorldARCH')||'''; ' FROM v$logfile where member like '%ARCH_DG%';


ALTER DATABASE RENAME FILE '+ARCH_DG/helloWorlddb/onlinelog/group_1.257.946749259' TO '+helloWorldARCH/helloWorlddb/onlinelog/group_1.257.946749259';

......


---------------------------------------

--1.2 日志文件路径替换

---------------------------------------

SQL > select 'ALTER DATABASE RENAME FILE '''||MEMBER||''' TO '''||REPLACE(MEMBER,'+DATA01_DG','+helloWorldDATA1')||'''; ' FROM v$logfile where member like '%DATA01_DG%';


ALTER DATABASE RENAME FILE '+DATA01_DG/helloWorlddb/onlinelog/group_1.257.946749257' TO '+helloWorldDATA1/helloWorlddb/onlinelog/group_1.257.946749257';

......


---------------------------------------

--1.3 数据文件路径替换

---------------------------------------

SQL > select 'ALTER DATABASE RENAME FILE '''||NAME||''' TO '''||REPLACE(NAME,'+DATA01_DG','+helloWorldDATA1')||'''; ' FROM v$datafile;


ALTER DATABASE RENAME FILE '+DATA01_DG/helloWorlddb/datafile/system.267.946748147' TO '+helloWorldDATA1/helloWorlddb/datafile/system.267.946748147';

......


---------------------------------------

--1.4 临时文件路径替换

---------------------------------------

SQL > select 'ALTER DATABASE RENAME FILE '''||NAME||''' TO '''||REPLACE(NAME,'+DATA01_DG','+helloWorldDATA1')||'''; ' FROM v$tempfile;


ALTER DATABASE RENAME FILE '+DATA01_DG/helloWorlddb/tempfile/temp.264.946748289' TO '+helloWorldDATA1/helloWorlddb/tempfile/temp.264.946748289';

......


---------------------------------------

--1.5 备份参数文件

---------------------------------------

SQL> create pfile='/home/oracle/helloWorld.pfile' from spfile;


--------------------------------------------------------------------------------------------------------

# 2. 停数据库

--------------------------------------------------------------------------------------------------------

oracle@helloWorlddb1:[/home/oracle]srvctl config database -d helloWorlddb


oracle@helloWorlddb1:[/home/oracle]srvctl stop database -d helloWorlddb



--------------------------------------------------------------------------------------------------------

# 3. 重命名DG (grid用户操作)

--------------------------------------------------------------------------------------------------------


---------------------------------------

--3.1 查看DG信息

---------------------------------------

grid@helloWorlddb1:[/home/grid]kfod a='/dev/rdisk/*' disks=all ds=true o=all


grid@helloWorlddb1:[/home/grid]crsctl stat res -t


---------------------------------------

--3.2 删除旧DG信息

---------------------------------------

grid@helloWorlddb1:[/home/grid]srvctl stop diskgroup -g ARCH_DG -n helloWorlddb1,helloWorlddb2

grid@helloWorlddb1:[/home/grid]srvctl stop diskgroup -g DATA01_DG -n helloWorlddb1,helloWorlddb2

grid@helloWorlddb1:[/home/grid]srvctl remove diskgroup -g ARCH_DG -f

grid@helloWorlddb1:[/home/grid]srvctl remove diskgroup -g DATA01_DG -f


---------------------------------------

--3.3 重命名DG

---------------------------------------

grid@helloWorlddb1:[/home/grid]renamedg dgname=DATA01_DG newdgname=helloWorldDATA1 asm_diskstring='/dev/rdisk/disk*' verbose=true

grid@helloWorlddb1:[/home/grid]renamedg dgname=ARCH_DG newdgname=helloWorldARCH asm_diskstring='/dev/rdisk/disk*' verbose=true


---------------------------------------

--3.4 查看新DG信息

---------------------------------------

grid@helloWorlddb1:[/home/grid]kfod a='/dev/rdisk/*' disks=all ds=true o=all


---------------------------------------

--3.5 挂载新DG

---------------------------------------

grid@helloWorlddb1:[/home/grid]sqlplus / as sysasm

SQL> alter diskgroup helloWorldDATA1 mount;

SQL> alter diskgroup helloWorldARCH mount;


---------------------------------------

--3.6 检查ASM实例中参数信息

---------------------------------------

SQL> show parameter asm_diskgroups;


--如果有需要,手工调整参数所对应的磁盘组信息

SQL> alter system set asm_diskgroups=helloWorldDATA1,helloWorldARCH sid='+ASM1';

SQL> alter system set asm_diskgroups=helloWorldDATA1,helloWorldARCH sid='+ASM2';

---------------------------------------

--3.7 检查crs资源信息

---------------------------------------

grid@helloWorlddb1:[/home/grid]crsctl stat res -t


--------------------------------------------------------------------------------------------------------

# 4. 修改数据库相关DG路径 (oracle用户)

--------------------------------------------------------------------------------------------------------


---------------------------------------

--4.1 修改数据库参数文件路径 (两个节点)

---------------------------------------


oracle@helloWorlddb1:[/home/oracle]cd $ORACLE_HOME/dbs

oracle@helloWorlddb1:[/oracle/app/oracle/11.2.0.4/db_1/dbs]vi inithelloWorlddb1.ora

oracle@helloWorlddb2:[/oracle/app/oracle/11.2.0.4/db_1/dbs]vi inithelloWorlddb2.ora

:%s/DATA01_DG/helloWorldDATA1/g


---------------------------------------

--4.2 修改crs中记录的参数文件与DG信息

---------------------------------------

oracle@helloWorlddb1:[/home/oracle]srvctl modify database -d helloWorlddb -p +helloWorldDATA1/helloWorlddb/spfilehelloWorlddb.ora -a helloWorldDATA1,helloWorldARCH


---------------------------------------

--4.3 启动数据库到nomount状态

---------------------------------------

oracle@helloWorlddb1:[/home/oracle]sqlplus / as sysdba

SQL> startup nomount;


---------------------------------------

--4.4 修改与DG名称相关的数据库参数

---------------------------------------

oracle@helloWorlddb1:[/home/oracle]grep DATA01_DG helloWorld.pfile

oracle@helloWorlddb1:[/home/oracle]grep ARCH_DG helloWorld.pfile


oracle@helloWorlddb1:[/home/oracle]sqlplus / as sysdba

alter system set control_files='+helloWorldDATA1/helloWorlddb/controlfile/current.265.946748283', '+helloWorldARCH/helloWorlddb/controlfile/current.256.946748283' scope=spfile;

alter system set db_create_file_dest='+helloWorldDATA1' scope=spfile;

alter system set db_create_online_log_dest_1='+helloWorldDATA1' scope=spfile;

alter system set db_create_online_log_dest_2='+helloWorldARCH' scope=spfile;


---------------------------------------

--4.5 重新启动并挂载数据库

---------------------------------------

SQL> shutdown immediate;

SQL> startup mount;


---------------------------------------

--4.6 执行步骤1中生成的数据库重命名脚本

---------------------------------------


---------------------------------------

--4.7 打开数据库

---------------------------------------

SQL> alter database open;


---------------------------------------

--4.8 重启集群进行验证

---------------------------------------


数据 数据库 文件 信息 参数 路径 日志 用户 脚本 检查 名称 两个 备份 实例 手工 步骤 状态 磁盘 节点 资源 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 深圳市人人互联网科技有限公司 智网互联网科技 小马过河互联网科技 睿民互联网科技 互联网 视角下的科技创新 天下捷融互联网科技 互联网科技公司名称 互联网科技股午盘股票涨跌 无锡溥仪互联网科技有限公司 恒银科技与互联网金融 金融科技与互联网金融相同和不同 成都铂石互联网科技做什么的 青岛科技大学互联网大赛研究生 高科技互联网发展前景如何 互联网科技手机排行榜 上海万顺科技互联网有限公司招聘 云南互联网科技学费 互联网科技创业计划的风险分析 互联网的黑科技实验室 银川新华互联网科技学校招聘 广州万易互联网科技有限公司 互联网科技产业 成都狮子座互联网科技 哈尔滨秒房互联网科技有限公司 茂名市互联网科技产业园 中国互联网公司排名锤子科技 翼展科技 首家互联网医院 福建互联网展示科技馆设计 安徽零酒互联网科技有限公司 恒生科技互联网指数十大成分股
0