全部產品
Search
文件中心

ApsaraDB for OceanBase:通過遷移評估採集器採集資料庫物件

更新時間:Jul 23, 2024

您可以自行採集資料庫物件定義,也可以下載遷移評估採集器完成資料庫物件的採集。本文為您介紹如何通過遷移評估採集器採集資料庫物件。

背景資訊

遷移評估採集器是用於在公用雲端環境採集使用者 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 及以上版本。

  1. 登入 OceanBase 資料庫管理主控台

  2. 在左側導覽列,單擊 遷移評估 > 相容性任務

  3. 相容性評估 頁面的右上方,單擊 下載採集器

  4. 下載採集器 對話方塊,單擊 點擊下載

  5. 下載遷移評估採集器後,直接解壓即可完成安裝。

    tar zxvf collector.tar.gz
    cd oma-collector-1.0.0

    解壓完成後,目錄下包括 oma-collector-1.0.0.jar dump 檔案夾。

採集資料

  1. 進入遷移評估目錄。

    cd oma-collector-1.0.0
  2. 執行下述命令採集資料。

    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,此處需要大寫。
  3. 按斷行符號鍵,輸入來來源資料庫的密碼。

  4. 查看運行結果。

    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]下完成評估