--20 rman学习
recovery manager
优点:
1,跳过未使用的数据库:当备份一个rman备份集合时,rman不会备份从未被写入的数据库。
而传统的备份方法无法知道已经使用了哪些数据库。
2,备份压缩
rman使用一种oracle特有的二进制压缩模式来节省备份设备上的控件。尽管传统的备份方法也可以使用操作系统的压缩技术,
但rman使用的压缩算法是定制的,能够最大程度地压缩数据块中一些典型的数据。
3,执行增量备份
4,块级别的恢复
只需要还原或修复标识为损坏的少量数据块,在rman修复损坏的数据库时,表空间的其他部分以及表空间的对象仍然可以联机使用。
rman组件
rman是一个以客户端方式运行的备份与恢复工具。
最简单的rman可以只包括2个组件:rman命令执行器和目标数据库。在比较
复杂的rman中会涉及更多的组件。在rman中常用的组件如下:
1,rman命令执行器(RMAN Executable)
2,目标数据库 (Target Database)
3,rman恢复目录 rman recover catalog
4,rman资料档案库 rman repository
5,恢复目录数据库 recover catalog database
--20.1 创建恢复目录
一个恢复目录可以为多个目标数据库进行恢复服务
1 conn sys/sys as sysdba;
2 archive log list;
3 设置成归档模式
shutdown ;
startup mount;
alter database archivelog;
alter database open;
archive log list;
4 创建表空间
create tablespace recovery_tbs
datafile 'd:/app/rman/recovery_tbs.dbf' size 10m
autoextend on next 5m
extent management local; --管理方式设置为本地管理
5 创建用户
create user rman_admin identified by admin_123
default tablespace recovery_tbs;
grant create session, connect, resource, recovery_catalog_owner to rman_admin;
6 创建恢复目录
进入rman模式,连接到恢复目录数据库
connect catalog rman_admin/admin_123;
创建恢复目录
create catalog;
--20.2 连接目标数据库
连接到目标数据库是指建立rman和目标数据库之间的连接。在rman中,可以在无恢复目录和有恢复目录2种情况下连接到目标数据库。
1无恢复目录
使用rman target语句
使用rman nocatalog语句
使用rman target ... nocatalog语句
2有恢复目录
使用rman target ... catalog
3取消目标数据库的注册
使用unregister命令
使用存储过程
连接目标数据库
c:/> rman target/
c:/> rman nocatalog
c:/> rman target sys/admin nocatalog (使用目标数据库控制文件替代恢复目录)
--在有目录下连接目标数据库
rman target sys/admin catalog rman_admin/admin_123
注册
register database;
--进行目录同步,以此记录归档日志
resync catalog;
exit 退出
--取消注册
C:/>sqlplus /nolog
SQL> connect rman_admin/admin_123
SQL> select * from db where db_id=1235126166;
SQL> exec dbms_rcvcat.unregisterdatabase(1,1235126166);