移动ASM上的数据文件至文件系统

本文详细介绍了如何在Oracle数据库运行时或关闭状态下,通过RMAN工具将数据文件从ASM移动到文件系统的方法,包括离线表空间操作、COPY数据文件、更新控制文件及验证数据文件等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

测试环境: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删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值