- 浏览: 87536 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
zuowoziji123:
跟thinking in java里写的一模一样 晕
匿名内部类的初始化 -
hbyandy:
...
组合模式 -
speedup:
jvmlover 写道zwzm85 写道淘宝研究生是6k--8 ...
阿里巴巴和淘宝的校园应聘经历 -
sdh5724:
30以后的技术人员才是真正的在玩技术, 公司投资那么多IT设备 ...
阿里巴巴和淘宝的校园应聘经历 -
former:
我觉得:
"30岁转行"这句话也许你没有说 ...
阿里巴巴和淘宝的校园应聘经历
连接到目标数据库(不用恢复目录数据库)
rman target / nocatalog
显示rman配置
RMAN> show all;
====================
报告目标数据库的物理结构
RMAN> report schema;
报告陈旧备份
RMAN> report obsolete;
报告不可恢复的数据文件
RMAN> report unrecoverable;
列出备份信息
RMAN> list backup;
RMAN> list backup of database;
RMAN> list backup of tablespace table_name;
RMAN> list backup of controlfile;
RMAN> list backup of spfile;
RMAN> list backupset id;
========================
校验备份信息:
RMAN> crosscheck backup;
RMAN> crosscheck backup of database;
RMAN> crosscheck backup of tablespace system;
RMAN> crosscheck backup of controlfile;
RMAN> crosscheck backup of spfile;
========================
删除备份
rman target / nocatalog
显示rman配置
RMAN> show all;
====================
报告目标数据库的物理结构
RMAN> report schema;
报告陈旧备份
RMAN> report obsolete;
报告不可恢复的数据文件
RMAN> report unrecoverable;
列出备份信息
RMAN> list backup;
RMAN> list backup of database;
RMAN> list backup of tablespace table_name;
RMAN> list backup of controlfile;
RMAN> list backup of spfile;
RMAN> list backupset id;
========================
校验备份信息:
RMAN> crosscheck backup;
RMAN> crosscheck backup of database;
RMAN> crosscheck backup of tablespace system;
RMAN> crosscheck backup of controlfile;
RMAN> crosscheck backup of spfile;
========================
删除备份
Use the
ALLOCATE CHANNEL FOR MAINTENANCE
command to manually allocate a channel in preparation for issuing a CHANGE
, DELETE
, or CROSSCHECK
command. You can use the RELEASE CHANNEL
command to unallocate the channel.
ALLOCATE CHANNEL FOR MAINTENANCE device type (disk,sbt ...)
RMAN> delete obsolete; -- 删除陈旧备份
RMAN> delete expired backup;
RMAN> delete backupset id;
RMAN> delete backup; -- 删除所有备份
1 列出对应物 RMAN>list incarnation;
2 列出备份
2.1概述可用的备份 RMAN>list backup summary;
B 表示 backup
F 表示 FULL
A 表示 archive log
0 1 表示 incremental backup
S 说明备份状态 (A AVAILABLE X EXPIRED )
2.2按备份类型列出备份 RMAN>list backup by file;
按照 数据文件备份,归档日志备份,控制文件备份,服务器参数文件备份 列出
2.3列出详细备份 RMAN>list backup;
2.4列出过期备份 RMAN>list expired backup;
2.5列出表空间和数据文件备份
list backup of tablespace 和list backup of datafile 输出和list backup 相似
如:list backup of tablespace user_tbs;
list backup of datafile 3;
2.6列出归档日志备份 RMAN>list archivelog all; 简要信息
RMAN>list backup of archivelog all; 详细信息
2.7列出控制文件和服务器参数文件
RMAN>list backup of controfile;
RMAN>list backup of spfile;
=====================================================
=====================================================
RMAN 的 report命令
1. 报告最近没有被备份的数据文件
RMAN>report need backup days=3;
2. 报告备份冗余或恢复窗口
RMAN>report need backup redundancy=2;
RMAN>report need backup recovery window of 2 days;
3. 报告数据文件的不可恢复操作
RMAN>report unrecoverable;
4. 报告数据库模式
RMAN>report schema;
5. 报告丢弃的备份
如果使用了保存策略,备份会标记为丢弃状态 RMAN>report obsolete; 删除丢弃状态备份RMAN>delete obsolete;
=====================================================
=====================================================
RMAN的crosscheck 命令
1 备份集有两种状态A(Available,RMAN认为该项存在于备份介质上)X(Expired,备份存在于控制文件或恢复目录中,但是并没有物理存在于备份介质上)
2 crosscheck 的目的是检查RMAN 的目录以及物理文件,如果物理文件不存在于介质上,将标记为Expired。如果物理文件存在,将维持Available。如果原先标记为Expired的备份集再次存在于备份介质上(如恢复了损坏的磁盘驱动器后),crosscheck将把状态重新从Expired标记回Available。
3 crosscheck 输出分两部分。第一部分列出确定存在于备份介质上的所有备份集片,第二部分列出不存在于备份介质上的备份集片,并将其标记为Expired。当设置备份保存策略后,一个备份过期,crosscheck之后标记为丢弃的备份状态依旧为availabel,要删除丢弃备份delete obsolete。
4 示例:
crosscheck backup
crosscheck backup of datafile 1;
crosscheck backup of tablespace users;
crosscheck backup of controfile;
crosscheck backup of controlfile;
crosscheck backup tag='SAT_BACKUP';
crosscheck backup completed after 'sysdate - 2'
crosscheck backup completed between 'sysdate - 5' and 'sysdate -2 '
crosscheck backup device type sbt;
crosscheck archivelog all;
crosscheck archivelog like '%ARC00012.001'
crosscheck archivelog from sequence 12;
crosscheck archivelog until sequence 522;
=====================================================
=====================================================
RMAN 的validate 命令
1 validate 命令验证备份集片是否能够被还原
2 list backup summary; 得到了备份集得主键ID如40,然后validate backupset 40;
=====================================================
=====================================================
RMAN 的备份保存策略以及change ,delete命令
0.带delete参数的change 命令删除备份集,从备份介质,并且从控制文件和恢复目录中删除。
change backupset 117,118 delete;
change backuppiece 1304 delete;
change archivelog until logseq =544 delete;
1.两类策略:恢复窗口备份保存策略(recovery windows backup retension policy) 基于时间
备份冗余备份保存策略(backup redundancy backup retension policy) 基于备份的数量
两类策略互相排斥
2.即使使用了备份保存策略,备份到期并不删除,只是在RMAN目录中标记为丢弃,看到的状态依旧为available;
要查看标记为丢弃的备份 report obsolete,只有使用delete obsolete才真正物理删除。
3.configure retension policy to recovery window of 7 days;
configure retension policy to redundancy 3;
显示结果 show all;
4.查看到期丢弃的备份时,可能需要手工保存一些备份 ,可以使用change 命令带keep 参数,使用这个命令后,那些被修改的备份将被认为是个long-term backup,不在受保存策略影响也就是说delete obsolete 也不删除。
5.要使备份时候不受保存策略影响 ,使用带keep参数的backup 命令
backup database keep forever;
backup database keep 5 days;
6.change 命令功能
可以修改备份为永久保存并将以及该备份的相关的日志保存下来,保证总能将备份恢复到当前时间点
change backupset 31 keep forever logs;
可以设置备份丢弃的新日期 ,将备份在多保存7 天,7 天后将删除
change backupset 32 keep until time 'sysdata + 7' logs;
7.change 可以将备份集设置为unavailable
change backupset 33 unavailable;
标记为unavailable状态的备份集并不参与crosscheck;
=====================================================
=====================================================
恢复目录的记录删除
1. $ORACLE_HOME/rdbms/admin/prgrmanc.sql 脚本定期删除恢复目录中具有DELETED状态的记录
2. 要删除旧的对应物记录incarnation.必须从DBINC 表中删除这些对应物,使用RC_DATABASE_INCARNATION 视图来确定要删除的对应物。记录要删除的每个对应物的DBINC_KEY
随后启动SQL*Plus,执行delete from dbinc where dbinc_key=2;
=====================================================
=====================================================
手工同步恢复目录
resync catalog;
Oracle同步恢复目录的时候,首先创建快照控制文件,然后比较这个文件和恢复目录,完成后,Oracle 更新恢复目录,使恢复目录和控制文件同步
=====================================================
=====================================================
在RMAN 中存储脚本
1,连接到目标数据库和恢复目录
rman target / catalog rman/rman@rman9i
2,创建脚本
RMAN>create script my_bk_script
2>{backup database plus archivelog;}
create script my_bk_script
3,打印脚本
RMAN>print script my_bk_script;
printing stored scipt:my_bk_script
{backup database plus archivelog;}
4,运行这个脚本,备份目标数据库
RMAN>run {execute scipt my_bk_script;}
5 删除脚本
RMAN>delete script my_bk_script;
=====================================================
=====================================================
archivelog模式下的完全恢复
step1:set oracle_sid=recover
rman target rman_backup/password
configure controlfile autobackup on;
step2:backup database plus archivelog delete input;
step3:shutdown immediate;
step4:重命名所有的数据文件和控制文件,不重命名联机重做日志。
step5: startup nomount;
set DBID=****
restore controlfile from autobackup;
alter database mount;
step6: restore database;
recover database;
alter database open resetlogs;
表空间恢复
sql"alter tablespace users offline";
sql"alter tablespace tools offline";
restore tablespace users,tools;
recover tablespace users,tools;
sql"alter tablespace users online";
sql"alter tablespace tools online";
数据文件恢复
sql"alter database datafile 3 offline";
sql"alter database datafile 'd:oracleoradatausers01.dbf' offline";
restore datafile 3
restore datafile 'd:oracleoradatausers01.dbf';
recover datafile 3
recover datafile 'd:oracleoradatausers01.dbf';
sql"alter database datafile 3 online";
sql"alter database datafile 'd:oracleoradatausers01.dbf'online";
=====================================================
=====================================================
切换当前的incarnation 回到resetlogs 前RESET DATABASE TO INCARNATION inc_key
=====================================================
=====================================================
RMAN 高级恢复
1 基于时间点的恢复
run
{
set until time "to_date('07/01/02 15:00:00','mm/dd/yy hh24:mi:ss')"'
restore database;
recover database;
alter database open resetlogs;
}
2 基于SCN 的恢复
startup mount;
restore database UNTIL SCN 10000;
recover database UNTIL SCN 10000;
alter database open resetlogs;
3 基于日志序列的恢复
startup mount;
restore database UNTIL SEQUENCE 100 thread 1;
recover database UNTIL SEQUENCE 100 thread 1;
alter database open resetlogs;
2 列出备份
2.1概述可用的备份 RMAN>list backup summary;
B 表示 backup
F 表示 FULL
A 表示 archive log
0 1 表示 incremental backup
S 说明备份状态 (A AVAILABLE X EXPIRED )
2.2按备份类型列出备份 RMAN>list backup by file;
按照 数据文件备份,归档日志备份,控制文件备份,服务器参数文件备份 列出
2.3列出详细备份 RMAN>list backup;
2.4列出过期备份 RMAN>list expired backup;
2.5列出表空间和数据文件备份
list backup of tablespace 和list backup of datafile 输出和list backup 相似
如:list backup of tablespace user_tbs;
list backup of datafile 3;
2.6列出归档日志备份 RMAN>list archivelog all; 简要信息
RMAN>list backup of archivelog all; 详细信息
2.7列出控制文件和服务器参数文件
RMAN>list backup of controfile;
RMAN>list backup of spfile;
=====================================================
=====================================================
RMAN 的 report命令
1. 报告最近没有被备份的数据文件
RMAN>report need backup days=3;
2. 报告备份冗余或恢复窗口
RMAN>report need backup redundancy=2;
RMAN>report need backup recovery window of 2 days;
3. 报告数据文件的不可恢复操作
RMAN>report unrecoverable;
4. 报告数据库模式
RMAN>report schema;
5. 报告丢弃的备份
如果使用了保存策略,备份会标记为丢弃状态 RMAN>report obsolete; 删除丢弃状态备份RMAN>delete obsolete;
=====================================================
=====================================================
RMAN的crosscheck 命令
1 备份集有两种状态A(Available,RMAN认为该项存在于备份介质上)X(Expired,备份存在于控制文件或恢复目录中,但是并没有物理存在于备份介质上)
2 crosscheck 的目的是检查RMAN 的目录以及物理文件,如果物理文件不存在于介质上,将标记为Expired。如果物理文件存在,将维持Available。如果原先标记为Expired的备份集再次存在于备份介质上(如恢复了损坏的磁盘驱动器后),crosscheck将把状态重新从Expired标记回Available。
3 crosscheck 输出分两部分。第一部分列出确定存在于备份介质上的所有备份集片,第二部分列出不存在于备份介质上的备份集片,并将其标记为Expired。当设置备份保存策略后,一个备份过期,crosscheck之后标记为丢弃的备份状态依旧为availabel,要删除丢弃备份delete obsolete。
4 示例:
crosscheck backup
crosscheck backup of datafile 1;
crosscheck backup of tablespace users;
crosscheck backup of controfile;
crosscheck backup of controlfile;
crosscheck backup tag='SAT_BACKUP';
crosscheck backup completed after 'sysdate - 2'
crosscheck backup completed between 'sysdate - 5' and 'sysdate -2 '
crosscheck backup device type sbt;
crosscheck archivelog all;
crosscheck archivelog like '%ARC00012.001'
crosscheck archivelog from sequence 12;
crosscheck archivelog until sequence 522;
=====================================================
=====================================================
RMAN 的validate 命令
1 validate 命令验证备份集片是否能够被还原
2 list backup summary; 得到了备份集得主键ID如40,然后validate backupset 40;
=====================================================
=====================================================
RMAN 的备份保存策略以及change ,delete命令
0.带delete参数的change 命令删除备份集,从备份介质,并且从控制文件和恢复目录中删除。
change backupset 117,118 delete;
change backuppiece 1304 delete;
change archivelog until logseq =544 delete;
1.两类策略:恢复窗口备份保存策略(recovery windows backup retension policy) 基于时间
备份冗余备份保存策略(backup redundancy backup retension policy) 基于备份的数量
两类策略互相排斥
2.即使使用了备份保存策略,备份到期并不删除,只是在RMAN目录中标记为丢弃,看到的状态依旧为available;
要查看标记为丢弃的备份 report obsolete,只有使用delete obsolete才真正物理删除。
3.configure retension policy to recovery window of 7 days;
configure retension policy to redundancy 3;
显示结果 show all;
4.查看到期丢弃的备份时,可能需要手工保存一些备份 ,可以使用change 命令带keep 参数,使用这个命令后,那些被修改的备份将被认为是个long-term backup,不在受保存策略影响也就是说delete obsolete 也不删除。
5.要使备份时候不受保存策略影响 ,使用带keep参数的backup 命令
backup database keep forever;
backup database keep 5 days;
6.change 命令功能
可以修改备份为永久保存并将以及该备份的相关的日志保存下来,保证总能将备份恢复到当前时间点
change backupset 31 keep forever logs;
可以设置备份丢弃的新日期 ,将备份在多保存7 天,7 天后将删除
change backupset 32 keep until time 'sysdata + 7' logs;
7.change 可以将备份集设置为unavailable
change backupset 33 unavailable;
标记为unavailable状态的备份集并不参与crosscheck;
=====================================================
=====================================================
恢复目录的记录删除
1. $ORACLE_HOME/rdbms/admin/prgrmanc.sql 脚本定期删除恢复目录中具有DELETED状态的记录
2. 要删除旧的对应物记录incarnation.必须从DBINC 表中删除这些对应物,使用RC_DATABASE_INCARNATION 视图来确定要删除的对应物。记录要删除的每个对应物的DBINC_KEY
随后启动SQL*Plus,执行delete from dbinc where dbinc_key=2;
=====================================================
=====================================================
手工同步恢复目录
resync catalog;
Oracle同步恢复目录的时候,首先创建快照控制文件,然后比较这个文件和恢复目录,完成后,Oracle 更新恢复目录,使恢复目录和控制文件同步
=====================================================
=====================================================
在RMAN 中存储脚本
1,连接到目标数据库和恢复目录
rman target / catalog rman/rman@rman9i
2,创建脚本
RMAN>create script my_bk_script
2>{backup database plus archivelog;}
create script my_bk_script
3,打印脚本
RMAN>print script my_bk_script;
printing stored scipt:my_bk_script
{backup database plus archivelog;}
4,运行这个脚本,备份目标数据库
RMAN>run {execute scipt my_bk_script;}
5 删除脚本
RMAN>delete script my_bk_script;
=====================================================
=====================================================
archivelog模式下的完全恢复
step1:set oracle_sid=recover
rman target rman_backup/password
configure controlfile autobackup on;
step2:backup database plus archivelog delete input;
step3:shutdown immediate;
step4:重命名所有的数据文件和控制文件,不重命名联机重做日志。
step5: startup nomount;
set DBID=****
restore controlfile from autobackup;
alter database mount;
step6: restore database;
recover database;
alter database open resetlogs;
表空间恢复
sql"alter tablespace users offline";
sql"alter tablespace tools offline";
restore tablespace users,tools;
recover tablespace users,tools;
sql"alter tablespace users online";
sql"alter tablespace tools online";
数据文件恢复
sql"alter database datafile 3 offline";
sql"alter database datafile 'd:oracleoradatausers01.dbf' offline";
restore datafile 3
restore datafile 'd:oracleoradatausers01.dbf';
recover datafile 3
recover datafile 'd:oracleoradatausers01.dbf';
sql"alter database datafile 3 online";
sql"alter database datafile 'd:oracleoradatausers01.dbf'online";
=====================================================
=====================================================
切换当前的incarnation 回到resetlogs 前RESET DATABASE TO INCARNATION inc_key
=====================================================
=====================================================
RMAN 高级恢复
1 基于时间点的恢复
run
{
set until time "to_date('07/01/02 15:00:00','mm/dd/yy hh24:mi:ss')"'
restore database;
recover database;
alter database open resetlogs;
}
2 基于SCN 的恢复
startup mount;
restore database UNTIL SCN 10000;
recover database UNTIL SCN 10000;
alter database open resetlogs;
3 基于日志序列的恢复
startup mount;
restore database UNTIL SEQUENCE 100 thread 1;
recover database UNTIL SEQUENCE 100 thread 1;
alter database open resetlogs;
==================================
c:\> rman cmdfile='' log=''
在run{}脚本里面,format后面的参数含义:%t代表当前时间,s%代表备份集,%p代表备份片
发表评论
-
ORACLE 命令大全(2)
2010-08-08 16:42 1505一些常用的内置程序包: DBMS_OUTPUT 包输出 PL ... -
ORACLE 命令大全(1)
2010-08-08 10:54 1523内容包括三大项: 1.o ... -
Oracle进程类别
2009-09-28 16:40 1979Oracle进程类别 n Oracle实 ... -
Oracle内存结构与管理(2)
2009-09-28 16:38 914自动SGA内存管理(ASMM): 要使用自动管理,需要设置参 ... -
Oracle内存结构与管理(1)
2009-09-28 16:34 1537Oracle内存结构与管理 内存结构 SGA(Sys ... -
Oracle触发器增量提取
2009-09-23 10:59 1741--insert触发器提取增量 --delete触发器提取增 ... -
9i SQL notes
2009-09-12 21:59 1283General functions:– NVL– NVL2– ... -
ORACLE 死锁实验
2009-07-25 17:02 787环境: DB: ORACLE 10.2 OS : RHE ... -
oracle启动
2009-07-23 09:10 924oracle启动的状态 学 ... -
Oracle 临时表
2009-07-16 11:22 1340Oracle 临时表 临时表(Temporary ta ... -
ORA-30036 错误重演实验
2009-07-15 21:01 2548实验步骤: 1. 建立一个很小的UNDO表空间,把系统当前的 ... -
Redo 与 Undo (2)
2009-07-14 20:37 13779.4.6 日志竞争 l redo放在 ... -
Redo 与 Undo (1)
2009-07-14 20:33 1615通常对undo有一个误解, ... -
事 务
2009-07-12 10:48 1039事 务 Oracle中的事务体现了所有必要的ACID ... -
并发与多版本
2009-07-11 19:33 1227并发与多版本 7.1 ... -
Oracle 锁(2)
2009-07-11 15:03 14026.3 锁类型 Oracle中主要有3类锁,具体是: ... -
Oracle 锁(1)
2009-07-11 15:01 18226.1 什么是锁? 锁(lock)机制用 ... -
Oracle进程类别(2)
2009-07-09 22:54 1417后台进程 可以使用一个V$视图查看所有可能的Oracl ... -
Oracle进程类别(1)
2009-07-09 22:48 912Oracle进程类别 n Oracle实 ... -
Oracle内存结构与管理
2009-07-07 21:19 1514Oracle内存结构与管理 内存结构 SGA(Sys ...
相关推荐
Oracle Rman命令详解,包括rman命令和rman语句解析。
此文档中详解介绍了oracle数据库中关于RMAN命令的详细及其注意事项
最全最详细最实用的oracle rman命令大全,你值得拥有。
oracle rman命令详解,详细的介绍了rman的各种命令
小资料,集中汇总,对于oracle备份恢复工具rman是一总结资料,便于使用查阅,都有例子引用,比较清楚
学习RMAN的朋友们知道,有各种命令,很难记住,有时就忘了!有了这个我总结的文档,当您忘了的话,打开它就能快速找到您需要的命令!
二、rman命令知多少 三、rman备份演练初级篇 四、rman备份演练进阶篇 五、rman外传-基础资料篇1 六、实战rman备份 七、rman外传-基础资料篇2 八、演练rman恢复 九、实战rman恢复(1)丢失控制文件的恢复 十、实战rman...
ORACLE RMAN备份命令.一次实际的操作过程,注解比较详细
这是ORACLE 做数据备份与恢复时使用rman命令的相关资料
RMAN命令详解.pdf
RMAN常用命令
很使用的rman命令,适合初级oracle备份者使用,可满足日常的oracle备份与恢复。
本文讲诉了 RMAN特点 RMAN命令 配置RMAN环境等等内容
oracle数据库RMAN备份命令的总结,包含RMAN的备份、恢复的操作以及备份策略的设置
第二篇 RMAN命令知多少 第三篇 RMAN备份演练初级篇 第四篇 RMAN备份演练进阶篇 第五篇 RMAN基础知识补充 一 第六篇 实战RMAN备份 第七篇 RMAN基础知识补充 二 第八篇 演练RMAN恢复 第九篇 实战rman恢复(1)丢失控制...
【RMAN】RMAN跨版本恢复(下)--大版本异机恢复【RMAN】RMAN跨版本恢复(下)--大版本异机恢复【RMAN】RMAN跨版本恢复(下)--大版本异机恢复
RMAN 维护命令.doc 还不错! 常用的 下吧 下吧
【RMAN】RMAN跨版本恢复(中)--大版本异机恢复【RMAN】RMAN跨版本恢复(中)--大版本异机恢复【RMAN】RMAN跨版本恢复(中)--大版本异机恢复
介绍Oracle Rman常见命令,简明扼要!