您可以自行採集資料庫物件定義,也可以下載遷移評估採集器完成資料庫物件的採集。本文為您介紹如何通過遷移評估採集器採集資料庫物件。
背景資訊
遷移評估採集器是用於在公用雲端環境採集使用者 Schema 資料的工具。
您在公用雲端環境下不可以使用公網串連自己的 Oracle 執行個體,請下載遷移評估採集器並在內網環境運行,採集對應 Schema 的對象 DDL 語句後,再手工上傳至遷移評估公用雲端環境中進行評估。
前提條件
請確保可以直接存取到需要評估的 Oracle 資料庫。配置的資料庫使用者需要具備的許可權如下:
至少具備 create session 許可權,以確保正常串連。
具備 select any dictionary 的許可權,本程式會掃描
DBA_OBJECTS
表擷取待評估的對象。具備 select_catalog_role 角色,確保本程式能夠正常使用
DBMS_METADATA.GET_DDL
函數來擷取相應對象的 DDL 語句。
您可以執行下述命令,檢查資料庫使用者是否具備相關許可權。此處以命名執行評估任務的 Oracle 資料庫使用者為 OMA 為例。
-- 該 SQL 陳述式的返回中應包含 CONNECT、RESOURCE 和 SELECT_CATALOG_ROLE
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'OMA';
-- 該 SQL 陳述式的返回中應包含 CREATE SESSION 和 SELECT ANY DICTIONARY
SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'OMA';
如果您需要給 Oracle 資料庫使用者 OMA 授予上述許可權,請執行下述語句。
GRANT CREATE SESSION,RESOURCE TO OMA;
GRANT SELECT ANY DICTIONARY TO OMA;
GRANT SELECT_CATALOG_ROLE TO OMA;
安裝遷移評估採集器
遷移評估採集器使用 Java 編寫,依賴 JDK 1.8 及以上版本。
在左側導覽列,單擊 遷移評估 > 相容性任務。
在 相容性評估 頁面的右上方,單擊 下載採集器。
在 下載採集器 對話方塊,單擊 點擊下載。
下載遷移評估採集器後,直接解壓即可完成安裝。
tar zxvf collector.tar.gz cd oma-collector-1.0.0
解壓完成後,目錄下包括
oma-collector-1.0.0.jar
和dump
檔案夾。
採集資料
進入遷移評估目錄。
cd oma-collector-1.0.0
執行下述命令採集資料。
java -jar oma-collector-1.0.0.jar \ -t ORACLE \ #資料庫的類型,包括 ORACLE/MYSQL。此處需要大寫。 -v 11g \ #資料庫的版本。ORACLE 資料庫包括 11g、12c、18c 和 19c,MYSQL 資料庫包括 5.6、5.7 和 8.0。 -h 10.10.10.1 \ #資料庫的地址。 -P 1111 \ #資料庫的連接埠。 -u abcd \ #登入的使用者名稱。 -p \ #登入使用者的密碼,斷行符號後會要求手動輸入密碼。 -sn orcl11g.aa.oracle.com \ #Service Name。如果使用 SID 串連使用,則 -sid 參數代替 -sn。 -s "ABCD,AAA" #需要掃描的 Schema,此處需要大寫。
按斷行符號鍵,輸入來來源資料庫的密碼。
查看運行結果。
OceanBase Migration Assessment Collector version : 1.0.0 Power by OceanBase Ant Group [INFO ] 17:10:50.320 [main] c.alibaba.druid.pool.DruidDataSource - {dataSource-1} inited [INFO ] 17:10:51.794 [main] c.a.o.o.c.scan.OracleDDLScanner - ALL OBJECT COUNT [384] [ OBDBA(384|384) ] Progress: ################################################## |100% [INFO ] 17:11:19.040 [main] c.a.o.oma.collector.OmaCollector - scan finished ... close the file stream [INFO ] 17:11:19.047 [main] c.a.o.oma.collector.OmaCollector - OBDBA scan finish , write to file [.\dump\xxxx.oma.sql] [INFO ] 17:11:19.246 [main] c.a.o.o.c.scan.OracleDDLScanner - ALL OBJECT COUNT [0] [INFO ] 17:11:19.246 [main] c.a.o.oma.collector.OmaCollector - scan finished ... close the file stream [INFO ] 17:11:19.262 [main] c.a.o.oma.collector.OmaCollector - AAA scan finish , can not found any object [INFO ] 17:11:19.262 [main] c.a.o.oma.collector.OmaCollector - 請將 [.\dump\xxxx.oma.sql] 上傳到OceanBase公用雲端環境[https://www.aliyun.com/product/oceanbase]下完成評估.
運行完成後,會在 dump 目錄下產生對應的採集檔案
xxxx.oma.sql
。程式將提示您:請將 [.\dump\xxxx.oma.sql] 上傳到 OceanBase 公用雲端環境[https://www.aliyun.com/product/oceanbase]下完成評估
。