您好,欢迎访问一九零五行业门户网

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

最近被asm折腾的够呛。昨天碰到一客户,数据库使用的是win2008+rac+asm。由于emc存储问题,导致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,拷贝数据文件,控制文件,日志文件
引用
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;
/
二是使用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
其它类似信息

推荐信息