ASM管理 - 如何重命名diskgroup

ASM管理 - 如何重命名diskgroup

ASM 11.2.0.1 版本开始增加了diskgroup重命名的新功能,通过renamedg命令重命名已经创建的diskgroup,重命名前需要先dismount diskgroup。
如果重命名的diskgroup已经用于存储数据库的数据文件,那么需要手动同步数据文件的位置。

--检查ASM diskgroup当前名字为DGASMDB
$ su - grid
$ sqlplus / as sysasm
SQL> select GROUP_NUMBER,name,state,type, offline_disks, ALLOCATION_UNIT_SIZE,BLOCK_SIZE,TOTAL_MB,FREE_MB from v$asm_diskgroup;

GROUP_NUMBER NAME       STATE    TYPE   OFFLINE_DISKS ALLOCATION_UNIT_SIZE BLOCK_SIZE   TOTAL_MB    FREE_MB
------------ ---------- -------- ------ ------------- -------------------- ---------- ---------- ----------
           1 DGASMDB    MOUNTED  EXTERN             0              1048576       4096       3992       1879
--检查数据库当前信息(spfile/controlfile/datafile/redo)
su - oracle
$ sqlplus / as sysdba
SQL> show parameter spfile;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      +DGASMDB/asmdb/spfileasmdb.ora

SQL> show parameter control  
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_files                        string      +DGASMDB/asmdb/controlfile/current.256.856653049
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
+DGASMDB/asmdb/datafile/system.260.856653053
+DGASMDB/asmdb/datafile/sysaux.261.856653059
+DGASMDB/asmdb/datafile/undotbs1.262.856653061
+DGASMDB/asmdb/datafile/users.264.856653075
+DGASMDB/asmdb/datafile/asm_test.dbf

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.


--dismount diskgroup dgasmdb
$ su - grid
$ asmcmd umount dgasmdb

--重命令diskgroup,新的diskgroup名为dgasmdb_new
$ renamedg phase=both dgname=dgasmdb newdgname=dgasmdb_new verbose=true  

Parsing parameters..
Parameters in effect:

         Old DG name       : DGASMDB 
         New DG name          : DGASMDB_NEW 
         Phases               :
                 Phase 1
                 Phase 2
         Discovery str        : (null) 
         Clean              : TRUE
         Raw only           : TRUE
renamedg operation: phase=both dgname=dgasmdb newdgname=dgasmdb_new verbose=true
Executing phase 1
Discovering the group
Performing discovery with string:
Identified disk ASM:/opt/oracle/extapi/64/asm/orcl/1/libasm.so:ORCL:ASMDISK4G1 with disk number:0 and timestamp (33006423 142494720)
Checking for hearbeat...
Re-discovering the group
Performing discovery with string:
Identified disk ASM:/opt/oracle/extapi/64/asm/orcl/1/libasm.so:ORCL:ASMDISK4G1 with disk number:0 and timestamp (33006423 142494720)
Checking if the diskgroup is mounted or used by CSS 
Checking disk number:0
Generating configuration file..
Completed phase 1
Executing phase 2
Looking for ORCL:ASMDISK4G1
Modifying the header
Completed phase 2
Terminating kgfd context 0x7fa6c2bee0a0


--mount新的diksgroup dgasmdb_new
$ asmcmd mount dgasmdb_new


--查看新的diskgroup信息
SQL> select GROUP_NUMBER,name,state,type, offline_disks, ALLOCATION_UNIT_SIZE,BLOCK_SIZE,TOTAL_MB,FREE_MB from v$asm_diskgroup;
GROUP_NUMBER NAME       STATE    TYPE   OFFLINE_DISKS ALLOCATION_UNIT_SIZE BLOCK_SIZE   TOTAL_MB    FREE_MB
------------ ----------- -------- ------ ------------- -------------------- ---------- ---------- ----------
           1 DGASMDB_NEW MOUNTED  EXTERN             0              1048576       4096       3992       1879

--修改DB 初始化参数(/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initasmdb.ora)配置信息
原来:SPFILE='+DGASMDB/asmdb/spfileasmdb.ora'
修改后:SPFILE='+DGASMDB_NEW/asmdb/spfileasmdb.ora'


--启动数据库nomount
su - oracle
sqlplus / as sysdba
startup nomount;


--修改control_files参数:
SQL> alter system set control_files='+DGASMDB_NEW/asmdb/controlfile/current.256.856653049' scope=spfile;
SQL> shutdown immediate;
SQL> startup mount;
SQL> show parameter control_files
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_files                        string      +DGASMDB_NEW/asmdb/controlfile
                                                 /current.256.856653049

--确认当前记录的datafile还是位于原来diskgroup DGASMDB
SQL> select FILE#,name from v$datafile;
     FILE# NAME
---------- ----------------------------------------------------------------------------------------------------
         1 +DGASMDB/asmdb/datafile/system.260.856653053
         2 +DGASMDB/asmdb/datafile/sysaux.261.856653059
         3 +DGASMDB/asmdb/datafile/undotbs1.262.856653061
         4 +DGASMDB/asmdb/datafile/users.264.856653075
         5 +DGASMDB/asmdb/datafile/asm_test.dbf

SQL> select file#, name from v$tempfile;
     FILE# NAME
---------- --------------------------------------------------------------------------------
         1 +DGASMDB/asmdb/tempfile/temp.263.856653061
--修改datafile/tempfile位置:
SQL> conn / as sysdba
SQL> ALTER DATABASE RENAME FILE '+DGASMDB/asmdb/datafile/system.260.856653053' TO '+DGASMDB_NEW/asmdb/datafile/system.260.856653053';
SQL> ALTER DATABASE RENAME FILE '+DGASMDB/asmdb/datafile/sysaux.261.856653059' TO '+DGASMDB_NEW/asmdb/datafile/sysaux.261.856653059';
SQL> ALTER DATABASE RENAME FILE '+DGASMDB/asmdb/datafile/undotbs1.262.856653061' TO '+DGASMDB_NEW/asmdb/datafile/undotbs1.262.856653061';
SQL> ALTER DATABASE RENAME FILE '+DGASMDB/asmdb/datafile/users.264.856653075' TO '+DGASMDB_NEW/asmdb/datafile/users.264.856653075';
SQL> ALTER DATABASE RENAME FILE '+DGASMDB/asmdb/datafile/asm_test.dbf' TO '+DGASMDB_NEW/asmdb/datafile/asm_test.dbf';
SQL> ALTER DATABASE RENAME FILE '+DGASMDB/asmdb/tempfile/temp.263.856653061' TO '+DGASMDB_NEW/asmdb/tempfile/temp.263.856653061';

--修改后确认:
SQL> select FILE#,name from v$datafile;
     FILE# NAME
---------- ----------------------------------------------------------------------------------------------------
         1 +DGASMDB_NEW/asmdb/datafile/system.260.856653053
         2 +DGASMDB_NEW/asmdb/datafile/sysaux.261.856653059
         3 +DGASMDB_NEW/asmdb/datafile/undotbs1.262.856653061
         4 +DGASMDB_NEW/asmdb/datafile/users.264.856653075
         5 +DGASMDB_NEW/asmdb/datafile/asm_test.dbf
--修改redo log位置
alter database rename file '+DGASMDB/asmdb/onlinelog/group_1.257.856653049' to '+DGASMDB_NEW/asmdb/onlinelog/group_1.257.856653049';
alter database rename file '+DGASMDB/asmdb/onlinelog/group_2.258.856653051' to '+DGASMDB_NEW/asmdb/onlinelog/group_2.258.856653051';
alter database rename file '+DGASMDB/asmdb/onlinelog/group_3.259.856653051' to '+DGASMDB_NEW/asmdb/onlinelog/group_3.259.856653051';
select * from v$logfile;

--启动数据库
SQL> alter database open;  

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25462274/viewspace-2141856/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25462274/viewspace-2141856/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值