合 TSPITR表空间基于时间点的恢复
Tags: OracleTSPITR表空间基于时间点的恢复
前言部分
导读
各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,\~O(∩_∩)O\~:
① TSPITR表空间基于时间点的自动恢复
② logminer的简单应用
实验环境介绍
目标库:11.2.0.3 RHEL6.5
ORACLE_SID: ora11g
[oracle@rhel6_lhr \~]\$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on 星期日 5月 24 15:19:35 2015
Copyright (c) 1982, 2011, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
15:19:35 SQL> select * from v\$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
已用时间: 00: 00: 00.01
15:19:37 SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 36
下一个存档日志序列 38
当前日志序列 38
15:19:53 SQL>
15:20:37 SQL> show parameter name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert string
db_name string ora11g
db_unique_name string ora11g
global_names boolean FALSE
instance_name string ora11g
lock_name_space string
log_file_name_convert string
processor_group_name string
service_names string ora11g
15:20:41 SQL>
本文简介
OCP考完已经接近快1年了,本来TSPITR是属于OCP的内容,应该早把这个实验做了,可是由于各种原因一直没有做这个实验,上周CUUG的公开课上讲的就是TSPITR的相关内容,好吧,借着周末就把这个实验做了吧,blog后也附上了一些与OCP有关的试题,用于网友自测。
TSPITR的相关知识点归纳
TSPITR简介
TSPITR(表空间时间点恢复)用于将一个或多个表空间恢复到过去某个时间点的状态,而其他表空间仍然保持现有状态。
TSPITR 相关的概念和术语:
(1) TSPITR (Tablespace Point-In-Time Recover)。TSPITR 是表空间时间点恢复的英文缩写格式,它表示将一个或多个表空间恢复到过去时间点的状态,而其他表空间仍然保持现有状态。
(2) TSPITR 实现方法。当实现表空间时间点恢复时,既可以使用用户管理的表空间时间点恢复方法,也可以使用RMAN 管理的表空间时间点恢复。
(3) DBPITR (Database Point-In-Time Recovery)。DBPITR 是数据库时间点恢复的英文缩写格式,它表示将数据库的所有表空间恢复到过去时间点的状态。注意,DBPITR 只适用于ARCHIVELOG 模式。
(4) 主数据库(Primary Database)。主数据库是指用于存放应用系统数据的Oracle 数据库,也被称为产品数据库或目标数据库。当执行TSPITR 时,主数据库是指包含被恢复表空间的数据库。
(5) 恢复集(Recovery Set)。恢复集是指在主数据库上需要执行 TSPITR 的表空间集合。注意,当在恢复集的表空间上执行TSPITR 时,要求这些表空间必须是自包含的。
(6) 辅助数据库(Auxiliary Database)。辅助数据库是主数据库的一个副本数据库。当执行TSPITR 时,辅助数据库用于将恢复集表空间恢复到过去时间点。注意,辅助数据库的所有物理文件都是从主数据库备份中取得,并且辅助数据库必须包含SYSTEM 表空间、UNDO 表空间以及恢复集表空间的备份文件。
(7) 辅助集(Auxiliary Set)。辅助集是指辅助数据库所需要的、除了恢复集表空间文件之外的其他文件集合。当执行 TSPITR 时,辅助数据库除了需要恢复集表空间的备份文件之外,还需要备份控制文件、SYSTEM 表空间的备份文件、UNDO 表空间的备分文件。
何时使用TSPITR
• TSPITR 可在下列情况下使用:
– 恢复因错误的TRUNCATE TABLE语句而丢失的数据
– 从表逻辑损坏中恢复
– 撤消只影响部分数据库的批作业或DML 语句的结果
– 将逻辑方案恢复到与物理数据库其余部分不同的时间点
• TSPITR 使用可移动表空间和数据泵,提供了以下新功能和特性:
– TSPITR 可用于恢复已删除的表空间
– 可反复执行TSPITR 恢复到表空间联机之前的多个时间点,而无需使用恢复目录
在Oracle Database 11g发行版2 之前,TSPITR 使用导出和导入进行处理。TSPITR 现在使用可移动表空间和数据泵。由于底层技术的这一变化,现在可使用TSPITR 来恢复已删除的表空间。此外,可反复执行TSPITR 恢复到不同的时间点,而无需使用恢复目录。
实验部分
源库做备份操作
[oracle@rhel6_lhr \~]\$ ORACLE_SID=ora11g
[oracle@rhel6_lhr \~]\$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on 星期日 5月 24 19:27:25 2015
Copyright (c) 1982, 2011, Oracle. All rights reserved.
已连接到空闲例程。
19:27:25 SQL> startup
ORACLE 例程已经启动。
Total System Global Area 409194496 bytes
Fixed Size 2228864 bytes
Variable Size 327159168 bytes
Database Buffers 71303168 bytes
Redo Buffers 8503296 bytes
数据库装载完毕。
数据库已经打开。
19:27:42 SQL> exit
从 Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options 断开
[oracle@rhel6_lhr \~]\$ ORACLE_SID=ora11g
[oracle@rhel6_lhr \~]\$ rman target /
恢复管理器: Release 11.2.0.3.0 - Production on 星期日 5月 24 19:36:47 2015
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
已连接到目标数据库: ORA11G (DBID=4270446895)
RMAN> backup database;
启动 backup 于 2015-05-24 19:36:53
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=142 设备类型=DISK
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
输入数据文件: 文件号=00001 名称=/u01/app/oracle/oradata/ora11g/system01.dbf
输入数据文件: 文件号=00002 名称=/u01/app/oracle/oradata/ora11g/sysaux01.dbf
输入数据文件: 文件号=00005 名称=/u01/app/oracle/oradata/ora11g/example01.dbf
输入数据文件: 文件号=00003 名称=/u01/app/oracle/oradata/ora11g/undotbs01.dbf
输入数据文件: 文件号=00004 名称=/u01/app/oracle/oradata/ora11g/users01.dbf
输入数据文件: 文件号=00007 名称=/u01/app/oracle/oradata/ora11g/DWII_CNY_BK_F_01.dbf
输入数据文件: 文件号=00008 名称=/u01/app/oracle/oradata/ora11g/DWII_DPA_F_01.dbf
输入数据文件: 文件号=00009 名称=/u01/app/oracle/oradata/ora11g/DWII_DPA_I_01.dbf
输入数据文件: 文件号=00010 名称=/u01/app/oracle/oradata/ora11g/DWII_DPA_S_01.dbf
输入数据文件: 文件号=00011 名称=/u01/app/oracle/oradata/ora11g/DWII_SOR_F_01.dbf
输入数据文件: 文件号=00012 名称=/u01/app/oracle/oradata/ora11g/DWII_SOR_I_01.dbf
输入数据文件: 文件号=00013 名称=/u01/app/oracle/oradata/ora11g/DW_USER.dbf
输入数据文件: 文件号=00014 名称=/u01/app/oracle/oradata/ora11g/SQCHECK.dbf
输入数据文件: 文件号=00015 名称=/u01/app/oracle/oradata/ora11g/SD_CNY_D_01.dbf
输入数据文件: 文件号=00016 名称=/u01/app/oracle/oradata/ora11g/SD_CNY_F_01.dbf
输入数据文件: 文件号=00017 名称=/u01/app/oracle/oradata/ora11g/SD_DPA_D_01.dbf
输入数据文件: 文件号=00018 名称=/u01/app/oracle/oradata/ora11g/SD_DPA_F_01.dbf
输入数据文件: 文件号=00019 名称=/u01/app/oracle/oradata/ora11g/SD_SORT_T_01.dbf
输入数据文件: 文件号=00020 名称=/u01/app/oracle/oradata/ora11g/DWII_FXDM_F_01.dbf
输入数据文件: 文件号=00021 名称=/u01/app/oracle/oradata/ora11g/SD_SOR_T_01.dbf
输入数据文件: 文件号=00006 名称=/u01/app/oracle/oradata/ora11g/aa.dbf
通道 ORA_DISK_1: 正在启动段 1 于 2015-05-24 19:36:54
通道 ORA_DISK_1: 已完成段 1 于 2015-05-24 19:37:19
段句柄=/u01/app/oracle/flash_recovery_area/ORA11G/backupset/2015_05_24/o1_mf_nnndf_TAG20150524T193654bp3fypc1.bkp 标记=TAG20150524T193654 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:25
完成 backup 于 2015-05-24 19:37:19
启动 Control File and SPFILE Autobackup 于 2015-05-24 19:37:19
段 handle=/u01/app/oracle/flash_recovery_area/ORA11G/autobackup/2015_05_24/o1_mf_s_880573039bp3fzhgy.bkp comment=NONE
完成 Control File and SPFILE Autobackup 于 2015-05-24 19:37:22
RMAN> list backupset;
备份集列表
===================
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ -------------------
49 Full 1.18G DISK 00:00:20 2015-05-24 19:37:14
BP 关键字: 49 状态: AVAILABLE 已压缩: NO 标记: TAG20150524T193654
段名:/u01/app/oracle/flash_recovery_area/ORA11G/backupset/2015_05_24/o1_mf_nnndf_TAG20150524T193654bp3fypc1.bkp
备份集 49 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ------------------- ----
1 Full 1596722 2015-05-24 19:36:54 /u01/app/oracle/oradata/ora11g/system01.dbf
2 Full 1596722 2015-05-24 19:36:54 /u01/app/oracle/oradata/ora11g/sysaux01.dbf
3 Full 1596722 2015-05-24 19:36:54 /u01/app/oracle/oradata/ora11g/undotbs01.dbf
4 Full 1596722 2015-05-24 19:36:54 /u01/app/oracle/oradata/ora11g/users01.dbf
5 Full 1596722 2015-05-24 19:36:54 /u01/app/oracle/oradata/ora11g/example01.dbf
6 Full 1596722 2015-05-24 19:36:54 /u01/app/oracle/oradata/ora11g/aa.dbf
7 Full 1596722 2015-05-24 19:36:54 /u01/app/oracle/oradata/ora11g/DWII_CNY_BK_F_01.dbf
8 Full 1596722 2015-05-24 19:36:54 /u01/app/oracle/oradata/ora11g/DWII_DPA_F_01.dbf
9 Full 1596722 2015-05-24 19:36:54 /u01/app/oracle/oradata/ora11g/DWII_DPA_I_01.dbf
10 Full 1596722 2015-05-24 19:36:54 /u01/app/oracle/oradata/ora11g/DWII_DPA_S_01.dbf
11 Full 1596722 2015-05-24 19:36:54 /u01/app/oracle/oradata/ora11g/DWII_SOR_F_01.dbf
12 Full 1596722 2015-05-24 19:36:54 /u01/app/oracle/oradata/ora11g/DWII_SOR_I_01.dbf
13 Full 1596722 2015-05-24 19:36:54 /u01/app/oracle/oradata/ora11g/DW_USER.dbf
14 Full 1596722 2015-05-24 19:36:54 /u01/app/oracle/oradata/ora11g/SQCHECK.dbf
15 Full 1596722 2015-05-24 19:36:54 /u01/app/oracle/oradata/ora11g/SD_CNY_D_01.dbf
16 Full 1596722 2015-05-24 19:36:54 /u01/app/oracle/oradata/ora11g/SD_CNY_F_01.dbf
17 Full 1596722 2015-05-24 19:36:54 /u01/app/oracle/oradata/ora11g/SD_DPA_D_01.dbf
18 Full 1596722 2015-05-24 19:36:54 /u01/app/oracle/oradata/ora11g/SD_DPA_F_01.dbf
19 Full 1596722 2015-05-24 19:36:54 /u01/app/oracle/oradata/ora11g/SD_SORT_T_01.dbf
20 Full 1596722 2015-05-24 19:36:54 /u01/app/oracle/oradata/ora11g/DWII_FXDM_F_01.dbf
21 Full 1596722 2015-05-24 19:36:54 /u01/app/oracle/oradata/ora11g/SD_SOR_T_01.dbf
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ -------------------
50 Full 9.67M DISK 00:00:01 2015-05-24 19:37:20
BP 关键字: 50 状态: AVAILABLE 已压缩: NO 标记: TAG20150524T193719
段名:/u01/app/oracle/flash_recovery_area/ORA11G/autobackup/2015_05_24/o1_mf_s_880573039bp3fzhgy.bkp
包含的 SPFILE: 修改时间: 2015-05-24 19:27:36
SPFILE db_unique_name: ORA11G
包括的控制文件: Ckp SCN: 1596737 Ckp 时间: 2015-05-24 19:37:19
RMAN> report schema;
db_unique_name 为 ORA11G 的数据库的数据库方案报表
永久数据文件列表
===========================
文件大小 (MB) 表空间 回退段数据文件名称
---- -------- -------------------- ------- ------------------------
1 770 SYSTEM *** /u01/app/oracle/oradata/ora11g/system01.dbf
2 580 SYSAUX *** /u01/app/oracle/oradata/ora11g/sysaux01.dbf
3 285 UNDOTBS1 *** /u01/app/oracle/oradata/ora11g/undotbs01.dbf
4 96 USERS *** /u01/app/oracle/oradata/ora11g/users01.dbf
5 345 EXAMPLE *** /u01/app/oracle/oradata/ora11g/example01.dbf
6 5 AA *** /u01/app/oracle/oradata/ora11g/aa.dbf
7 10 DWII_CNY_BK_F_01 *** /u01/app/oracle/oradata/ora11g/DWII_CNY_BK_F_01.dbf
8 10 DWII_DPA_F_01 *** /u01/app/oracle/oradata/ora11g/DWII_DPA_F_01.dbf
9 10 DWII_DPA_I_01 *** /u01/app/oracle/oradata/ora11g/DWII_DPA_I_01.dbf
10 10 DWII_DPA_S_01 *** /u01/app/oracle/oradata/ora11g/DWII_DPA_S_01.dbf
11 10 DWII_SOR_F_01 *** /u01/app/oracle/oradata/ora11g/DWII_SOR_F_01.dbf
12 10 DWII_SOR_I_01 *** /u01/app/oracle/oradata/ora11g/DWII_SOR_I_01.dbf
13 10 DW_USER *** /u01/app/oracle/oradata/ora11g/DW_USER.dbf
14 10 SQCHECK *** /u01/app/oracle/oradata/ora11g/SQCHECK.dbf
15 10 SD_CNY_D_01 *** /u01/app/oracle/oradata/ora11g/SD_CNY_D_01.dbf
16 10 SD_CNY_F_01 *** /u01/app/oracle/oradata/ora11g/SD_CNY_F_01.dbf
17 10 SD_DPA_D_01 *** /u01/app/oracle/oradata/ora11g/SD_DPA_D_01.dbf
18 10 SD_DPA_F_01 *** /u01/app/oracle/oradata/ora11g/SD_DPA_F_01.dbf
19 10 SD_SORT_T_01 *** /u01/app/oracle/oradata/ora11g/SD_SORT_T_01.dbf
20 10 DWII_FXDM_F_01 *** /u01/app/oracle/oradata/ora11g/DWII_FXDM_F_01.dbf