本文將為您詳解使用了DB2® V9 的自動存儲功能的數據庫,如何才能進行非增量重定向還原,並對自動存儲功能有詳細的闡述,供您參考,希望對您有所啟迪。
IBM的DB2 V9 引入了自動存儲器管理,使用自動存儲功能可以幫助您簡化表空間的存儲管理,新創建的使用自動存儲功能的表空間,其容器和空間分配完全由 DB2數據庫管理器確定。本文重點介紹使用DB2® V9 自動存儲功能的數據庫如何進行非增量重定向還原。
簡介
數據庫可能會因為軟件或硬件故障而不可用,可能會遇到存儲問題、斷電、應用程序故障或誤操作等各種需要采取不同恢復措施的故障情況。本文重點介紹使用了DB2® V9 的自動存儲功能,不允許增量備份的數據庫如何進行重定向還原。由於使用自動存儲器功能的數據庫在還原方面和以往有了很大區別,客戶在實際使用的過程中容易出現各種問題,所以本文對自動存儲功能會有詳細的闡述。
自動存儲特性最初是在DB2 V8.2.2中引入的,DB2 V9擴展了這一特性,使用自動存儲功能可以幫助您簡化表空間的存儲管理,新創建的使用自動存儲功能的表空間,其容器和空間分配完全由 DB2數據庫管理器確定。
自動存儲管理
自動存儲器跨磁盤和文件系統自動增大數據庫大小。因此,在保持數據庫管理的存儲器性能和靈活性的同時,不再需要管理存儲器容器。在DB2 V9.1中,已對多分區數據庫增加了自動存儲器支持。如果您使用的是帶DPF(Data Partitioning Feature,數據庫分區功能)的企業服務器版,那您可以使用支持自動存儲器功能的多分區數據庫。在DB2 V9中創建新數據庫的時候,默認啟用自動存儲功能,主要目的是簡化表空間的存儲管理,使用自動存儲功能的數據庫有一個或多個相關聯的存儲器路徑,在創建表空間的時候不用指定存儲的路徑等特性。對使用自動存儲器功能的數據庫,其表空間可以使用自動存儲管理,也可以不使用自動存儲管理。對於不使用自動存儲器功能的數據庫,則其表空間不能使用自動存儲管理。
自動存儲器簡化了存儲管理,它使您能夠指定用於數據庫管理器存放表空間數據以及為各種用途分配空間的存儲路徑。另外,在創建和填充表空間時,DB2 將管理這些表空間的容器和空間分配。如果不需要使用自動存儲器,則必須通過運行 CREATE DATABASE 命令並將 AUTOMATIC STORAGE 選項設置為NO,或通過使用 sqlecrea API 並將 SQLEDBDESCEXT 參數設置為 SQL_AUTOMATIC_STORAGE_NO 來創建數據庫。
自動存儲器功能只能在創建數據庫時指定,不能對已經創建的未使用自動存儲器功能的數據庫啟用自動存儲器; 同樣,對創建數據庫時啟用自動存儲器的數據庫也不能禁用自動存儲器,變通的方法就是在創建表空間的時候可以指定是否使用自動存儲器,即雖然數據庫啟用了自動存儲器功能,但可以創建不使用自動存儲器功能的表空間。
由於對多分區配置引入了自動存儲器數據庫,所以更改了 db2look 命令。現在在發出 db2look 命令之前,必須確保所有數據庫分區都是活動的。如果有任何數據庫分區處於不活動狀態,則會發出警告消息,該消息說明無法生成表空間的DDL。此 db2look 命令更改會影響所有表空間類型。
接下來,我們將通過示例的方式分別解釋如何在創建數據庫的時候使用自動存儲器功能。
示例1:創建不使用自動存儲器的DB2數據庫DB2TEST1
CREATE DATABASE DB2TEST1 AUTOMATIC STORAGE NO ON /db2/databases/db2test1
如果在實際過程中不需要使用自動存儲功能,則必須在創建數據庫時將 AUTOMATIC STORAGE 選項設置為 NO,否則,將創建使用自動存儲器功能的數據庫。
示例2:創建使用自動存儲器的DB2數據庫DB2TEST2
CREATE DATABASE DB2TEST2
因為在DB2 V9中創建新數據庫的時候,默認啟用自動存儲功能,我們在創建數據庫的時候沒有顯式將指定AUTOMATIC STORAGE 選項設置為NO,所以新創建的數據庫DB2TEST2 將自動啟用自動存儲功能,其數據庫路徑是使用 dftdbpath 數據庫管理器配置參數來確定,其存儲器路徑也是使用 dftdbpath 數據庫管理器配置參數來確定。
默認創建了3個表空間:SYSCATSPACE、TEMPSPACE1和USERSPACE1,都是使用自動存儲管理。需要注意的是,對USERSPACE1表空間,和其在DB2 V8相比其表空間類型由常規變成了大型。
示例3:創建使用自動存儲器的DB2數據庫DB2TEST3
CREATE DATABASE DB2TEST3 ON /db2/databases/db2test3
因為在DB2 V9中創建新數據庫的時候,默認啟用自動存儲功能,我們在創建數據庫的時候沒有顯式將指定AUTOMATIC STORAGE 選項設置為NO,所以新創建的數據庫DB2TEST3 將自動啟用自動存儲功能,其數據庫路徑是:/db2/databases/db2test3,其存儲器路徑也是:/db2/databases/db2test3。
示例4:創建使用自動存儲器的DB2數據庫DB2TEST4
CREATE DATABASE DB2TEST4 AUTOMATIC STORAGE YES
也可以在創建數據庫的時候顯式將指定AUTOMATIC STORAGE 選項設置為YES,效果和默認時相同,創建的數據庫DB2TEST4也使用自動存儲,其數據庫路徑和存儲器路徑由dftdbpath 數據庫管理器配置參數確定。
示例5:創建使用自動存儲器的DB2數據庫DB2TEST5
CREATE DATABASE DB2TEST5 ON /db2/databases/db2test5/autostorage DBPATH ON /db2/databases/db2test5
因為在DB2 V9中創建新數據庫的時候,默認啟用自動存儲功能,我們在創建數據庫的時候沒有顯式將指定AUTOMATIC STORAGE 選項設置為NO,所以新創建的數據庫DB2TEST5 將自動啟用自動存儲功能,數據庫路徑由DBPATH ON directory參數指定,在當前示例中數據庫路徑是:/db2/databases/db2test5,存儲器路徑由ON directory 參數指定,在當前示例中存儲器路徑是 /db2/databases/db2test5/autostorage。
對於前面顯示的示例,下表總結了所使用的存儲器路徑:
表 1. 自動存儲器數據庫路徑和存儲器路徑