ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 移动数据文件从ASM到文件系统

移动数据文件从ASM到文件系统

原创 Linux操作系统 作者:liglewang 时间:2011-09-16 00:05:55 0 删除 编辑

测试环境:ORACLE 10.2.0.4 + ASM

有两种方法可以实现从ASM到文件系统的数据文件移动

1、  数据库RUNNING状态

在数据库处于OPEN状态时,要想移动数据库从ASM到文件系统,则必须使相关表空间OFFLINE

1.1、        确认被移动数据文件所在表空间

SQL> select tablespace_name,file_name from dba_data_files where file_id=5; 
TABLESPACE_NAME                FILE_NAME
------------------------------ -----------------------------------------------
OCPTBS                         +XINER_DATA/xiner/datafile/ocptbs.268.745970939

1.2、        离线表空间OCPTBS

SQL> alter tablespace OCPTBS offline;
Tablespace altered.

1.3、        登录RMAN并COPY数据库从ASM到文件系统

RMAN> copy datafile 5 to '/home/oracle/wangz/liglewang.dbf';
Starting backup at 07-APR-2011 02:45:56
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=153 devtype=DISK
channel ORA_DISK_1: starting datafile copy
input datafile fno=00005 name=+XINER_DATA/xiner/datafile/ocptbs.268.745970939
output filename=/home/oracle/wangz/liglewang.dbf tag=TAG20110407T024557 recid=1 stamp=747801964
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07
Finished backup at 07-APR-2011 02:46:05
Starting Control File and SPFILE Autobackup at 07-APR-2011 02:46:05
piece handle=/u01/app/oracle/product/10.2.0/db_1/dbs/c-4034639180-20110407-01 comment=NONE
Finished Control File and SPFILE Autobackup at 07-APR-2011 02:46:08

1.4、        更新控制文件以使其可识别到新路径下的数据文件

SQL> alter database rename file '+XINER_DATA/xiner/datafile/ocptbs.268.745970939' to '/home/oracle/wangz/liglewang.dbf';
Database altered.

1.5、        验证数据文件

SQL> select tablespace_name,file_name from dba_data_files where file_id=5;
TABLESPACE_NAME                FILE_NAME
------------------------------ -----------------------------------------------
OCPTBS                         /home/oracle/wangz/liglewang.dbf

1.6、        ONLINE表空间

SQL> alter tablespace OCPTBS online;
Tablespace altered.

                     至此,ASM中的数据文件5已被成功移动到了文件系统。

2、  数据库处于MOUNT状态或者SHUTDOWN

2.1、先shutdown然后再mount

SQL> shutdown immediate
SQL> startup mount

2.2、使用RMAN进行COPY

RMAN> copy datafile 4 to '/home/oracle/users.dbf';

2.3、更新控制文件以使其可识别到新路径下的数据文件

SQL> alter database rename file '+XINER_DATA/xiner/datafile/users.266.745002877' to '/home/oracle/users.dbf';
Database altered.

2.4、查询字典DBA_DATA_FILES验证数据库,然后打开数据库

SQL> alter database open;
Database altered.

 

以上两种方式都是通过RMAN进行COPY的,并且COPY后,ASM上的数据库文件会自动被Oracle删除。参考文档:

Metalink: How to move a datafile from ASM to the file system [ID 390416.1]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25834554/viewspace-707640/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-09-02

  • 博文量
    52
  • 访问量
    320718