本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用以下IBMDB2項目連線到 z/OS 資料庫 AWS Schema Conversion Tool
您可以使用 AWS SCT 將結構描述、程式碼物件和應用程式程式碼從 IBM Db2 for z/OS 轉換為下列目標。
我RDS的 Amazon SQL
Amazon Aurora 我的SQL兼容版
Amazon RDS 的郵政 SQL
Amazon Aurora 郵政兼容SQL版
做為來源資料庫的 Db2 先決條件
適用於 z/OS 版本 12 的 IBM Db2 函數層級 100 資料庫版本不支援 z/OS 版本 12 的 IBM Db2 大多數新功能。此資料庫版本提供 Db2 版本 11 的後援支援,以及與 Db2 版本 11 共用資料。若要避免轉換 Db2 版本 11 不受支援的功能,建議您使用 IBM Db2 for z/OS 資料庫函數層級 500 或更高版本作為的來源。 AWS SCT
您可以使用下列程式碼範例來檢查來源 IBM Db2 for z/OS 資料庫的版本。
SELECT GETVARIABLE('SYSIBM.VERSION') as version FROM SYSIBM.SYSDUMMY1;
確保此代碼返回版本DSN12015
或更高版本。
您可以使用下列程式碼範例來檢查來源 IBM Db2 for z/OS 資料庫中APPLICATION COMPATIBILITY
特殊暫存器的值。
SELECT CURRENT APPLICATION COMPATIBILITY as version FROM SYSIBM.SYSDUMMY1;
確保此代碼返回版本V12R1M500
或更高版本。
做為來源資料庫的 Db2 (z/OS) 的權限
連線至 Db2 for z/OS 資料庫以及讀取系統目錄和表格所需的權限如下:
SELECT上SYSIBM。 LOCATIONS
SELECT上SYSIBM。 SYSCHECKS
SELECT上SYSIBM。 SYSCOLUMNS
SELECT上SYSIBM。 SYSDATABASE
SELECT上SYSIBM。 SYSDATATYPES
SELECT上SYSIBM。 SYSDUMMY1
SELECT上SYSIBM。 SYSFOREIGNKEYS
SELECT上SYSIBM。 SYSINDEXES
SELECT上SYSIBM。 SYSKEYCOLUSE
SELECT上SYSIBM。 SYSKEYS
SELECT上SYSIBM。 SYSKEYTARGETS
SELECT上SYSIBM。 SYSJAROBJECTS
SELECT上SYSIBM。 SYSPACKAGE
SELECT上SYSIBM。 SYSPARMS
SELECT上SYSIBM。 SYSRELS
SELECT上SYSIBM。 SYSROUTINES
SELECT上SYSIBM。 SYSSEQUENCES
SELECT上SYSIBM。 SYSSEQUENCESDEP
SELECT上SYSIBM。 SYSSYNONYMS
SELECT上SYSIBM。 SYSTABCONST
SELECT上SYSIBM。 SYSTABLES
SELECT上SYSIBM。 SYSTABLESPACE
SELECT上SYSIBM。 SYSTRIGGERS
SELECT上SYSIBM。 SYSVARIABLES
SELECT上SYSIBM。 SYSVIEWS
若要將 Db2 for z/OS 表格轉換為 Postgre SQL 分區資料表,請使用公用RUNSTATS
程式收集資料庫中表格空間和表格的統計資料,如下所示。
LISTDEF YOURLIST INCLUDE TABLESPACES DATABASE
YOURDB
RUNSTATS TABLESPACE LIST YOURLIST TABLE (ALL) INDEX (ALL KEYCARD) UPDATE ALL REPORT YES SHRLEVEL REFERENCE
在上述範例中,將
預留位置取代為來源資料庫的名稱。YOURDB
連接至 Db2,用於 z/OS 作為來源
使用下列程序來連線到您的 Db2 for z/OS 來源資料庫。 AWS SCT
若要連線至 z/OS 用 IBM Db2 來源資料庫
-
在中 AWS Schema Conversion Tool,選擇「新增來源」。
-
針對 z/OS 選擇 Db2,然後選擇「下一步」。
這時系統顯示「添加源」對話框。
-
在「連線名稱」中,輸入資料庫的名稱。 AWS SCT 在左側面板的樹狀結構中顯示此名稱。
-
使用資料庫認證來源 AWS Secrets Manager 或手動輸入:
-
若要使用來自 Secrets Manager 的資料庫認證,請遵循下列指示:
-
在「機AWS 密」中,選擇密碼的名稱。
-
選擇填入來自 Secrets Manager 的資料庫連線對話方塊中自動填入所有值。
如需使用來自 Secrets Manager 之資料庫認證的資訊,請參閱AWS Secrets Manager 中的配置 AWS Schema Conversion Tool。
-
-
若要手動輸入 IBM Db2 for z/OS 來源資料庫連線資訊,請使用下列指示:
參數 動作 伺服器名稱 輸入來源資料庫伺服器的網域名稱系統 (DNS) 名稱或 IP 位址。
伺服器連接埠 輸入用於連接到來源資料庫伺服器的連接埠。
位置 輸入您要存取的 Db2 位置的唯一名稱。
使用者名稱和密碼 輸入要連線到來源資料庫伺服器的資料庫認證。
AWS SCT 只有當您選擇連線至專案中的資料庫時,才會使用此密碼連線至來源資料庫。為了防止公開來源資料庫的密碼,預設 AWS SCT 不會儲存密碼。如果您關閉 AWS SCT 專案並重新開啟它,系統會提示您輸入密碼,以根據需要連線到來源資料庫。
使用 SSL 如果您要使用安全通訊端層 (SSL) 連線到資料庫,請選擇此選項。在SSL標籤上提供下列適用的其他資訊:
-
信任存放區:包含憑證的信任存放區的位置。要使此位置顯示在此處,請確保將其添加到 「全局」設置中。
儲存密碼 AWS SCT 創建一個安全的文件庫來存儲SSL證書和數據庫密碼。開啟此選項後,您可以儲存資料庫密碼並快速連線到資料庫,而無需輸入密碼。
適用於 z/OS 驅動程式路徑的 Db2 輸入用於連接至來源資料庫的驅動程式路徑。如需詳細資訊,請參閱安裝JDBC驅動程式 AWS Schema Conversion Tool。
如果您在全域專案設定中存放驅動程式路徑,驅動程式路徑不會顯示在連線對話方塊中。如需詳細資訊,請參閱在全域設定中儲存驅動程式路徑。
-
-
-
選擇「測試連線」以確認是否 AWS SCT 可以連線到來源資料庫。
-
選擇「Connect」以連線到來源資料庫。
SQL作為目標資料庫的「我的」權限
「我的」SQL 作為目標所需的權限如下:
CREATE開啟 * 。 *
ALTER開啟 * 。 *
DROP開啟 * 。 *
INDEX開啟 * 。 *
REFERENCES開啟 * 。 *
SELECT開啟 * 。 *
CREATEVIEW開啟 * 。 *
SHOWVIEW開啟 * 。 *
TRIGGER開啟 * 。 *
CREATEROUTINE開啟 * 。 *
ALTERROUTINE開啟 * 。 *
EXECUTE開啟 * 。 *
SELECT在謎題上
INSERT,UPDATE上 AWS _ DB2ZOS _ EXT。 *
INSERT,UPDATE,DELETE上 AWS _ DB2ZOS _ EXT _ DATA。 *
CREATETEMPORARYTABLES在 AWS _ DB2ZOS EXT _ 上DATA。 *
您可以使用下列程式碼範例來建立資料庫使用者並授與權限。
CREATE USER '
user_name
' IDENTIFIED BY 'your_password
'; GRANT CREATE ON *.* TO 'user_name
'; GRANT ALTER ON *.* TO 'user_name
'; GRANT DROP ON *.* TO 'user_name
'; GRANT INDEX ON *.* TO 'user_name
'; GRANT REFERENCES ON *.* TO 'user_name
'; GRANT SELECT ON *.* TO 'user_name
'; GRANT CREATE VIEW ON *.* TO 'user_name
'; GRANT SHOW VIEW ON *.* TO 'user_name
'; GRANT TRIGGER ON *.* TO 'user_name
'; GRANT CREATE ROUTINE ON *.* TO 'user_name
'; GRANT ALTER ROUTINE ON *.* TO 'user_name
'; GRANT EXECUTE ON *.* TO 'user_name
'; GRANT SELECT ON mysql.proc TO 'user_name
'; GRANT INSERT, UPDATE ON AWS_DB2ZOS_EXT.* TO 'user_name
'; GRANT INSERT, UPDATE, DELETE ON AWS_DB2ZOS_EXT_DATA.* TO 'user_name
'; GRANT CREATE TEMPORARY TABLES ON AWS_DB2ZOS_EXT_DATA.* TO 'user_name
';
在前面的例子中,替換 user_name
使用您的用戶的名稱。然後,更換 your_password
使用安全密碼。
若要將 Amazon 用RDS於我SQL的目標,請將log_bin_trust_function_creators
參數設定為 true,並將設定character_set_server
為latin1
。若要設定這些參數,請建立新的參數群組,或是修改現有的資料庫參數群組。
若要使用我的 Aurora SQL 作為目標,請將log_bin_trust_function_creators
參數設定為 true,並設定character_set_server
為latin1
。此外,將lower_case_table_names
參數設定為 true。若要設定這些參數,請建立新的參數群組,或是修改現有的資料庫參數群組。
SQL作為目標資料庫的權限
要使用 Postgre SQL 作為目標, AWS SCT 需要有CREATE ON DATABASE
權限。請確定您已為每個目標 Postgre SQL 資料庫授與此權限。
要使用 Amazon RDS 的 Postgre SQL 作為目標, AWS SCT 需要rds_superuser
特權。
若要使用轉換後的公用同義字,請將資料庫預設搜尋路徑變更為"$user", public_synonyms, public
。
您可以使用下列程式碼範例來建立資料庫使用者並授與權限。
CREATE ROLE
user_name
LOGIN PASSWORD 'your_password
'; GRANT CREATE ON DATABASEdb_name
TOuser_name
; GRANT rds_superuser TOuser_name
; ALTER DATABASEdb_name
SET SEARCH_PATH = "$user", public_synonyms, public;
在前面的例子中,替換 user_name
使用您的用戶的名稱。然後,更換 db_name
使用目標數據庫的名稱。最後,更換 your_password
使用安全密碼。
在 Postgre 中SQL,只有結構描述擁有者或 a superuser
可以刪除結構描述。擁有者可以刪除結構描述和此結構描述包含的所有物件,即使結構描述的擁有者不擁有其某些物件也是如此。
當您使用不同的使用者將不同的結構描述轉換並套用至目標資料庫時,您可能會在無法卸除結構描述時 AWS SCT 收到錯誤訊息。若要避免此錯誤訊息,請使用 superuser
角色。
Db2 (用於 z/OS) 到後SQL置轉換設定
若要編輯 z/OS 的 Db2 SQL 轉換設定,請選擇 [設定],然後選擇 [轉換設定]。從上方清單中選擇 Db2 表示 z/OS,然後選擇 Db2 代表 z/OS — Postgre SQL 或 Db2 代表 z/OS — Amazon Aurora (與 Postgre 相容)。SQL AWS SCT 顯示 IBM Db2 (用於 z/OS 到波斯格雷轉換) 的所有可用設定。SQL
Db2 (z/OS) 轉換到後置SQL轉換設定中 AWS SCT 包含下列選項:
-
用於限制轉換後代碼中行動項目的註釋數量。
針對所選嚴重性及更高之行動項目的已轉換程式碼中新增註解,請選擇行動項目的嚴重性。 AWS SCT 在已轉換的程式碼中加入所選嚴重性及更高嚴重性之行動項目的註解。
例如,若要將已轉換程式碼中的註解數量降到最低,請選擇僅限錯誤。若要在已轉換的程式碼中包含所有動作項目的註解,請選擇所有訊息。
-
為目標數據庫中的約束生成唯一的名稱。
在 Postgre 中SQL,您使用的所有條件約束名稱都必須是唯一的。 AWS SCT 可以通過將帶有表名的前綴添加到約束的名稱中,為轉換後的代碼中的約束生成唯一名稱。若要確保為條件約束 AWS SCT 產生唯一的名稱,請選取「產生限制條件的唯一名稱」。
-
在轉換後的代碼中保留語句中列名,表達式和子DML句的格式。
AWS SCT 可以將陳述式中的欄名稱、運算式和子DML句的版面配置保持在與原始程式碼中相似的位置和順序。若要這樣做,請在陳述式中保留欄名稱、運算式和子DML句的格式選取是。
-
從轉換範圍中排除表格分割區。
AWS SCT 可以在轉換過程中跳過源表的所有分區。若要這麼做,請選取 [從轉換範圍排除表格分割區]。
-
若要針對依成長分割的資料表使用自動磁碟分割。
對於資料移轉, AWS SCT 可以自動分割大於指定大小的所有表格。若要使用此選項,請選取強制分割大於的表格,然後輸入以 GB 為單位的表格大小。接下來,輸入分區的數量。 AWS SCT 當您開啟此選項時,會考慮來源資料庫的直接存取儲存裝置 (DASD) 大小。
AWS SCT 可以自動確定分區的數量。若要這樣做,請選取按比例增加分割區的數目,然後輸入最大分割區數目。
-
要返回動態結果集作為 refcursor 數據類型的值的數組。
AWS SCT 可以將返回動態結果集的源過程轉換為具有開放反射器數組作為附加輸出參數的過程。若要這樣做,請選取「使用反射器陣列」以傳回所有動態結果集。
-
要指定用於將日期和時間值轉換為字符串表示的標準。
AWS SCT 可以使用其中一種支援的產業格式,將日期和時間值轉換為字串表示法。若要這樣做,請選取「使用日期值的字串表示」或「使用時間值的字串表示」。接下來,選擇以下標準之一。
國際標準組織 (ISO)
IBM歐標 (EUR)
IBMUSA標準 (USA)
日本工業標準基督教時代 (JIS)