修改RAC环境中的ASM DG名称
admin
2023-04-14 16:01:38
0

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

# 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 重启集群进行验证

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


相关内容

热门资讯

赖清德窜访媚外,金门老百姓却苦... 探访厦金大桥赖清德“偷渡式”窜访,岛内民众大骂:这边民生受阻,那边你还去给外国人“跪”。反观今年4月...
特朗普访华,通用汽车和福特高层... 【文/观察者网 潘昱辰 编辑/高莘】美国总统特朗普将于5月13-15日对中国进行国事访问。据白宫披露...
还是谈不成,特朗普没招了 作者 | 谢奕秋 编辑 | 阿树美伊新一轮的和平提议交换,至5月10日宣告无果而终。伊朗对美国提案的...
网传“45岁独身男子病逝15万... 近日,南京一位老人照顾独身病侄,侄子离世后15万存款被转走的事件引发广泛关注。5月12日,针对网传“...
亚太经合组织电信工作组第72次... 来源:上海证券报·中国证券网 上证报中国证券网讯 据工业和信息化部5月12日消息,5月11日,亚太经...
银星能源获得实用新型专利授权:... 证券之星消息,根据天眼查APP数据显示银星能源(000862)新获得一项实用新型专利授权,专利名为“...
特朗普访华在即,随行商界大咖都... 美国总统特朗普将于5月13日至15日对中国进行国事访问。这是中美两国元首继去年10月釜山之后再次面对...
有线电视机顶盒安装问题求安装方... 有线电视安装说明: 一、将白色有线电视线一端连接有线电视终端盒另一端连接机顶盒后的射频输入口。 ...
60寸电视机尺寸画面长宽是多少...   60寸的液晶电视,60寸就是指电视屏幕对角线长度,因为长宽比有两种情况,经过寸转化为厘米计算之后...
长城电视机尺寸测量方法 长城电视机的尺寸测量方法与其他品牌的电视机测量方法基本相同。需要准备的工具有卷尺或直尺等测量工具,以...