db2与oracle的全面对比16


3. DB2 UDB 数据库结构

    驱动器/目录 —— CREATE DATABASE 命令中指定的驱动器或目录。

    DB2 实例名称 —— DB2 实例所有者的名称。

    NODE0000 —— 数据库的分区数。0 表示非分区的数据库。

    SQL00001 —— 1 开始的数据库 ID

    SQLOGDIR —— 数据库的默认日志目录。

    SQLT0000.0 —— 目录表空间 SYSCATSPACE

    SQLT0001.0 —— 临时表空间 TEMPSPACE1

    SQLT0002.0 —— 用户表空间 USERSPACE1

 

12.1    冷备(脱机)

清单 1. 命令行 backup 语法

 

                    
 

 

 

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

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

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

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

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

[WITHOUT PROMPTING]

 


 

 

1. 命令行 backup 语法

 

                    
 

 

 

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

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

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

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

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

      [WITHOUT PROMPTING]

 


									

 

 

要在脱机模式下执行备份,只需发出以下 DB2 命令即可:


清单 2. 简单的脱机备份示例

 

                    

 

 

backup database sample to e:\tmp

 


									

 

 

或者您可以有更多的选项,比如:


清单 3. 具有某些参数的脱机备份示例

 

                    
 

 

 

backup database sample to e:\tmp

backup database sample to e:\tmp1, e:\tmp2

with 4 buffers

buffer 4096

parallelism 2

 


									

 

 

当发出 backup 命令时,将创建备份映像。注意,对于 UNIX Windows,备份文件名称有点不同。对于 Windows,路径和文件名将具有以下格式:


16. Windows 中的备份文件

UNIX 备份文件看起来将像这样:


17. UNIX 备份文件

恢复命令:

RESTORE DATABASE source-database-alias

{ restore-options | CONTINUE | ABORT }

restore-options:

[USER username [USING password]] [{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]

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

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

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

 

 

如:

db2 restore database sample from e:\tmp taken at 2004061710 replace existing

db2 set tablespace containers for 0 using (path ‘E:\tmp\0’)

(note if it’s a DMS tablespace, you will need a set tablespace containers for 0

using (file ‘e:\tmp\0.dms’ <SIZE>)

db2 restore database sample continue

 

 

 

 

12.2    热备 (联机)

 

DB2 UDB 执行时间点恢复的机制类似于 Oracle。要了解 DB2 UDB 联机备份和恢复,就需要了解归档日志记录。有三种我们需要熟悉的日志定义:

    活动日志 —— 该日志包含没有提交或回滚的事务,或者已提交但尚未刷新到磁盘的事务。

    联机归档日志 —— 该日志包含已提交并且被记录到硬盘的事务的信息,和活动日志位于同一目录。

    脱机归档日志 —— 如果将联机归档日志从活动日志所在目录移动到其他目录或磁带中,就成为了脱机归档日志。

有许多与日志记录有关的配置参数:

    LOGFILSIZ —— 每个日志文件的大小,默认值是 250,单位为 4KB

    LOGPRIMARY —— 主日志文件的个数(默认值是 3)。

    LOGSECOND —— 主日志文件占用满时,可以分配的二级日志文件的个数。当把这个参数设为 -1 时(版本 8),可以使用无限数量的活动日志。

    NEWLOGPATH —— 用来更改日志文件的存储位置。要想使该参数生效,需要重新激活数据库。

    MIRRORLOGPATH —— 日志文件的镜像路径,以避免单点故障。

    OVERFLOWLOGPATH —— 指定前滚期间可以在哪些目录搜索需要的日志,以允许前滚操作能访问多个目录中的日志。

    USEREXIT——用于启动用户出口功能,进行日志的自动归档。

    BLK_LOG_DSK_FUL—— DB2 无法在活动日志路径中创建新日志文件时,防止生成磁盘已满错误。

为了使用联机备份,必须打开归档日志记录。通过将 LOGRETAIN 设为 ON,可以打开归档日志记录。

归档日志记录是一种不同于循环日志记录的日志记录机制,因为循环日志记录重写了提交的日志,而归档日志记录归档了提交的日志。

在归档日志记录中,不能重用已经变成归档日志的日志。要移动那些联机归档日志,您需要手动移动它们或者使用用户出口程序(user exit)来移动它们。
27举例说明了归档日志记录机制:


27. 活动、联机和归档的日志记录

图中的 LOG (n+1)是活动日志,log (n) log (n-i)(其中 i<=n)都是联机归档日志。这些归档日志既可以位于存储活动日志的路径中,也可以使用用户出口程序来指定将保存它们的目录或媒介。

默认情况下,活动和联机归档日志保存在 SQLOGDIR 目录中。NEWLOGPATH 数据库配置参数确定了将在哪里存储未来的活动归档日志。要想使 NEWLOGPATH 参数生效,需要停用数据库(目的是关闭所有活动日志文件)。然后,重新激活数据库将导致在新路径中创建新日志文件,原来的归档日志将留在原来的路径中。

当进行联机备份时,将记录所有的数据库事务。在完成联机备份之后,DB2 将强行关闭当前活动日志,并对其进行归档,如
28 所示:


28. 正在关闭的活动日志

以下文章点击率最高

Loading…

     

如果这文章对你有帮助,请扫左上角微信支付-支付宝,给于打赏,以助博客运营