當前位置: 首頁最新資訊 互聯(lián)網(wǎng) → 在線改變DB2數(shù)據(jù)庫頁大小的實現(xiàn)

在線改變DB2數(shù)據(jù)庫頁大小的實現(xiàn)

更多

為實現(xiàn)在對DB2頁大小進行改變的過程中,表中的數(shù)據(jù)仍然能被訪問的這種“ 在線” 頁大小的轉(zhuǎn)換,可按如下步驟實現(xiàn)進行在線改變DB2頁大小操作:

 

1)如果沒有需要使用的頁大小的表空間或緩沖池存在,應(yīng)首先創(chuàng)建所需頁大小的緩沖池和表空間。

 

2)可使用DB2LOOK工具獲取創(chuàng)建表的DDL語句,如:

 

db2look -d <數(shù)據(jù)庫名> -e -tw <表名> -o <輸出文件名>

 

修改輸出文件,以便將一個表名不同于原表的新表創(chuàng)建在具有所需頁大小的表空間中。

 

3)利用修改后的 DDL 腳本創(chuàng)建一個與原表相同的新表。

 

4)使用如下語句將原表中的數(shù)據(jù)插入到新表中:

 

db2 "insert into <新表表名> (select * from <原表表名>)"

 

5)刪除原表:

 

db2 "drop table <原表表名>"

 

此操作后,應(yīng)用對表中數(shù)據(jù)暫時無法訪問。

 

6)將新表表名更名為原表表名:

 

db2 "rename table <新表表名> to <原表表名>"

 

7)恢復(fù)應(yīng)用對表中數(shù)據(jù)的訪問。

 

此時更名為原表名的新表的頁大小已從原來的頁大小轉(zhuǎn)換為所需頁大小,從而滿足了用戶對該表大小上的新需求。表數(shù)據(jù)僅在整個過程的步驟4)到5)的瞬間不可訪問,其它時間表中的數(shù)據(jù)均處于可訪問的“ 在線” 狀態(tài)。

 

應(yīng)注意的是,上述步驟僅適用于數(shù)據(jù)庫中不存在依賴于該表的對象的情況,如果數(shù)據(jù)庫中存在有依賴于該表的對象,應(yīng)在保存有這些對象的DDL語句后,首先除去這些依賴關(guān)系,再進行原表的刪除和新表更名操作,然后重建這些依賴關(guān)系。

熱門評論
最新評論
發(fā)表評論 查看所有評論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)