Oracle ASM环境下怎么进行数据库冷备

最近被ASM折腾的够呛。昨天碰到一客户,数据库使用的是WIN2008+RAC+ASM。由于EMC存储问题,导致ASM实例出问题,读不出数据,进而导致RAC出问题。折腾了2个小时,终于将ASM实例启动,将RAC转换成单节点。可悲的是,ASM磁盘组读取错误:select 表格出错,exp、expdp出错,rman拷贝出错。赶到客户现场,继续折腾,终于修复错误。回来的路上一直在思考一个问题,在ASM环境下,怎么做数据库的冷备?
一是Oracle提供了文件传输包DBMS_FILE_TRANSFER,用于传输ASM文件至文件系统中。简要步骤如下
1、同一主机下面建另一实例,用于运行DBMS_FILE_TRANSFER
2、在该实例上运行DBMS_FILE_TRANSFER,拷贝数据文件,控制文件,日志文件
[quote]CREATE DIRECTORY source_dir AS '+DATADG/ORADATA';
CREATE DIRECTORY dest_dir AS '/tmp';

BEGIN
DBMS_FILE_TRANSFER.COPY_FILE(
source_directory_object => 'source_dir',
source_file_name => 'user01.dbf',
destination_directory_object => 'dest_dir',
destination_file_name => 'user01.dbf');
END;
/[/quote]
二是使用ASM提供的ftp特性
1、同一主机下面建另一实例,用于传输ftp
2、用ftp传输相关文件

附:DBMS_FILE_TRANSFER使用限制
# The user must have read privilege on the source directory object and write privilege on the destination directory object.
# The procedure converts directory object names to uppercase unless they are surrounded by double quotes.
# Files to be copied must be multiples of 512 bytes in size.
# Files to be copied must be equal to or less than 2 terabytes in size.
# File transfers are not transactional.
# Files are copied as binary, so no character conversions are performed.
# File copies can be monitored using the V$SESSION_LONGOPS view
++++++++++++++++++++++++++
据一同事反映,Oracle 11g提供了ASM cp命令,允许在ASM磁盘组和操作系统文件之间互相拷贝。详见metalink doc 785580.1 451900.1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值