本文由簡體中文內容自動轉碼而成。阿里雲不保證此自動轉碼的準確性、完整性及時效性。本文内容請以簡體中文版本為準。

資料庫採集器問題

更新時間:2024-07-06 02:27

本文解釋一些資料庫採集問題。

  • 採集對資料庫壓力大嗎?

    • 採集過程全部都是讀取操作,唯一消耗CPU資源的操作來自於getddl操作,一般壓力都很小。但為了採集順利進行,建議在業務低峰期執行,否則容易出現Socket Timeout的逾時錯誤(採集sql無法執行完成),導致必須重新採集。
  • 採集的資料量大嗎?主要採集哪些內容?

    • 採集主要收集資料庫本身記錄的一些統計資訊,主要的資料量來自資料庫物件的DDL和記錄的歷史SQL文本資訊,所有大小取決於客戶的對象數量、大小和SQL文字大小,一般都不會超過1G。
  • 終端提示“ connection to database fail, please check connection parameters ”如何處理?

    • 請查看資料庫使用者名稱(-u)、密碼(-p )、連接埠號碼(-P)、服務名(-d)是否正確。
  • 終端提示“ TNS:listener does not currently know of service requested in connect descriptor"如何處理?

    • 請查看串連參數中的-d 參數是否為ServiceName。
  • 機器本地安裝有 jdk(版本低於 1.8),造成啟動失敗?

    • 採集端運行時會優先選擇本地的 jdk 運行,如果 jdk 低於 1.8 版本會提示版本不支援, 請將運行指令碼 collect_.sh 中 JAVA_PATH 強制指定為安裝目錄 jdk (將 JAVA_PATH=`which java` 換成 JAVA_PATH='' )。
  • 如何在Mac OS上面運行採集器?

    • 需要本地自行安裝 jdk 1.8 以上版本 jre,下載Linux版本採集端,運行命令即可。
  • 採集結果中index對象數量不一致?

    • Oracle 資料庫中的 Unique Index 與 Primary Index 對象合并至 Table 對象的 DDL 中, 不單獨展示。
  • Oracle express版本採集少sqltext 資訊?

    • 需要在資料庫上執行:alter system set control_management_pack_access="DIAGNOSTIC+TUNING";exec dbms_workload_repository.create_snapshot(); 開啟此參數不用重啟 Oracle 資料庫。然後再開始採集即可。
  • 終端提示“ insufficient account permission, please refer to user guide and re-configure account ”如何處理?

    • 請確認設定資料庫採集帳號時許可權是否齊全,或重新授權採集帳號。
  • 終端提示“ GC overhead limit exceeded ”如何處理?

    • 擴大採集器的實體記憶體,並調整啟動指令碼中的JVM_OPTIONS參數為更大啟動記憶體(-Xmx16g )。
  • 如何在 Mac OS / Linux 上面查看採集結果中的大檔案?

    • 將大檔案拷貝到一個臨時目錄下,使用split -b 10m eoa_tmp_objects_ext.csv命令將大檔案切分成小檔案分別查看(內容與大檔案一致)即可。其中,小檔案以 xaa / xab 等檔案名稱存在同級目錄下。
  • 終端提示“ transaction log is not configured, please refer to FAQ and modify log configuration ”如何處理?(開機記錄有風險,操作需謹慎)。

      1. 設定歸檔檔案存放路徑,根據 Oracle 資料庫運行環境設定。
        alter system set log_archive_dest_1='location=<file_path>';
      2. 關閉資料庫並啟動到 mount 狀態(在允許的情況下)。
        shutdown immediate
        startup mount                     
      3. 設定資料庫歸檔模式。
        alter database archivelog;               
      4. 開啟資料庫。
        alter database open;                     
      5. 驗證 supplemental log data 是否開啟。
        select t.SUPPLEMENTAL_LOG_DATA_MIN from v$database t;                       

        如果傳回值為 NO(未開啟),則執行:

        alter database add supplemental log data;                     
    文檔反饋