您的位置:首页 > 数据库 > Oracle

Oracle RMAN备份小结

2015-12-11 21:25 441 查看
Oracle RMAN备份恢复有两种情况,一种是没有catalog的,是使用控制文件来存储备份资料库,另外一种是有catalog 的,这样可以用目录数据库来存储备份资料库。

下面介绍下使用catalog 备份的步骤:

1. 在恢复目录数据库上建立一个表空间:create tablespace rcat_ts datafile '' size 15M;

2. 在恢复目录数据库上建立一个恢复用户:create user rman identified rman temporary tablespace temp default tablespace rcat_ts quato unlimited on rcat_ts ;

3. 授予相关权限:grant recovery_catalog_owner to rman;

4. 在恢复目录数据库和目标数据库上互相添加对方的tns信息,方便在两端都可以直接备份;

5. 登录恢复目录数据库,然后创建恢复目录:

rman catalog rman/rman@tns_1;

create catalog;

6. 然后同时登录恢复目录数据库和目标数据库(不管在哪个上面登录都可以):

rman target sys/oracle@tns_2 catalog rman/rman@tns_1;(目标数据库上要用sys登录)

register database; 注册目标数据库

7. 使用catalog有一个好处就是可以使用RMAN脚本,批量执行rman command;

create [global] script script_name {rman command};

加上global参数,说明恢复目录上面的所有注册数据库都可以使用脚本,否则只能对应的目标数据库可以使用。

rman command一般可以有:

RMAN> backup database format '/u01/app/oracle/rmanbak/whole_%d_%U'; --备份整个数据库

RMAN> backup as compressed backupset database format '/u01/app/oracle/rmanbak/whole_%d_%U';

--备份整个数据库并压缩备份集

RMAN> backup as copy datafile format '/u01/app/oracle/rmanbak/df_%d_%U';

--备份数据文件,类型为镜像备份

RMAN> backup tablespace users,example format '/u01/app/oracle/rmanbak/tb_%d_%U';

--备份表空间

RMAN> backup tablespace temp;

--临时表空间不需要备份(执行会报错)

RMAN> backup current controlfile;

--单独备份控制文件及参数文件

RMAN> backup datafile
4 include current controlfile;

--备份数据文件时包含控制文件

下面是备份归档日志文件

备份归档日志时仅仅备份归档过的数据文件(不备份联机重做日志文件)

备份归档日志时总是对归档日志做完整备份

RMAN对归档日志备份前会自动做一次日志切换,且从一组归档日志中备份未损坏的归档日志

RMAN会自动判断哪些归档日志需要进行备份

归档日志的备份集不能包含其它类型的文件

RMAN> backup

2> format '/u01/app/oracle/rmanbak/lf_%d_%U'

3> archivelog all delete input; --delete input 删除所有已经备份过的归档日志

RMAN> backup --此种写法实现了上述相同的功能

2> archivelog all delete input

3> format '/u01/app/oracle/rmanbak/lf_%d_%U';

RMAN> backup archivelog sequence between 50 and 120 thread 1 delete input;

RMAN> backup archivelog from time "sysdate-15" until time "sysdate-7";

RMAN> backup

2> format '/u01/app/oracle/rmanbak/lf_%d_%U'

3> archivelog from sequence=80

4> delete input;

使用plus archivelog时备份数据库完成的动作(backup database plus archivelog)

1.首先执行alter system archive log current 命令(对当前日志归档)

2.执行backup archivelog all 命令(对所有归档日志进行备份)

3.执行backup database命令中指定的数据文件、表空间等

4.再次执行alter system archive log current

5.备份在备份操作期间产生的新的归档日志

--执行下面的命令,并观察备份列出的信息,可以看到使用plus archivelog时使用了上面描述的步骤来进行备份

RMAN> backup database plus archivelog

2> format '/u01/app/oracle/rmanbak/lg_%d_%U' delete input;

8. 使用run执行RMAN脚本:

run

{

allocate channel ch1 device type disk;

allocate channel ch2 device type disk;

execute script script_name;

}

使用RMAN备份的操作链接:
http://blog.csdn.net/leshami/article/details/6032739
--备份数据文件时包含控制文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: