rac下asm管理的表空間-數據文件的重命名


asm下表空間的重命名與普通文件系統下的表空間重命名原理是一樣的,只不過asm管理的數據文件有一些需要注意的地方,另外在asm下操作數據文件需要格外小心,稍有不慎將會造成數據文件丟失,如可以做備份最好需要備份。

需求:公司rac數據庫asm存儲原本采用normal模式,現在給數據庫做了備份策略,不想在使用normal模式的asm管理,這樣日常管理太浪費時間,為了平滑遷移,我新添加了一個磁盤組oradata,把日后增加的數據文件首先添加到oradata磁盤組下,然后沒有業務發生時再去遷移原始數據。

實施步驟:

1、原始文件存儲data磁盤組:

ASMCMD [+data/orcl/datafile] > ls -l

Type      Redund  Striped  Time             Sys  Name

DATAFILE  MIRROR  COARSE   JUN 27 14:00:00  Y    EFMIS.268.907265611

DATAFILE  MIRROR  COARSE   JUN 27 14:00:00  Y    EFMIS.269.911467049

DATAFILE  MIRROR  COARSE   JUN 27 14:00:00  Y    EFMIS.270.911467085

DATAFILE  MIRROR  COARSE   JUN 27 14:00:00  Y    EFMIS.271.913894971

DATAFILE  MIRROR  COARSE   JUN 27 14:00:00  Y    EFMIS.272.915559085

DATAFILE  MIRROR  COARSE   JUN 27 14:00:00  Y    EFMIS.273.915613859

DATAFILE  MIRROR  COARSE   JUN 27 14:00:00  Y    SYSAUX.257.907264709

DATAFILE  MIRROR  COARSE   JUN 27 14:00:00  Y    SYSTEM.256.907264709

DATAFILE  MIRROR  COARSE   JUN 27 14:00:00  Y    UNDOTBS1.258.907264709

DATAFILE  MIRROR  COARSE   JUN 27 14:00:00  Y    UNDOTBS2.264.907264867

DATAFILE  MIRROR  COARSE   JUN 27 14:00:00  Y    USERS.259.907264709

                                            N    efmis01.dbf => +DATA/ORCL/DATAFILE/EFMIS.268.907265611

                                            N    efmis02.dbf => +DATA/ORCL/DATAFILE/EFMIS.269.911467049

                                            N    efmis03.dbf => +DATA/ORCL/DATAFILE/EFMIS.270.911467085

                                            N    efmis04.dbf => +DATA/ORCL/DATAFILE/EFMIS.271.913894971

                                            N    efmis05.dbf => +DATA/ORCL/DATAFILE/EFMIS.272.915559085

                                            N    efmis06.dbf => +DATA/ORCL/DATAFILE/EFMIS.273.915613859

2、目標文件存儲oradata磁盤組:

ASMCMD [+oradata/orcl/datafile] > ls -l

Type      Redund  Striped  Time             Sys  Name

DATAFILE  UNPROT  COARSE   JUN 27 22:00:00  Y    EFMIS.256.915634603

DATAFILE  UNPROT  COARSE   JUN 27 22:00:00  Y    EFMIS.257.915634643

DATAFILE  UNPROT  COARSE   JUN 27 22:00:00  Y    EFMIS.258.915634663

DATAFILE  UNPROT  COARSE   JUN 27 22:00:00  Y    EFMIS.259.915634679

                                         N efmis07.dbf => +ORADATA/ORCL/DATAFILE/EFMIS.256.915634603

                                         N efmis08.dbf => +ORADATA/ORCL/DATAFILE/EFMIS.257.915634643

                                         N  efmis09.dbf => +ORADATA/ORCL/DATAFILE/EFMIS.258.915634663

                                         N efmis10.dbf => +ORADATA/ORCL/DATAFILE/EFMIS.259.915634679

3、這里需要將data磁盤組下的efmis數據表空間下的文件都遷移到oradata下:

1)首先關閉數據庫:

[grid@node2 ~]$ serctl stop database -d orcl

2)啟動數據庫一個節點實例到mount狀態(也可以open下遷移數據,這里因為數據庫暫時不會發生業務,所以直接在mount下遷移)並查詢數據庫數據文件組成:

[oracle@node1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Mon Jun 27 22:28:42 2016

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup mount

ORACLE instance started.

Total System Global Area 4275781632 bytes

Fixed Size     2260088 bytes

Variable Size  1073742728 bytes

Database Buffers  3187671040 bytes

Redo Buffers    12107776 bytes

Database mounted.

SQL> select name from v$datafile;

NAME

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

+DATA/orcl/datafile/system.256.907264709

+DATA/orcl/datafile/sysaux.257.907264709

+DATA/orcl/datafile/undotbs1.258.907264709

+DATA/orcl/datafile/users.259.907264709

+DATA/orcl/datafile/undotbs2.264.907264867

+DATA/orcl/datafile/efmis01.dbf

+DATA/orcl/datafile/efmis02.dbf

+DATA/orcl/datafile/efmis03.dbf

+DATA/orcl/datafile/efmis04.dbf

+DATA/orcl/datafile/efmis05.dbf

+DATA/orcl/datafile/efmis06.dbf

+ORADATA/orcl/datafile/efmis07.dbf

+ORADATA/orcl/datafile/efmis08.dbf

+ORADATA/orcl/datafile/efmis09.dbf

+ORADATA/orcl/datafile/efmis10.dbf

15 rows selected.

3)asm上遷移物理文件:

ASMCMD [+data/orcl/datafile] > cp +DATA/ORCL/DATAFILE/EFMIS.273.915613859 +ORADATA/ORCL/DATAFILE/efmis06.dbf

copying +DATA/ORCL/DATAFILE/EFMIS.273.915613859 -> +ORADATA/ORCL/DATAFILE/efmis06.dbf

ASMCMD [+data/orcl/datafile] > cp +DATA/ORCL/DATAFILE/EFMIS.272.915559085 +ORADATA/ORCL/DATAFILE/efmis05.dbf

copying +DATA/ORCL/DATAFILE/EFMIS.272.915559085 -> +ORADATA/ORCL/DATAFILE/efmis05.dbf

ASMCMD [+data/orcl/datafile] > cp +DATA/ORCL/DATAFILE/EFMIS.271.913894971 +ORADATA/ORCL/DATAFILE/efmis04.dbf

copying +DATA/ORCL/DATAFILE/EFMIS.271.913894971 -> +ORADATA/ORCL/DATAFILE/efmis04.dbf

ASMCMD [+data/orcl/datafile] > cp +DATA/orcl/datafile/EFMIS.270.911467085 +ORADATA/orcl/datafile/efmis03.dbf

copying +DATA/orcl/datafile/EFMIS.270.911467085 -> +ORADATA/orcl/datafile/efmis03.dbf

ASMCMD [+data/orcl/datafile] > cp +DATA/ORCL/DATAFILE/EFMIS.269.911467049 +ORADATA/ORCL/DATAFILE/efmis02.dbf

copying +DATA/ORCL/DATAFILE/EFMIS.269.911467049 -> +ORADATA/ORCL/DATAFILE/efmis02.dbf

ASMCMD [+data/orcl/datafile] > cp +DATA/ORCL/DATAFILE/EFMIS.268.907265611 +ORADATA/orcl/datafile/efmis01.dbf

copying +DATA/ORCL/DATAFILE/EFMIS.268.907265611 -> +ORADATA/orcl/datafile/efmis01.dbf

ASMCMD [+data/orcl/datafile] > cp USERS.259.907264709 +ORADATA/orcl/datafile/USERS

copying +data/orcl/datafile/USERS.259.907264709 -> +ORADATA/orcl/datafile/USERS

ASMCMD [+oradata/orcl/datafile] > ls -l

Type      Redund  Striped  Time             Sys  Name

DATAFILE  UNPROT  COARSE   JUN 27 23:00:00  Y    EFMIS.256.915634603

DATAFILE  UNPROT  COARSE   JUN 27 23:00:00  Y    EFMIS.257.915634643

DATAFILE  UNPROT  COARSE   JUN 27 23:00:00  Y    EFMIS.258.915634663

DATAFILE  UNPROT  COARSE   JUN 27 23:00:00  Y    EFMIS.259.915634679

                                   N    USERS => +ORADATA/ASM/DATAFILE/USERS.266.915663721

                                   N efmis01.dbf => +ORADATA/ASM/DATAFILE/efmis01.dbf.265.915663163

                                   N efmis02.dbf => +ORADATA/ASM/DATAFILE/efmis02.dbf.264.915662267

                                   N efmis03.dbf => +ORADATA/ASM/DATAFILE/efmis03.dbf.263.915662067

                                   N efmis04.dbf => +ORADATA/ASM/DATAFILE/efmis04.dbf.262.915662031

                                   N efmis05.dbf => +ORADATA/ASM/DATAFILE/efmis05.dbf.261.915661983

                                   N efmis06.dbf => +ORADATA/ASM/DATAFILE/efmis06.dbf.260.915661893

                                   N    efmis07.dbf => +ORADATA/ORCL/DATAFILE/EFMIS.256.915634603

                                   N    efmis08.dbf => +ORADATA/ORCL/DATAFILE/EFMIS.257.915634643

                                   N    efmis09.dbf => +ORADATA/ORCL/DATAFILE/EFMIS.258.915634663

                                   N    efmis10.dbf => +ORADATA/ORCL/DATAFILE/EFMIS.259.915634679

4)數據庫下重命名數據文件:

SQL> alter database rename file '+DATA/orcl/datafile/efmis01.dbf' to '+ORADATA/orcl/datafile/efmis01.dbf';

Database altered.

SQL> alter database rename file '+DATA/orcl/datafile/efmis02.dbf' to '+ORADATA/orcl/datafile/efmis02.dbf';

Database altered.

SQL> alter database rename file '+DATA/orcl/datafile/efmis03.dbf' to '+ORADATA/orcl/datafile/efmis03.dbf';

Database altered.

SQL> alter database rename file '+DATA/orcl/datafile/efmis04.dbf' to '+ORADATA/orcl/datafile/efmis04.dbf';

Database altered.

SQL> alter database rename file '+DATA/orcl/datafile/efmis05.dbf' to '+ORADATA/orcl/datafile/efmis05.dbf';

Database altered.

SQL> alter database rename file '+DATA/orcl/datafile/efmis06.dbf' to '+ORADATA/orcl/datafile/efmis06.dbf';

Database altered.

SQL> alter database rename file '+DATA/orcl/datafile/users.259.907264709' to '+ORADATA/orcl/datafile/USERS';

Database altered.

5)查看遷移后數據文件分布情況:

SQL> SELECT NAME FROM V$DATAFILE;

NAME

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

+DATA/orcl/datafile/system.256.907264709

+DATA/orcl/datafile/sysaux.257.907264709

+DATA/orcl/datafile/undotbs1.258.907264709

+ORADATA/orcl/datafile/users

+DATA/orcl/datafile/undotbs2.264.907264867

+ORADATA/orcl/datafile/efmis01.dbf

+ORADATA/orcl/datafile/efmis02.dbf

+ORADATA/orcl/datafile/efmis03.dbf

+ORADATA/orcl/datafile/efmis04.dbf

+ORADATA/orcl/datafile/efmis05.dbf

+ORADATA/orcl/datafile/efmis06.dbf

+ORADATA/orcl/datafile/efmis07.dbf

+ORADATA/orcl/datafile/efmis08.dbf

+ORADATA/orcl/datafile/efmis09.dbf

+ORADATA/orcl/datafile/efmis10.dbf

15 rows selected.

6)打開數據庫:這里可以成功打開數據庫,證明數據文件遷移是沒有問題的。

SQL> alter database open;

Database altered.

7)設置grid管理數據庫

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> exit

[grid@node2 ~]$ srvctl start database -d orcl

8)查看目前集群軟件及數據庫運行狀態:

[grid@node2 ~]$ crsctl status resource -t

ora.asm

ONLINE  ONLINE       node1                    Started             

ONLINE  ONLINE       node2                    Started    

ora.orcl.db

1        ONLINE  ONLINE       node1                    Open                

2        ONLINE  ONLINE       node2                    Open                

ASMCMD [+oradata/orcl/datafile] > lsdg

State     Type       Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB    Voting_files  Name

MOUNTED  NORMAL    409592   358082           102398          127842           N  DATA/

MOUNTED  NORMAL    204796   204126                0          102063           N  FLASH/

MOUNTED  EXTERN     6134     5736                  0          5736             Y  GRIDDG/

MOUNTED  EXTERN     409594   255077                0          255077           N  ORADATA/

SQL> select name,round(total_mb/1024,2),round(free_mb/1024,2) from v$asm_diskgroup;

NAME      ROUND(TOTAL_MB/1024,2) ROUND(FREE_MB/1024,2)

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

DATA     399.99 349.69

FLASH 200 199.34

GRIDDG     5.99 5.6

ORADATA     399.99 249.1


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM