共计 4227 个字符,预计需要花费 11 分钟才能阅读完成。
在运维操作过程中会出现一些失误,针对在使用 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,此文件名为不符合创建规则,在后期维护中也有其弊端。
二、查看已经创建好的测试数据。
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 ONLINE
三、在 11.2 中已经支持在线对数据文件进行重命名,不需要对表空间进行 offline, 只需要将操作数据文件进行 offline 即可。
SQL> alter database datafile 7 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 来查看已经存在的别名。
ASMCMD> 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> rmalias alias pandy_dat_02.db
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>
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
七:将不规则的 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;
Media recovery complete.
九、将操作文件置为 online.
SQL> alter database 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 暂停。
更多 Oracle 相关信息见 Oracle 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=12
: