早上同事误删数据的时间: 00001 DS_MM01 |
---------------------------------------------------------------------------- |
Comment: DROP TABLE |
Start Time: 20140410112723 |
End Time: 20140410112723 |
Status: A |
---------------------------------------------------------------------------- |
EID: 24597 ONLINE备份是昨天 看了下LOG -rw-r----- 1 db2inst db2grp 41951232 Apr 10 10:03S0022729.LOG -rw-r----- 1 db2inst db2grp 41951232 Apr 10 10:47S0022730.LOG -rw-r----- 1 db2inst db2grp 41951232 Apr 10 11:09S0022731.LOG -rw-r----- 1 db2inst db2grp 41951232 Apr 10 11:43S0022732.LOG -rw-r----- 1 db2inst db2grp 41951232 Apr 10 12:01S0022733.LOG -rw-r----- 1 db2inst db2grp 41951232 Apr 10 12:01S0022734.LOG -rw-r----- 1 db2inst db2grp 41951232 Apr 10 12:01S0022735.LOG -rw-r----- 1 db2inst db2grp 41951232 Apr 10 12:03我就rollforward到11:09 S0022731.LOG,但是发现数据却只有到9号晚上的求帮解。。。 |
要使已删除的表可以复原,必须对该表所在的表空间启用 DROPPED TABLE RECOVERY 选项。可在创建表空间期间启用此选项或通过调用 ALTERTABLESPACE 语句来启用此选项。DROPPED TABLE RECOVERY 选项是表空间特定的,并限于对常规表空间使用。要确定是否对表空间启用了已删除的表的恢复功能,可以查询 SYSCAT.TABLESPACES 目录表中的 DROP_RECOVERY 列。
创建表空间时,缺省情况下已删除的表的恢复选项已打开。如果不要启用表空间的已删除的表的恢复功能,那么可以在发出 CREATE TABLESPACE 语句时显式将 DROPPED TABLE RECOVERY 选项设置为 OFF,或者可以使用 ALTER TABLESPACE 语句来对现有表空间禁用已删除的表的恢复功能。如果有许多删除表操作需要恢复,或者历史记录文件很大,那么“恢复已删除表”功能可能会影响正向恢复的性能。
对表(对该表的表空间启用了已删除的表的恢复功能)运行 DROP TABLE 语句时,将在日志文件中建立另一条目(标识已删除的表)。还会在恢复历史记录文件中建立一个条目,包含可用于重新创建表的信息。
对于分区表来说,即使对一个或多个表空间中的非分区表关闭已删除的表的恢复功能,已删除的表的恢复功能也始终处于打开状态。对于分区表来说,只写一个已删除的表日志记录。此日志记录对于恢复该表的所有数据分区来说已足够了。
如果在删除表时它处于重组暂挂状态,那么历史记录文件中的 CREATE TABLE DDL 与导入文件的 CREATE TABLE DDL 不完全匹配。在执行 REORG 建议的第一个 ALTER 操作之前,导入文件将采用该表的格式,但历史记录文件中的 CREATE TABLE 语句将与包含任何 ALTER TABLE 语句结果的表的状态相匹配。
用于 LOAD 或 IMPORT 的文件类型修饰符要通过装入或导入来恢复表,请指定下列文件类型修饰符:当要恢复数据的数据类型为 GRAPHIC 或 VARGRAPHIC 时,在 IMPORT 或 LOAD 命令中应使用文件类型修饰符 usegraphiccodepage。 原因是它可能包含多个代码页。在 IMPORT 或 LOAD 命令中,应使用 delprioritychar 文件类型修饰符。 该修饰符允许 LOAD 和 IMPORT 命令解析在字符或图形列数据中包含换行符的行。限制
一次只能复原一个已删除的表。
对可从已删除的表中复原的数据类型有一些限制。不可能复原:不能对临时表使用 DROPPED TABLE RECOVERY 选项。与行类型相关联的元数据。(数据已复原,但不是元数据。)将复原类型表的层次结构表中的数据。此数据包含的信息可能比已删除的类型表中的信息多。XML 数据。如果尝试恢复包含 XML 数据的已删除的表,那么相应的列数据将为空。可执行下列操作来复原已删除的表:
通过调用 LIST HISTORY DROPPED TABLE 命令来识别已删除的表。 已删除的表标识列示在“备份标识”列中。复原在删除该表前所建立的数据库级别或表空间级别备份映像。创建包含表数据的文件将写至的导出目录。 此目录必须可供所有数据库分区访问,或者在每个数据库分区上都存在。此导出目录下的子目录是由每个数据库分区自动创建的。这些子目录的名称是 NODEnnnn,其中 nnnn 代表数据库分区或节点号。包含已废弃的表数据的数据文件(就如它存在于每个数据库分区上那样)将导出到称为 data 的较低子目录中。 例如:\export_directory\NODE0000\data。通过在 ROLLFORWARD DATABASE 命令上使用 RECOVER DROPPED TABLE 参数,在删除表之后前滚至某时间点。也可前滚至日志末尾,以使对表空间或数据库中的其他表进行的更新不会丢失。通过使用 CREATE TABLE 语句来根据恢复历史记录文件重新创建该表。将在前滚操作期间导出的表数据导入表中。 如果进行废弃时表处于重组暂挂状态,那么需要更改 CREATE TABLE DDL 的内容以与数据文件的内容相匹配。收起