zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

oracle 操作实例(一)----rman 全备恢复

Oracle实例 操作 恢复 ---- RMAN
2023-09-27 14:25:36 时间

一,环境背景

    拥有全备数据库

    全备脚本:

 1 export TMP=/tmp
 2 export TMPDIR=$TMP
 3 export ORACLE_BASE=/u01
 4 export ORACLE_SID=prod
 5 export ORACLE_HOME=/u01/oracle/db_1
 6 export ORACLE_TERM=xterm
 7 export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
 8 export  LANG=en_US
 9 rman target / log /u01/backup/rman_full.log append<<EOF
10 run
11 {allocate channel c1 type disk;
12 allocate channel c2 type disk;
13 backup database filesperset 4 format '/u01/backup/full_%d_%T_%s_%p';
14 sql 'alter system archive log current';
15 sql 'alter system archive log current';
16 sql 'alter system archive log current';
17 backup archivelog all format '/u01/backup/arch_%d_%T_%s_%p' delete input;
18 backup current controlfile format '/u01/backup/ctl_%d_%T_%s_%p';
19 crosscheck backup;
20 crosscheck archivelog all;
21 delete noprompt obsolete;
22 delete noprompt  expired backup;
23 delete noprompt  expired archivelog all;
24 }
25 EOF
View Code

    故障发生:

    最后在看一眼自己数据在哪里:

    -------------------------------------1--------------------------------------

二,恢复章节

     打开数据库,敲了几行命令,哎没报错呀..........数据库好像没事

   突然查看了下一个视图发现

   感觉 出问题了.......#!@#!

    他说文件不存在我们打开看看是不是没有文件

   这时候你知道数据没了

   关机恢复开始

    第一步: 启动数据库到nomount状态

      startup nomount

    第二步: 恢复控制文件

查看备份文件,,找到这种文件,对应时间

    rman target / 登入rman 命令界面

    恢复控制文件

restore controlfile from '/u01/backup/ctl_PROD_20190228_695_1';

   第三步启动数据库到mount状态

   第四步,恢复数据

  第五步恢复归档:

  第六步 打开数据库到resetlogs模式---重置redo

注意:一旦使用resetlogs之后,一定要立即备份全备

三,全备与数据查看

   执行全备脚本

    查看目录数据已经恢复回来了