oracle 11g移动数据文件到其他磁盘组

来源:这里教程网 时间:2026-03-03 11:58:46 作者:

目标:将USERS表空间数据文件从RAC_DATA磁盘组移动到MING磁盘组。 这里不用alter database move datafile那种方式,直接用rman copy,然后switch一下就可以了。 首先修改数据库为归档模式 SQL> alter system set log_archive_dest_1='LOCATION=/arch1' scope=spfile sid='ractest1'; System altered. SQL> alter system set log_archive_dest_1='LOCATION=/arch2' scope=spfile sid='ractest2'; System altered. 重启数据库 srvctl stop database -d ractest srvctl start database -d ractest -o mount sqlplus / as sysdba alter database archivelog; alter database open;  --两个节点 查看要被移动的数据文件 rman target / RMAN> report schema; Report of database schema for database with db_unique_name RACTEST List of Permanent Datafiles =========================== File Size(MB) Tablespace           RB segs Datafile Name ---- -------- -------------------- ------- ------------------------ 1    690      SYSTEM               ***     +RAC_DATA/ractest/system01.dbf 2    510      SYSAUX               ***     +RAC_DATA/ractest/sysaux01.dbf 3    110      UNDOTBS1             ***     +RAC_DATA/ractest/undotbs01.dbf 4    15       USERS                ***     +RAC_DATA/ractest/users01.dbf 5    100      EXAMPLE              ***     +RAC_DATA/ractest/example01.dbf 6    25       UNDOTBS2             ***     +RAC_DATA/ractest/undotbs02.dbf 7    100      TBS_MING             ***     +MING/ractest/datafile/tbs_ming.256.982218743 List of Temporary Files ======================= File Size(MB) Tablespace           Maxsize(MB) Tempfile Name ---- -------- -------------------- ----------- -------------------- 1    30       TEMP                 32767       +RAC_DATA/ractest/temp01.dbf 拷贝数据文件 RMAN> BACKUP AS COPY 2> DATAFILE "+RAC_DATA/ractest/users01.dbf" 3> FORMAT   "+MING"; Starting backup at 11-SEP-18 using channel ORA_DISK_1 channel ORA_DISK_1: starting datafile copy input datafile file number=00004 name=+RAC_DATA/ractest/users01.dbf output file name=+MING/ractest/datafile/users.257.986536253 tag=TAG20180911T055052 RECID=2 STAMP=986536257 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07 Finished backup at 11-SEP-18 asmcmd中查看已经成功复制 ASMCMD> ls TBS_MING.256.982218743 USERS.257.986536253 离线数据文件 RMAN> SQL "ALTER DATABASE DATAFILE 2>        ''+RAC_DATA/ractest/users01.dbf'' OFFLINE"; sql statement: ALTER DATABASE DATAFILE        ''+RAC_DATA/ractest/users01.dbf'' OFFLINE 查看数据文件状态 SQL> col name for a30 SQL> select name,status from v$datafile where name like '%user%'; NAME                           STATUS ------------------------------ ------- +RAC_DATA/ractest/users01.dbf  RECOVER 更新控制文件中的信息 RMAN> SWITCH DATAFILE "+RAC_DATA/ractest/users01.dbf" TO COPY; datafile 4 switched to datafile copy "+MING/ractest/datafile/users.257.986536253" recover数据文件 RMAN> SWITCH DATAFILE "+RAC_DATA/ractest/users01.dbf" TO COPY; datafile 4 switched to datafile copy "+MING/ractest/datafile/users.257.986536253" RMAN> RECOVER DATAFILE "+MING/ractest/datafile/users.257.986536253"; Starting recover at 11-SEP-18 using channel ORA_DISK_1 starting media recovery media recovery complete, elapsed time: 00:00:07 Finished recover at 11-SEP-18 online数据文件 RMAN> SQL "ALTER DATABASE DATAFILE 2>       ''+MING/ractest/datafile/users.257.986536253'' ONLINE"; sql statement: ALTER DATABASE DATAFILE      ''+MING/ractest/datafile/users.257.986536253'' ONLINE 查看数据文件状态 NAME                                               STATUS -------------------------------------------------- ------- +MING/ractest/datafile/users.257.986536253         ONLINE 删除旧的磁盘组中的复制文件 RMAN> DELETE DATAFILECOPY "+RAC_DATA/ractest/users01.dbf"; released channel: ORA_DISK_1 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=33 instance=ractest1 device type=DISK List of Datafile Copies ======================= Key     File S Completion Time Ckp SCN    Ckp Time ------- ---- - --------------- ---------- --------------- 3       4    A 11-SEP-18       1178882    11-SEP-18 Name: +RAC_DATA/ractest/users01.dbf Do you really want to delete the above objects (enter YES or NO)? YES deleted datafile copy datafile copy file name=+RAC_DATA/ractest/users01.dbf RECID=3 STAMP=986536580 Deleted 1 objects RMAN> REPORT SCHEMA; Report of database schema for database with db_unique_name RACTEST List of Permanent Datafiles =========================== File Size(MB) Tablespace           RB segs Datafile Name ---- -------- -------------------- ------- ------------------------ 1    690      SYSTEM               ***     +RAC_DATA/ractest/system01.dbf 2    510      SYSAUX               ***     +RAC_DATA/ractest/sysaux01.dbf 3    110      UNDOTBS1             ***     +RAC_DATA/ractest/undotbs01.dbf 4    15       USERS                ***     +MING/ractest/datafile/users.257.986536253 5    100      EXAMPLE              ***     +RAC_DATA/ractest/example01.dbf 6    25       UNDOTBS2             ***     +RAC_DATA/ractest/undotbs02.dbf 7    100      TBS_MING             ***     +MING/ractest/datafile/tbs_ming.256.982218743 List of Temporary Files ======================= File Size(MB) Tablespace           Maxsize(MB) Tempfile Name ---- -------- -------------------- ----------- -------------------- 1    30       TEMP                 32767       +RAC_DATA/ractest/temp01.dbf

相关推荐