RMAN备份和恢复笔记

RMAN:Oracle的恢复管理器

一、RMAN备份

1、全备份

    rman target /

    list backupset;

    backup database;

    show all;

    (control file的位置:$ORACLE_BASE/$ORACLE_SID/)

2、0级增量备份

    rman target /

    backup incremental level=0 database;

    list backupset;

    (备份的东西和全备份一致,并可以作为1级备份的基础)

3、1级增量备份

    backup incremental level 1 database;

    list backupset;

    (备份的内容:datafiles,controlfile,spfile;查看controlfile内容:strings *.ctl)

4、备份archivelog,表空间,控制文件

    1)备份archivelog:backup database plus archivelog delete input;(备份的内容:datafiles,controlfile,spfile,archivelog)

    2)备份表空间:backup tablespace USERS; report schema;

    3)备份控制文件:backup current controlfile; backup database include current controlfile;

5、备份集(backupset)和镜像备份(Image Copies)

    copy datafile 5 to '/u01/rmanbak/testbak.dbf';

    list copy;

6、单命令和批命令

    1)单命令

    backup database;

    2)批命令

    run{

        allocate channel cha1 type disk;

        backup

        format '/u01/rmanbak/full_%t'

        tag full_backup

        database;

        release channel cha1;

    }

    (channel通道:控制备份行为,灵活备份;并行度、I/O带宽限制、备份片大小限制)

7、备份计划

    备份脚本+crontab:

    rman target / msglog=/日志路径/bak.log cmdfile=/脚本路径/bak.sh

    service crond restart

8、其他

    1)控制文件自动备份:configure controlfile autobackup on;

    2)删除备份:delete backupset 24;

二、RMAN恢复

1、spfile丢失

    startup nomount;

    set dbid ?;

    restore spfile from autobackup;或者restore spfile from '/u01/……/*.bkp';

    shutdown immediate;

    startup;

2、controlfile丢失

    startup nomount;

    restore controlfile from autobackup;

    alter database mount;

    recover database;

    alter database open resetlogs;

3、redolog file丢失

    shutdown immediate;

    startup mount;

    recover database until cancel;

    alter database open resetlogs;

4、datafile丢失

    sql 'alter database datafile 5 offline';

    restore datafile 5;

    recover datafile 5;

    sql 'alter database datafile 5 online';

5、表空间恢复

    sql 'alter database users offline';

    restore tablespace users; --restore:最近一次的全备份

    recover tablespace users; --recover:最近一次全备后,利用redolog

    sql 'alter tablespace users online';

6、非catalog方式完全恢复(数据库出现问题)

    startup nomount;

    restore controlfile from autobackup;

    alter database mount;

    restore database;

    recover database;(找不到redolog,参照下一步先sqlplus恢复redo)

    alter database open resetlogs;

7、sqlplus处理online redolog丢失

    create pfile from spfile;

    vi dbs/inittest.ora添加一行.allow_resetlogs_corruption='TRUE'

    shutdown immediate;

    startup pfile=/u01/oracle/……/dbs/inittest.ora mount;

    alter database open resetlogs;

8、基于时间点的恢复

    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;

9、基于SCN的恢复

    list backup;(查看SCN)

    startup mount;

    restore database until SCN 10000;

    recover database until SCN 10000;

    alter database open resetlogs;

10、基于日志序列的恢复

    select * from v$log;(查看日志序列号)

    startup mount;

    restore database until SEQUENCE 100 thread 1;

    recover database until SEQUENCE 100 thread 1;

    alter database open resetlogs;

三、开启/关闭归档

    shutdown immediate;

    startup mount;

    alter database archivelog/noarchivelog;

    alter database open;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值