您的位置:首页 > 其它

DB2备份与恢复读书笔记

2011-08-22 15:23 274 查看
DB2备份恢复读书笔记

1.DB2三种备份恢复机制

(1)紧急事故恢复:基本就是断电后重启,根据日志自动redo或者undo,恢复到数据一致状态。

(2)版本恢复:恢复整个DB2的备份。

(3)前滚恢复:在版本恢复的基础上,应用日志,恢复到某个点上。日志启动归档日志。

2.DB2日志

(1)预写式:在具体化到数据库之前,将更改写到日志中。

(2)数据库更改写到bufferpool,日志更改写到log buffer中

(3)日志buffer满了或者调用commit是,具体化到日志中。

(4)主日志文件:是在建立第一个数据库连接或者数据库活动时立即分配的。

(5)辅助日志文件:是在需要时动态分配的。

(6)日志的状态:

(6.1)活动日志:如果以下两个条件之一得到满足,则一个日志被认为是活动的(active):

它包含关于尚未被提交或回滚的事务的信息。

它包含关于已经被提交但是其更改还没有被写(具体化)到数据库磁盘的事务的信息。

(6.2)在线归档日志:包含被提交且具体化的事务的信息。这些日志与活动日志放在相同的目录中。

(6.3)离线归档日志:已经从活动日志目录转移到另一个目录或媒介上的归档日志。这种移动可以手动地
完成,也可以由DB2自动完成。

(7)日志记录类型:循环日志记录和归档日志记录。

3.DB2备份与恢复

(1)在线备份恢复:如果我们在执行一个在线操作(备份、恢复、前滚),那么其他用户也可以同时访问

我们正在操纵的数据库对象。

(2)如果我们在执行一个离线操作,那么就不允许任何其他用户同时访问我们正在操纵的数据库对象。

(3)数据库备份:是数据库的一个完整的副本。除了数据外,备份副本还包含关于表空间、容器、数据库

配置、日志控制文件和恢复历史文件的信息。注意,备份不会存储数据库管理器配置文件或注册表变量。只

有数据库配置文件才会得到备份。

(4)Backup命令:

BACKUP DATABASE database-alias [USER username [USING password]]

[TABLESPACE (tblspace-name [ {,tblspace-name} ... ])] [ONLINE]

[INCREMENTAL [DELTA]] [USE {TSM | XBSA} [OPEN num-sess SESSIONS]

[OPTIONS {options-string | options-filename}] | TO dir/dev

[ {,dir/dev} ... ] | LOAD lib-name [OPEN num-sess SESSIONS]

[OPTIONS {options-string | options-filename}]]

[WITH num-buff BUFFERS] [BUFFER buffer-size] [PARALLELISM n]

[COMPRESS [COMPRLIB lib-name [EXCLUDE]] [COMPROPTS options-string]]

[UTIL_IMPACT_PRIORITY [priority]] [{INCLUDE | EXCLUDE} LOGS] [WITHOUT PROMPTING]

(5)OFFLINE,是默认模式。

(6)表空间备份

如果一个数据库中只有一部分表空间有较多的变更,那么可以选择不备份整个数据库,而是只备份特定的表

空间。要执行表空间备份,可以使用以下语法:

BACKUP DATABASE sample

TABLESPACE ( syscatspace, userspace1, userspace2 )

ONLINE

TO /db2tbsp/backup1, /db2tbsp/backup2

(7)增量备份:DB2备份自上一次完整数据库备份以来发生变化的所有数据。

(8)Delta备份:DB2只备份自上一次成功执行的完整备份、增量备份或 delta 备份以来发生变化的数据。

(9)Restore命令格式:

RESTORE DATABASE source-database-alias { restore-options | CONTINUE | ABORT }

restore-options:

[USER username [USING password]]

[REBUILD WITH [ALL TABLESPACES IN DATABASE | ALL TABLESPACES IN IMAGE]

[EXCEPT rebuild-tablespace-clause] [rebuild-tablespace-clause]

[{TABLESPACE [ONLINE] | TABLESPACE (tblspace-name [ {,tblspace-name} .. ]) [ONLINE] |

HISTORY FILE [ONLINE]}] [INCREMENTAL [AUTOMATIC | ABORT]]

[{USE {TSM | XBSA} [OPEN num-sess SESSIONS] |

FROM dir/dev [ {,dir/dev} ... ] | LOAD shared-lib

[OPEN num-sess SESSIONS]}] [TAKEN AT date-time] [TO target-directory]

[INTO target-database-alias] [NEWLOGPATH directory] [LOGS FROM directory]

[LOGTARGET directory]

[WITH num-buff BUFFERS] [BUFFER buffer-size]

[DLREPORT file-name] [REPLACE EXISTING] [REDIRECT] [PARALLELISM n]

[WITHOUT ROLLING FORWARD] [WITHOUT DATALINK] [WITHOUT PROMPTING]

Rebuild-tablespace-clause:

[TABLESPACE (tblspace-name [ {,tblspace-name} ... ])

(10)数据库恢复只能使用OFFLINE模式。

(11)也可以通过使用 LOGS 关键字只恢复日志文件,而不恢复数据库:

RESTORE DATABASE sample

LOGS FROM C:\DBBACKUP

LOGTARGET C:\DB2\NODE0000\SQL00001\SQLOGDIR

(12)表空间恢复

可以使用完整数据库备份或表空间备份来恢复表空间。对于表空间恢复,要小心地做好计划,因为一不小心

就会使数据处于不一致状态。

下面是表空间 RESTORE 命令的一个例子:

RESTORE DATABASE sample

TABLESPACE ( mytblspace1 )

ONLINE

FROM /db2tbsp/backup1, /db2tbsp/backup2

(13)Rollforward命令:

ROLLFORWARD 命令的语法如下:

ROLLFORWARD DATABASE database-alias [USER username [USING password]]

[TO {isotime [ON ALL DBPARTITIONNUMS] [USING LOCAL TIME | USING UTC TIME] |

END OF LOGS [On-DbPartitionNum-Clause]}] [AND {COMPLETE | STOP}] |

{COMPLETE | STOP | CANCEL | QUERY STATUS [USING LOCAL TIME | USING UTC TIME]}

[On-DbPartitionNum-Clause] [TABLESPACE ONLINE | TABLESPACE (tblspace-name

[ {,tblspace-name} ... ]) [ONLINE]] [OVERFLOW LOG PATH (log-directory

[{,log-directory ON DBPARTITIONNUM db-partition-number} ... ])] [NORETRIEVE]

[RECOVER DROPPED TABLE dropped-table-id TO export-directory]

On-DbPartitionNum-Clause:

ON {{DBPARTITIONNUM | DBPARTITIONNUMS} (db-partition-number

[TO db-partition-number] , ... ) | ALL DBPARTITIONNUMS [EXCEPT

{DBPARTITIONNUM | DBPARTITIONNUMS} (db-partition-number

[TO db-partition-number] , ...)]}

(14)数据库前滚只能是OFFLINE模式,表空间前滚可以是ONLINE模式。

总结:

这就介绍完了高可用性备份和恢复。在这个教程中,您了解到:

恢复概念和拥有恢复计划的重要性。

事务(工作单元)是什么,使用事务如何保证数据的完整性。

三种类型的恢复:紧急事故恢复、版本恢复和前滚恢复。

现在您应该熟悉 DB2 事务日志概念:

日志缓冲区

主日志和辅助日志

活动日志、在线归档日志和离线归档日志

数据库配置参数:LOGPRIMARY、LOGSECOND 和 LOGFILSIZ 等

两种类型的日志记录:循环日志记录和归档日志记录(为此必须启用 LOGARCHMETH1 数据库配置参

数)

无限日志记录

可恢复数据库与不可恢复数据库

您了解到数据库备份和表空间备份的概念:

如何使用备份实用程序

增量备份和 delta 备份

如何从 Control Center 中调用 BACKUP 实用程序

备份文件的命名惯例

您了解到数据库恢复和表空间恢复的概念:

如何使用 RESTORE 实用程序

最小时间点

如何从 Control Center 中调用 RESTORE 实用程序

QUIESCE 实用程序可以做些什么

历史文件中包含了什么东西

如何执行重定向恢复

您了解到数据库前滚和表空间前滚的概念:

如何使用 ROLLFORWARD 实用程序

如何使用 ROLLFORWARD 实用程序恢复到一个时间点

如何从 Control Center 中调用 ROLLFORWARD 实用程序

如何使用 RECOVER 实用程序

如何使用 RESTORE 实用程序重建数据库

索引重建和 INDEXREC 配置参数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: