RDS 適用於 Db2 的 資料表空間的存放程序 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

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。有效值:409681921638432768。預設值是當您透過呼叫 建立資料庫時使用的頁面大小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。有效值:1100。預設值為空。

如果您未設定值,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。有效值:1100。預設值為 0

max_size

資料表空間的大小上限。資料類型為 varchar。有效值:integer K | M | G、 或 NONE。預設值為 NONE

reduce_max

指定是否將高浮水印減少至其上限。資料類型為 char。預設值為 N

reduce_stop

指定要中斷上一個 reduce_maxreduce_value命令。資料類型為 char。預設值為 N

reduce_value

減少資料表空間高浮水印的數字或百分比。資料類型為 varchar。有效值:integer K| M | G、 或 1100。預設值為 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_maxreduce_stopreduce_valuelower_high_waterlower_high_water_stopswitch_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資料庫的資料表空間。

範例

下列範例會在名為 SP8SP9的資料庫中重新命名名為 的資料表空間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')"