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…

     

如果這文章對你有幫助,請掃左上角微信支付-支付寶,給於打賞,以助博客運營