在運維操作過程中會出現一些失誤,針對在使用ASM磁盤管理下,給表空間添加數據文件,添加的數據文件不符合創建規則,因此需要對數據文件進行rename操作,關於使用文件系統的rename操作網上已經有很多,在此不在多講。
一、首先創建測試的表空間及數據文件。
SQL> create tablespace pandy datafile '+DG_DAT/zxnora/datafile/pandy_dat_01.dbf' size 200m autoextend on next 100m maxsize 200m extent management local;
Tablespace created.
SQL> alter tablespace pandy add datafile '+DG_DAT/zxnora/datafile/pandy_dat_02.db' size 200m autoextend on next 100m maxsize 2000m;
Tablespace altered.
注:+DG_DAT/zxnora/datafile/pandy_dat_02.db,此文件名爲不符合創建規則,在後期維護中也有其弊端。
二、查看已經創建好的測試數據。
FILE_NAME TABLESPACE_NAME FILE_ID ONLINE_
--------------------------------------------- ------------------------------ ---------- -------
+DG_DAT/zxnora/datafile/pandy_dat_01.dbf PANDY 6 ONLINE
+DG_DAT/zxnora/datafile/pandy_dat_02.db PANDY 7 ONLINE
三、在11.2中已經支持在線對數據文件進行重命名,不需要對錶空間進行offline,只需要將操作數據文件進行offline即可。
Database altered.
SQL> select file_name,tablespace_name,file_id,online_status from dba_data_files where tablespace_name='PANDY';
FILE_NAME TABLESPACE_NAME FILE_ID ONLINE_
--------------------------------------------- ------------------------------ ---------- -------
+DG_DAT/zxnora/datafile/pandy_dat_01.dbf PANDY 6 ONLINE
+DG_DAT/zxnora/datafile/pandy_dat_02.db PANDY 7 RECOVER
四、在ASM磁盤組中提供了mkalias和rmalias兩個命令來對ASM創建的single-file文件進行別名操作。能過 ls --absolutepath 來查看已經存在的別名。
+DG_DAT/ZXNORA/DATAFILE/pandy_dat_01.dbf => PANDY.309.933774621
+DG_DAT/ZXNORA/DATAFILE/pandy_dat_02.db => PANDY.311.933778649
none => SYSAUX.257.933178281
none => SYSTEM.256.933178281
none => UNDOTBS1.258.933178281
none => UNDOTBS2.271.933178505
none => USERS.259.933178281
pandy_dat_01.dbf
pandy_dat_02.db
五、在ASMCMD模式下,刪除有問題文件別名。
ASMCMD-8002: entry 'alias' does not exist in directory '+dg_dat/ZXNORA/datafile/'
ASMCMD> ls -l
Type Redund Striped Time Sys Name
DATAFILE MIRROR COARSE JAN 20 13:00:00 Y PANDY.309.933774621
DATAFILE MIRROR COARSE JAN 20 15:00:00 Y PANDY.311.933778649
DATAFILE MIRROR COARSE JAN 20 12:00:00 Y SYSAUX.257.933178281
DATAFILE MIRROR COARSE JAN 17 16:00:00 Y SYSTEM.256.933178281
DATAFILE MIRROR COARSE JAN 17 16:00:00 Y UNDOTBS1.258.933178281
DATAFILE MIRROR COARSE JAN 17 16:00:00 Y UNDOTBS2.271.933178505
DATAFILE MIRROR COARSE JAN 17 16:00:00 Y USERS.259.933178281
N pandy_dat_01.dbf => +DG_DAT/ZXNORA/DATAFILE/PANDY.309.933774621
六、在ASMCMD模式下,創建文件別名。
ASMCMD> mkalias PANDY.311.933778649 pandy_dat_02.dbf
ASMCMD>
+DG_DAT/ZXNORA/DATAFILE/pandy_dat_01.dbf => PANDY.309.933774621
+DG_DAT/ZXNORA/DATAFILE/pandy_dat_02.dbf => PANDY.311.933778649
none => SYSAUX.257.933178281
none => SYSTEM.256.933178281
none => UNDOTBS1.258.933178281
none => UNDOTBS2.271.933178505
none => USERS.259.933178281
pandy_dat_01.dbf
pandy_dat_02.dbf
七:將不規則的single-file文件進行規則rename操作。
SQL> alter database rename file '+DG_DAT/zxnora/datafile/pandy_dat_02.db' to '+DG_DAT/zxnora/datafile/pandy_dat_02.dbf';
Database altered.
八、在變更了數據文件之後需要對操作文件進行recover操作。
SQL> recover datafile 7;
九、將操作文件置爲online.
Database altered.
SQL> select file_name,tablespace_name,file_id,online_status from dba_data_files where tablespace_name='PANDY';
FILE_NAME TABLESPACE_NAME FILE_ID ONLINE_
--------------------------------------------- ------------------------------ ---------- -------
+DG_DAT/zxnora/datafile/pandy_dat_01.dbf PANDY 6 ONLINE
+DG_DAT/zxnora/datafile/pandy_dat_02.dbf PANDY 7 ONLINE
十、刪除測試表空間及asm磁盤組的底層文件。
SQL> drop tablespace pandy;
Tablespace dropped.
ASMCMD> ls --absolutepath
+DG_DAT/ZXNORA/DATAFILE/pandy_dat_01.dbf => PANDY.309.933774621
+DG_DAT/ZXNORA/DATAFILE/pandy_dat_02.dbf => PANDY.311.933778649
none => SYSAUX.257.933178281
none => SYSTEM.256.933178281
none => UNDOTBS1.258.933178281
none => UNDOTBS2.271.933178505
none => USERS.259.933178281
pandy_dat_01.dbf
pandy_dat_02.dbf
ASMCMD> rm pandy_dat_01.dbf
ASMCMD> rm pandy_dat_02.dbf
提示:在對於有業務運行時段需要將業務暫停,在有ogg實時同步時,需要將ogg 暫停。