本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
RDS 適用於 Db2 的 資料表空間的存放程序
下列預存程序會管理 Amazon RDS for Db2 資料庫的資料表空間。若要執行這些程序,主要使用者必須先連線到rdsadmin
資料庫。
主題
rdsadmin.create_tablespace
建立資料表空間。
語法
db2 "call rdsadmin.create_tablespace( '
database_name
', 'tablespace_name
', 'buffer_pool_name
',tablespace_page_size
,tablespace_initial_size
,tablespace_increase_size
, 'tablespace_type
')"
參數
下列是必要參數:
database_name
-
要在其中建立資料表空間的資料庫名稱。資料類型為
varchar
。 tablespace_name
要建立的資料表空間名稱。資料類型為
varchar
。資料表空間名稱具有下列限制:
它不能與此資料庫中現有資料表空間的名稱相同。
它只能包含字元
_$#@a-zA-Z0-9
。它不能以
_
或 開頭$
。它不能以 開頭
SYS
。
下列是選用參數:
buffer_pool_name
-
要指派資料表空間的緩衝集區名稱。資料類型為
varchar
。預設為空字串。重要
您必須已有相同頁面大小的緩衝集區,才能與資料表空間建立關聯。
tablespace_page_size
-
資料表空間的頁面大小,以位元組為單位。資料類型為
integer
。有效值:4096
、8192
、16384
、32768
。預設值是當您透過呼叫 建立資料庫時使用的頁面大小rdsadmin.create_database。重要
Amazon RDS支援 4 KiB8 KiB 和 16 KiB 頁面的寫入原子。相反地,32 KiB 頁面的風險撕裂寫入,或部分資料寫入桌面。如果您使用 32 KiB 頁面,建議您啟用 point-in-time復原和自動備份。否則,您會面臨無法從撕裂頁面復原的風險。如需詳細資訊,請參閱 備份簡介 和 將資料庫執行個體還原至 Amazon 的指定時間 RDS。
tablespace_initial_size
-
資料表空間的初始大小,以 KB (KB) 為單位。資料類型為
integer
。有效值:48
或更高。預設值為空。如果您未設定值,Db2 會為您設定適當的值。
注意
此參數不適用於暫存資料表空間,因為系統會管理暫存資料表空間。
tablespace_increase_size
-
當資料表空間變滿時,要增加資料表空間的百分比。資料類型為
integer
。有效值:1
–100
。預設值為空。如果您未設定值,Db2 會為您設定適當的值。
注意
此參數不適用於暫存資料表空間,因為系統會管理暫存資料表空間。
tablespace_type
-
資料表空間的類型。資料類型為
char
。有效值:U
(適用於使用者資料)、T
(適用於使用者暫存資料) 或S
(適用於系統暫存資料)。預設值為U
。
使用須知
RDS for Db2 一律會為資料建立大型資料庫。
如需檢查建立資料表空間狀態的資訊,請參閱 rdsadmin.get_task_status。
範例
下列範例會建立名為 的資料表空間,SP8
並指派名為 BP8
之資料庫的緩衝集區TESTDB
。資料表空間的初始資料表空間頁面大小為 4,096 位元組,初始資料表空間為 1,000 KB,資料表大小增加設定為 50%。
db2 "call rdsadmin.create_tablespace( 'TESTDB', 'SP8', 'BP8', 4096, 1000, 50)"
下列範例會建立名為 的暫存資料表空間SP8
。它會為名為 BP8
的資料庫指派大小為 8 KiB 的緩衝集區TESTDB
。
db2 "call rdsadmin.create_tablespace( 'TESTDB', 'SP8', 'BP8', 8192, NULL, NULL, 'T')"
rdsadmin.alter_tablespace
修改資料表空間。
語法
db2 "call rdsadmin.alter_tablespace( '
database_name
', 'tablespace_name
', 'buffer_pool_name
',tablespace_increase_size
, 'max_size
', 'reduce_max
', 'reduce_stop
', 'reduce_value
', 'lower_high_water
', 'lower_high_water_stop
', 'switch_online
')"
參數
下列是必要參數:
database_name
-
使用資料表空間的資料庫名稱。資料類型為
varchar
。 tablespace_name
-
要變更的資料表空間名稱。資料類型為
varchar
。
下列是選用參數:
buffer_pool_name
-
要指派資料表空間的緩衝集區名稱。資料類型為
varchar
。預設為空字串。重要
您必須已有相同頁面大小的緩衝集區,才能與資料表空間建立關聯。
tablespace_increase_size
-
當資料表空間變滿時,要增加資料表空間的百分比。資料類型為
integer
。有效值:1
–100
。預設值為0
。 max_size
-
資料表空間的大小上限。資料類型為
varchar
。有效值:integer
K
|M
|G
、 或NONE
。預設值為NONE
。 reduce_max
-
指定是否將高浮水印減少至其上限。資料類型為
char
。預設值為N
。 reduce_stop
-
指定要中斷上一個
reduce_max
或reduce_value
命令。資料類型為char
。預設值為N
。 reduce_value
-
減少資料表空間高浮水印的數字或百分比。資料類型為
varchar
。有效值:integer
K
|M
|G
、 或1
–100
。預設值為N
。 lower_high_water
-
指定是否執行
ALTER TABLESPACE LOWER HIGH WATER MARK
命令。資料類型為char
。預設值為N
。 lower_high_water_stop
-
指定是否執行
ALTER TABLESPACE LOWER HIGH WATER MARK STOP
命令。資料類型為char
。預設值為N
。 switch_online
-
指定是否執行
ALTER TABLESPACE SWITCH ONLINE
命令。資料類型為char
。預設值為N
。
使用須知
選用參數 reduce_max
、reduce_stop
、reduce_value
、lower_high_water
、 lower_high_water_stop
和 switch_online
是互斥的。您無法在 rdsadmin.alter_tablespace
命令中將它們與任何其他選用參數結合buffer_pool_name
,例如 。如果您在 rdsadmin.alter_tablespace
命令中將這些參數與任何其他選用參數合併,則當您執行 時rdsadmin.get_task_status
,Db2 會傳回如下錯誤:
DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned:
SQL1763N Invalid ALTER TABLESPACE statement for table space "TBSP_TEST" due to reason "12"
如需檢查變更資料表空間狀態的相關資訊,請參閱 rdsadmin.get_task_status。
範例
下列範例會變更名為 的資料表空間,SP8
並指派名為 BP8
的緩衝集區,該緩衝集區用於名為 的資料庫,TESTDB
以降低高浮水印。
db2 "call rdsadmin.alter_tablespace( 'TESTDB', 'SP8', 'BP8', NULL, NULL, 'Y')"
下列範例會在資料庫 TBSP_TEST
中呼叫的資料表空間上執行 REDUCE MAX
命令TESTDB
。
db2 "call rdsadmin.alter_tablespace( 'TESTDB', 'TBSP_TEST', NULL, NULL, NULL, 'Y')"
下列範例會在資料庫 TBSP_TEST
中呼叫的資料表空間上執行 REDUCE STOP
命令TESTDB
。
db2 "call rdsadmin.alter_tablespace( 'TESTDB', 'TBSP_TEST', NULL, NULL, NULL, NULL, 'Y')"
rdsadmin.rename_tablespace
重新命名資料表空間。
語法
db2 "call rdsadmin.rename_tablespace( ?, '
database_name
', 'source_tablespace_name
', 'target_tablespace_name
')"
參數
下列是必要參數:
- ?
-
輸出錯誤訊息的參數標記。此參數僅接受 ?。
database_name
-
資料表空間所屬的資料庫名稱。資料類型為
varchar
。 source_tablespace_name
-
要重新命名的資料表空間名稱。資料類型為
varchar
。 target_tablespace_name
-
資料表空間的新名稱。資料類型為
varchar
。新名稱具有下列限制:
它不能與現有資料表空間的名稱相同。
它只能包含字元
_$#@a-zA-Z0-9
。它不能以
_
或 開頭$
。它不能以 開頭
SYS
。
使用須知
如需檢查重新命名資料表空間狀態的資訊,請參閱 rdsadmin.get_task_status。
您無法重新命名屬於rdsadmin
資料庫的資料表空間。
範例
下列範例會在名為 SP8
SP9
的資料庫中重新命名名為 的資料表空間TESTDB
。
db2 "call rdsadmin.rename_tablespace( ?, 'TESTDB', 'SP8'. 'SP9')"
rdsadmin.drop_tablespace
捨棄資料表空間。
語法
db2 "call rdsadmin.drop_tablespace( '
database_name
', 'tablespace_name
')"
參數
下列是必要參數:
database_name
-
資料表空間所屬的資料庫名稱。資料類型為
varchar
。 tablespace_name
-
要捨棄的資料表空間名稱。資料類型為
varchar
。
使用須知
如需有關檢查捨棄資料表空間狀態的資訊,請參閱 rdsadmin.get_task_status。
範例
下列範例SP8
會從名為 的資料庫捨棄呼叫的資料表空間TESTDB
。
db2 "call rdsadmin.drop_tablespace( 'TESTDB', 'SP8')"