Oracle 11.2.0.4 使用ASM磁盘组条件下对应用数据表空间文件的

在运维操作过程中会出现一些失误,针对在使用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 暂停。

相关推荐