
Oracle RMAN/Backup&Recovery
文章平均质量分 82
aaron8219
专注于Oracle、MySQL等数据库领域的技术,努力成为技术达人。
Focusing on Database Technologies,struggling to become the Acer.
展开
-
RMAN常用命令
连接到目标数据库(不使用恢复目录数据库)$rman target / nocatalog显示rman配置RMAN> show all;报告目标数据库的物理结构RMAN> report schema;报告陈旧备份RMAN> report obsolete;报告不可恢复的数据文件RMAN> report unrecoverable;列出备份信息RMAN> l转载 2014-02-23 18:45:39 · 1017 阅读 · 0 评论 -
以TSPITR方式恢复表空间数据一例
通常见到的还原操作,都是将所有的表空间和数据还原到相同的一个时间点上,无论是否是故障恢复点。而TSPITR则是以表空间为粒度单元,单独将某个表空间内容还原到一个特定可恢复时间点上。举一个例子:一个Oracle数据库运行在归档模式下,在夜间22点保留一份完全备份。早上8点时候,某个特定表空间上数据表(单个表独占表空间)发生一个误操作,数据损坏。要求在不伤害其他数据表数据的情况下,将表空间数据原创 2014-12-26 22:26:48 · 911 阅读 · 0 评论 -
MAXPIECESIZE与FORMAT参数设置不合理导致RMAN备份失败
今天去客户那里搭建DG,当创建RMAN备份集的时候,遇到了个问题,导致备份集始终无法生成,由于客户的备份集为10G左右,一次备份就要一个多小时,开始浪费了不少时间,诊断后发现,原来问题出在MAXPIECESIZE上,下面自己做了个测试,来说明这个故障现象和解决方法:[root@ora10g ~]# su - oracle[oracle@ora10g ~]$ sqlp原创 2014-12-24 15:45:46 · 1675 阅读 · 0 评论 -
索引表空间损坏的恢复(无RMAN备份集、热备份)
有时候为了考虑数据库的I/O性能,我们可能会考虑把索引表空间和数据表空间分开存放。索引被删除后,影响的仅仅是数据库的性能(原来走索引的执行计划,只能走全表扫描了),但不会使数据库丢数据,因此,只要重建索引即可,问题不大。那么问题来了,如果忘记了之前创建索引用到的语句,该怎么恢复索引呢?而且是在没有RMAN备份集、热备份的情况下--创建索引表空间SQL> create t原创 2014-11-29 20:28:28 · 866 阅读 · 0 评论 -
无备份情况下表空间损坏的恢复
之前实验做的表空间恢复是基于有热备的情况,那么再既没有热备,也没有RMAN备份集的情况下,丢失的表空间数据还能恢复吗?下面来看测试:--查看现有表空间SQL> select name from v$datafile;NAME------------------------------------------------------------原创 2014-11-30 21:40:28 · 1143 阅读 · 0 评论 -
用热备+归档恢复损坏的非系统表空间
通常,我们都是用RMAN去还原数据文件,再利用归档做恢复,如果没有有效的备份集,但是有热备份生成的文件,那么一样可以进行恢复,这里演示的是非系统表空间对应的数据文件损坏后的恢复。--首先获取热备份的语句SQL> select 'alter tablespace '||tablespace_name|| ' begin backup;' 2 ||chr(原创 2014-11-29 19:48:23 · 1074 阅读 · 0 评论 -
无RMAN备份集情况下的坏块恢复
测试的环境是没有可用的RMAN备份集,但是有数据文件的热备,下面来看测试:--创建测试用户和测试表[oracle@ora10g ~]$ sqlplus / as sysdbaSQL*Plus: Release 10.2.0.1.0 - Production on 16 16:01:02 2014Copyright (c) 1982, 2005, Oracle原创 2014-11-26 20:33:11 · 1687 阅读 · 0 评论 -
RMAN异机恢复步骤及故障处理
一、测试机安装OS+Oracle Software,包括配置oracle用户组和环境变量(略)二、开始异机恢复1. 复制源库最新备份集、初始化参数、密码文件到测试机[oracle@ora10g backupsets]$ scp *20141012* 192.168.1.213:/tmpThe authenticity of host '192.168.1.213原创 2014-10-12 21:20:14 · 5852 阅读 · 0 评论 -
使用RMAN备份时应如何处置归档日志文件
昨天去某客户部署RMAN备份,在跑shell脚本的时候,提示找不到归档日志,因为客户那里之前只对数据库做EXPDP逻辑导出备份,并且每天都自动删除前一天的归档,每个归档的生成量大概在200M左右,因为考虑磁盘空间比较紧张,不得已而为之。在我的脚本中,是采用backup database format 'xxx' plus archivelog format 'xxx'的方式进行备份的,原创 2014-09-24 14:21:47 · 2576 阅读 · 0 评论 -
current online redo logfile 丢失的处理方法
昨天做了rm -rf操作后的恢复演练,而且是在没有任何备份的情况下。今天在做破坏性操作前,做了个rman全备,然后在线删除全部数据库文件,包括控制文件,数据文件,在线日志文件,归档文件等。来看看有什么方法可以让数据库恢复运行,由于是current redo logfile丢失,那么本次测试是会丢失数据的,所以可以作为不完全恢复的一个案例。--登入数据库进行dml操作[oracle@ora10g ~]$ sqlplus / as sysdbaSQL*Plus: Release 10.2.0.1.0原创 2014-08-26 17:09:04 · 1311 阅读 · 0 评论 -
在线删除全部数据文件的恢复案例
--查看数据库状态SQL> select open_mode from v$database;OPEN_MODE----------READ WRITE--创建测试表SQL> create table zlm.test2 as select object_id id,object_name name from dba_obje原创 2014-09-19 17:31:10 · 1218 阅读 · 0 评论 -
在归档模式下删除非系统文件的恢复
众所周知,我们的核心生产数据库通常都是在归档模式下运行的,更不用说还配置DG环境的了。开启归档,并保证所有归档不丢失,就能保证我们对数据库所做的任何修改不会丢失,归档日志可谓是恢复的根本,如果丢失归档,那么即使RMAN功能再强大,也无法对丢失的数据进行恢复。所以我们通常配置的RMAN策略就是全备+归档+控制文件自动备份。这里的归档不是指数据库创建以来生成的归档(那量也太大了),而是当进行RMAN非原创 2014-09-18 16:45:38 · 1170 阅读 · 0 评论 -
RAC-DG搭建步骤及一些应用分析
今天的实验内容是RAC-DG的搭建及一些测试,并就在实验中遇到的一些错误进行分析并解决环境:11.2.0.3+oel5.7rac1:zlm1 192.168.1.171 zlm1-vip 192.168.1.172 zlm1-priv 172.168.1.192rac2:zlm2 192.168.1.173 zlm2-vip 192.168.1.174 zlm2-p原创 2013-08-17 22:32:52 · 2634 阅读 · 0 评论 -
RMAN备份FORMAT格式中%的含义
使用格式串先看例子:Configure channel 1 device type disk format 'd:/backup/orcl/backup_%U';在configure 命令中经常使用格式串,在backup,resotre,allocate channel 等其他RMAN 命令中也会经常看到格式串。RMAN 提供了与格式串关联的一些语法元素。 这些元素称: 占位符, rman转载 2014-07-16 10:49:05 · 1949 阅读 · 0 评论 -
online redo日志文件损坏恢复
online redo日志文件对数据库是非常重要的,当current日志文件损坏,通常就意味着要丢失数据,但是也不是绝对的,可以通过一定的手段对redo日志文件进行恢复,运气好的话,未提交数据还是不会丢失的。[oracle@zlm2 backup]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.3.0 Produc原创 2014-12-31 23:43:21 · 1057 阅读 · 0 评论