oracle12c Performing Backup and Recovery文档笔记


看文档笔记
官方文档:9 Performing Backup and Recovery
http://docs.oracle.com/database/121/ADMQS/backrest.htm#ADMQS12547


一。直接备份数据库

通过rman备份或恢复的用户需要sysdba或sysbackup权限;


Fast Recovery Area相关参数控制
DB_RECOVERY_FILE_DEST
DB_RECOVERY_FILE_DEST_SIZE


查看当前数据库是否开启了flashback database功能;
SELECT FLASHBACK_ON FROM V$DATABASE;
--该参数默认是1440分钟,即一天;通过show parameter查看:
DB_FLASHBACK_RETENTION_TARGET
---启动flashback database功能;
ALTER DATABASE FLASHBACK ON;


Enabling Block Change Tracking
开启该功能后,将记录block变更,将提高增量备份效率;
查看block change跟踪文件位置
SELECT status, filename FROM V$BLOCK_CHANGE_TRACKING;

该跟踪文件自动创建于oracle自动管理文件目录下
ALTER SYSTEM SET DB_CREATE_FILE_DEST = '/u01/app/oracle/oradata';
ALTER DATABASE ENABLE BLOCK CHANGE TRACKING;



rman使用
登录rman管理器
$rman target /
显示rman配置信息
>show all

>CONFIGURE DEFAULT DEVICE TYPE TO DISK;
>CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO BACKUPSET PARALLELISM 1;
---节省fast recovery空间,对未变化的文件如有备份,将不再备份;
CONFIGURE BACKUP OPTIMIZATION ON;
--更改保留天数
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 31 DAYS;
--决定归档日志的删除方式
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE;
--备份时不备份指定的表空间
CONFIGURE EXCLUDE FOR TABLESPACE example;
--控制spfile和controlfile是否自动备份
CONFIGURE CONTROLFILE AUTOBACKUP ON;
--恢复默认配置
CONFIGURE DEFAULT DEVICE TYPE CLEAR;
configure exclude for tablespace users clear;



数据库开启状态下进行的一致备份,默认在默认位置fastrecover area;
备份前需要crosscheck archivelog all;
BACKUP DATABASE PLUS ARCHIVELOG format '/backup/fudb%d_%s.bak';
--上语句数据文件备份在默认的闪回恢复区,归档日志备份在指定的位置;

BACKUP DATABASE format '/backup/fudb%d_%s.bak' PLUS ARCHIVELOG;
---上语句数据文件备份在指定位置,但归档日志备份在默认闪回恢复区;

BACKUP DATABASE format '/backup/fudb%d_%s.bak' PLUS ARCHIVELOG format '/backup/arclog%d_%s.bak';
--上语句,对数据文件和归档日志均备份到了指定位置;


容器库和插件库备份
1。直接连接pdb数据库时;
BACKUP DATABASE

2.连接容器库时对pdb进行备份;
BACKUP PLUGGABLE DATABASE hrpdb;
BACKUP PLUGGABLE DATABASE hrpdb, salespdb, invpdb;


将数据库置于mount状态下进行一致性备份,不需要备份归档日志;
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
rman>BACKUP DATABASE;
备份完成后启动数据库
ALTER DATABASE OPEN;


自动备份脚本;

[root@oel6x64 backup]# ll
-rwxr-xr-x. 1 oracle oinstall 316 3月  10 10:53 daily_backup.sh
[root@oel6x64 backup]# cat daily_backup.sh
#!/bin/sh
export ORACLE_HOME=/u01/app/oracle/12/db1
export ORACLE_SID=orcl
PATH=$ORACLE_HOME/bin:$PATH
rman < connect target /
RUN {
 ALLOCATE CHANNEL disk_iub DEVICE TYPE DISK;
 RECOVER COPY OF DATABASE WITH TAG daily_iub;
 BACKUP INCREMENTAL LEVEL 1 FOR RECOVER OF COPY WITH TAG daily_iub DATABASE;
}
exit
EOF


About the Oracle Suggested Backup Strategy and Retention
When using the Oracle suggested backup strategy, the retention is dictated by the recovery and not by the configured retention. In order to get retention beyond 24 hours, you must change the RECOVER statement to something like:
就是说用上述脚本的时候,rman configure中设置的保留策略是无效的,需手动配置保留时间;
RECOVER COPY OF DATABASE WITH TAG 'ORA_OEM_LEVEL_0' UNTIL TIME "SYSDATE-4";
对COPY出来的数据库作增量同步。


二。备份结果查看


查看备份概要;
LIST BACKUP SUMMARY;
显示特定备份对象
LIST BACKUP OF DATAFILE 3;

检查数据文件

RMAN> VALIDATE DATAFILE '/u01/app/oracle/12/oradata/ORCL/datafile/o1_mf_users_bh21l5rw_.dbf';


测试数据库是否可恢复;
RESTORE VALIDATE DATABASE;

测试特定表空间是否可恢复;
RESTORE TABLESPACE example VALIDATE;

测试是否可恢复到特定scn;
RESTORE DATAFILE 1 VALIDATE UNTIL SCN 23456;


查看rman 备份历史
select * from V$RMAN_BACKUP_JOB_DETAILS;




备份文件的集中状态;
Available, meaning that the backup is still present on disk or tape, as recorded in the repository
Expired, meaning that the backup no longer exists on disk or tape, but is still listed in the repository
Unavailable, meaning that the backup is temporarily not available for data recovery operations (because, for example, it is stored on a tape that is stored offsite or on a disk that is currently not mounted)


校验备份文件可用性;
CROSSCHECK BACKUPSET 1345;
CROSSCHECK DATAFILECOPY 1,5;
CROSSCHECK BACKUP;


在crosscheck后,将不存在的备份从备份报告中删除掉;
DELETE EXPIRED BACKUP;
delete expired archivelog all;


当备份磁盘umount的时候,备份文件找不到,又不想将其删除,可暂时设置其状态,防止删除;在闪回恢复区中的备份文件不能设置状态;
CHANGE BACKUPSET 4 UNAVAILABLE;
CHANGE BACKUPSET 4 AVAILABLE;

删除过期的备份;
delete  OBSOLETE;


监控闪回恢复区使用情况
select * from V$RECOVERY_FILE_DEST;
select * from V$RECOVERY_AREA_USAGE.





恢复建议,只对CDB有效,无法对PDB提出建议;
Performing Oracle Advised Recovery
    LIST FAILURE:    Use this command to view problem statements for failures and the effect of these failures on database operations. Each failure is identified by a failure number.
    ADVISE FAILURE:    Use this command to view repair options, including both automated and manual repair options.
    REPAIR FAILURE:    Use this command to automatically repair failures listed by the most recent ADVISE FAILURE command.

--手动校验数据库
VALIDATE DATABASE;

---列出错误
LIST FAILURE
LIST FAILURE ... DETAIL
ADVISE FAILURE;
REPAIR FAILURE;


点击(此处)折叠或打开

  1. ===========================================================================================================================
  2. 整个详细过程:
  3. RMAN> list failure;

  4. Database Role: PRIMARY

  5. no failures found that match specification

  6. RMAN> validate database;

  7. Starting validate at 10-MAR-15
  8. using channel ORA_DISK_1
  9. channel ORA_DISK_1: starting validation of datafile
  10. channel ORA_DISK_1: specifying datafile(s) for validation
  11. input datafile file number=00003 name=/u01/app/oracle/12/oradata/ORCL/datafile/o1_mf_sysaux_bh21ho4y_.dbf
  12. input datafile file number=00001 name=/u01/app/oracle/12/oradata/ORCL/datafile/o1_mf_system_bh21jrkg_.dbf
  13. input datafile file number=00004 name=/u01/app/oracle/12/oradata/ORCL/datafile/o1_mf_undotbs1_bh21l6xo_.dbf
  14. RMAN-00571: ===========================================================
  15. RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
  16. RMAN-00571: ===========================================================
  17. RMAN-03009: failure of validate command on ORA_DISK_1 channel at 03/10/2015 12:52:16
  18. ORA-01122: database file 14 failed verification check
  19. ORA-01110: data file 14: \'/u01/app/oracle/12/oradata/ORCL/datafile/o1_mf_t_bhwxqg12_.dbf\'
  20. ORA-01565: error in identifying file \'/u01/app/oracle/12/oradata/ORCL/datafile/o1_mf_t_bhwxqg12_.dbf\'
  21. ORA-27037: unable to obtain file status
  22. Linux-x86_64 Error: 2: No such file or directory
  23. Additional information: 3

  24. RMAN> list failure;

  25. Database Role: PRIMARY

  26. List of Database Failures
  27. =========================

  28. Failure ID Priority Status Time Detected Summary
  29. ---------- -------- --------- ------------- -------
  30. 2762 HIGH OPEN 10-MAR-15 One or more non-system datafiles are missing

  31. RMAN> list failure 2762 detail;

  32. Database Role: PRIMARY

  33. List of Database Failures
  34. =========================

  35. Failure ID Priority Status Time Detected Summary
  36. ---------- -------- --------- ------------- -------
  37. 2762 HIGH OPEN 10-MAR-15 One or more non-system datafiles are missing
  38.   Impact: See impact for individual child failures
  39.   List of child failures for parent failure ID 2762
  40.   Failure ID Priority Status Time Detected Summary
  41.   ---------- -------- --------- ------------- -------
  42.   2765 HIGH OPEN 10-MAR-15 Datafile 14: \'/u01/app/oracle/12/oradata/ORCL/datafile/o1_mf_t_bhwxqg12_.dbf\' is missing
  43.     Impact: Some objects in tablespace T might be unavailable


  44. RMAN> advise failure;

  45. Database Role: PRIMARY

  46. List of Database Failures
  47. =========================

  48. Failure ID Priority Status Time Detected Summary
  49. ---------- -------- --------- ------------- -------
  50. 2762 HIGH OPEN 10-MAR-15 One or more non-system datafiles are missing
  51.   Impact: See impact for individual child failures
  52.   List of child failures for parent failure ID 2762
  53.   Failure ID Priority Status Time Detected Summary
  54.   ---------- -------- --------- ------------- -------
  55.   2765 HIGH OPEN 10-MAR-15 Datafile 14: \'/u01/app/oracle/12/oradata/ORCL/datafile/o1_mf_t_bhwxqg12_.dbf\' is missing
  56.     Impact: Some objects in tablespace T might be unavailable

  57. analyzing automatic repair options; this may take some time
  58. using channel ORA_DISK_1
  59. analyzing automatic repair options complete

  60. Mandatory Manual Actions
  61. ========================
  62. no manual actions available

  63. Optional Manual Actions
  64. =======================
  65. 1. If file /u01/app/oracle/12/oradata/ORCL/datafile/o1_mf_t_bhwxqg12_.dbf was unintentionally renamed or moved, restore it

  66. Automated Repair Options
  67. ========================
  68. Option Repair Description
  69. ------ ------------------
  70. 1 Restore and recover datafile 14
  71.   Strategy: The repair includes complete media recovery with no data loss
  72.   Repair script: /u01/app/oracle/12/diag/rdbms/orcl/orcl/hm/reco_1682371153.hm

  73. RMAN> repair failure;

  74. Strategy: The repair includes complete media recovery with no data loss
  75. Repair script: /u01/app/oracle/12/diag/rdbms/orcl/orcl/hm/reco_1682371153.hm

  76. contents of repair script:
  77.    # restore and recover datafile
  78.    sql \'alter database datafile 14 offline\';
  79.    restore ( datafile 14 );
  80.    recover datafile 14;
  81.    sql \'alter database datafile 14 online\';

  82. Do you really want to execute the above repair (enter YES or NO)? yes
  83. executing repair script

  84. sql statement: alter database datafile 14 offline

  85. Starting restore at 10-MAR-15
  86. using channel ORA_DISK_1

  87. channel ORA_DISK_1: restoring datafile 00014
  88. input datafile copy RECID=25 STAMP=873982000 file name=/u01/app/oracle/12/fast_recovery_area/ORCL/datafile/o1_mf_t_bhwxshcd_.dbf
  89. destination for restore of datafile 00014: /u01/app/oracle/12/oradata/ORCL/datafile/o1_mf_t_bhwxqg12_.dbf
  90. channel ORA_DISK_1: copied datafile copy of datafile 00014
  91. output file name=/u01/app/oracle/12/oradata/ORCL/datafile/o1_mf_t_bhwyh34p_.dbf RECID=0 STAMP=0
  92. Finished restore at 10-MAR-15

  93. Starting recover at 10-MAR-15
  94. using channel ORA_DISK_1

  95. starting media recovery
  96. media recovery complete, elapsed time: 00:00:00

  97. Finished recover at 10-MAR-15

  98. sql statement: alter database datafile 14 online
  99. repair failure complete

  100. RMAN>

  101. ===========================================================================================================================




Performing User-Directed Recovery



ALTER TABLE hr.employees ENABLE ROW MOVEMENT;

查询对象表的依赖关系,对有依赖的表都需要允许row movement;
SELECT other.owner, other.table_name
    FROM sys.all_constraints this, sys.all_constraints other
    WHERE this.owner = 'HR'
      AND this.table_name = 'EMPLOYEES'
      AND this.r_owner = other.owner
      AND this.r_constraint_name = other.constraint_name
      AND this.constraint_type='R';


查看undo表空间内容保留时间
SELECT NAME, VALUE/60 MINUTES_RETAINED
    FROM V$PARAMETER
    WHERE NAME = 'undo_retention';


将表恢复到某一个时间;
FLASHBACK TABLE hr.employees TO TIMESTAMP TO_TIMESTAMP('2012-03-27 09:30:00', 'YYYY-MM-DD HH:MI:SS');
FLASHBACK TABLE system.tt TO TIMESTAMP TO_TIMESTAMP('2015-03-10 14:42:40', 'YYYY-MM-DD HH24:MI:SS');

恢复drop的表;
要恢复的表不能在system表空间中;只能在本地管理表空间中;

DROP表后;
SELECT * FROM TAB;
BIN$ 开头的表即为删除的表;
SHOW RECYCLEBIN;


FLASHBACK TABLE HR.REG_HIST TO BEFORE DROP;


FLASHBACK DATABASE
注意:You can use the RMAN FLASHBACK DATABASE command to rewind the entire CDB only, not individual PDBs.


将数据库启动到mount状态;
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
将数据库闪回到指定时间点;
FLASHBACK DATABASE to timestamp to_date('2015-03-10 14:42:40', 'YYYY-MM-DD HH24:MI:SS');

切换到只读模式,检查是否闪回成功;
ALTER DATABASE OPEN READ ONLY;
重启,并reset log;
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE OPEN RESETLOGS;



通过rman恢复数据库
必须有可用的spfile和控制文件,备份文件;
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;

rman>RESTORE DATABASE;
rman>RECOVER DATABASE;

ALTER DATABASE OPEN;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29519108/viewspace-1454881/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29519108/viewspace-1454881/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值