Welcome 微信登录

首页 / 数据库 / MySQL / 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,拷贝数据文件,控制文件,日志文件 引用
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 在Oracle中手工对任务进行分区的方法MySQL中创建Oracle学习用表相关资讯      oracle 
  • [INS-32052] Oracle基目录和Oracle  (07/22/2014 07:41:41)
  • Oracle 4个大对象(lobs)数据类型  (02/03/2013 12:33:05)
  • Oracle按时间段分组统计  (07/26/2012 10:36:48)
  • [Oracle] dbms_metadata.get_ddl的  (07/12/2013 07:37:30)
  • Liferay Portal 配置使用Oracle和  (07/31/2012 20:07:18)
  • Concurrent Request:Inactive   (07/20/2012 07:44:05)
本文评论 查看全部评论 (1)
表情: 姓名: 字数


评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
版权所有©石家庄振强科技有限公司2024 冀ICP备08103738号-5 网站地图