首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 診斷工具 RDA 安裝與使用全攻略:從部署到報告分析

     編輯:Oracle 資料庫基礎

前言

RDA (Remote Diagnostic Agent) 是 Oracle 官方提供的輕量級診斷蒐集工具,能一次性採集作業系統、資料庫、中介層、叢集等全棧配置與效能數據,且不修改任何系統參數。Oracle Support 強烈建議開 SR 時附上 RDA 報告,可大幅縮短問題診斷週期。本文涵蓋支援矩陣、安裝細節、採集流程、報告解讀重點與常見坑點。


一、支援矩陣速查

類別支援範圍
作業系統IBM AIX、Intel Linux (RHEL/SUSE)、HP-UX 10/11、HP Tru64、Sun Solaris 2.6-10、Windows XP/2000/2003
Oracle 產品RDBMS (SE/EE)、RAC (單節點採集)、OAS/iAS、OMS/Grid Control/DB Control、OLAP、Developer、Collaboration Suite、Networking

二、核心診斷領域

  • 效能調優(SQL、等待事件、Latch、SGA/PGA)
  • 安裝/升級/遷移問題
  • 配置合規性檢查
  • 內部錯誤 (ORA-600/ORA-7445) 現場保護

三、安裝部署(以 Unix/Linux 為例,版本 4.12+)

3.1 取得軟體

  • 來源:My Oracle Support (Metalink) 文檔 Doc ID 314422.1,需有效 CSI。
  • 檔案:rda.tar.gz(約 10-20MB)。

3.2 關鍵安裝守則(避坑指南)

  1. 嚴禁在 Windows 解壓再傳輸:Shell 腳本換行符 (LF) 會被轉為 CRLF,導致執行失敗。
  2. FTP 必須用 Binary 模式:確保二進位完整性。
  3. 解壓指令:
    gunzip rda.tar.gz
    tar xvf rda.tar
    
  4. 進入目錄測試:cd rda && ./rda.sh -c(僅檢查環境,不採集)。

四、採集流程完整步驟

4.1 首次採集:互動式初始配置

$ ./rda.sh -S

依提示輸入:

  • Oracle Home 路徑、SID、監聽埠。
  • 是否採集 RAC、ASM、OAS 等元件。
  • 關鍵步驟:輸入 DBA 權限帳號(建議 / as sysdba 模式):
    Enter an Oracle User ID (userid only) to view DBA_ and V$ tables
    If RDA will be run under the Oracle software owner's ID, enter a '/' here,
    and select Y at the SYSDBA prompt to avoid being prompted for the database password at runtime.
    Hit 'Return' to accept the default (system): /
    Is '/' a sysdba user (will connect as sysdba) (Y/N)? Y
    

完成後生成 setup.cfg、setup.bak,後續可直接編輯檔案調整參數,無需重跑向導。

4.2 正式採集

# 標準採集(背景執行建議加 nohup)
$ ./rda.sh

# 詳細模式(即時顯示進度,便於排查卡住)
$ ./rda.sh -v

過程中可能提示輸入:SYS/SYSMAN/其他帳號密碼(若未在配置中預存)。

4.3 產出檔案

  • 壓縮報告:./output/RDA_<hostname>.zip
  • 採集日誌:./output/RDA_<hostname>.log

4.4 重新配置並重跑

$ rm ./output/RDA_*.zip
$ ./rda.sh -Svf   # 重新互動配置
$ ./rda.sh -v     # 重新採集

五、報告解讀:DBA 必看 10 大重點區塊

解壓縮 ZIP,用瀏覽器開啟 <report_group>__start.htm。

報告區塊關鍵關注點異常徵兆
Database SPFile Parameters初始化參數完整清單非預設值、隱含參數、與最佳實踐偏離
SGA InformationSGA 元件大小、動態調整歷程共用池碎片化、大池不足、記憶體標靶未達標
Sessions and Processes採集時刻會話分布、限制使用率逼近 PROCESSES/SESSIONS 上限、長鎖定會話
V$System_Event實例級等待事件累計Top 5:log file sync、db file scattered/sequential read、enqueue、latch free、free buffer waits
V$Session_Wait即時會話等待快照大量會話同一事件等待(熱塊、熱索引)
Latch InformationLatch 爭用統計Cache buffers chains、Library cache、Shared pool latch 高睡眠/等待
Tablespaces表空間類型、使用率、自動擴展、檔案分布使用率 >85%、不可擴展、臨時表空間爆滿
Database Files資料檔路徑、大小、使用率、線上/離線檔案系統層面空間不足、ASM 磁碟群組不平衡
Invalid Objects失效物件清單任何 INVALID 物件需立即編譯/排查
All Errors近期資料庫錯誤彙總ORA-600/7445、ORA-1555、ORA-12541 等

5.2 重點等待事件解讀速查

事件典型原因對策方向
log file syncLGWR 寫入慢、Commit 頻繁重做日志檔放快速儲存、批次 Commit、檢查存儲延遲
db file scattered read全表掃描、索引失效SQL 調優、建立/修復索引、統計資訊收集
db file sequential read索引範圍掃描、單區塊讀取熱索引/熱塊、考慮 Keep Pool、分區表
enqueue鎖爭用 (TX/TM/UL 等)應用邏輯優化、縮短交易、分區/分表
free buffer waitsDBWn 寫入跟不上增加 DBWR_IO_SLAVES、優化檢查點、檢查儲存效能
latch free共用池/緩衝區 Latch 爭用綁定變數、增加共用池、減少硬解析

六、常見問題與解決方案

  1. 無法生成 ZIP 報告:客戶端缺壓縮工具。解決:安裝 zip / gzip / WinRAR,或手動打包 output/* 目錄。
  2. 採集卡住/極慢:通常是查詢 DBA_SEGMENTS、DBA_EXTENTS 等大字典視圖。對策:確保統計資訊最新、考慮排除非必要模組(-X 參數)。
  3. 權限不足導致區塊缺失:採集帳號缺 SELECT_CATALOG_ROLE 或 SYSDBA。按 4.1 步驟配置 / as sysdba。
  4. RAC 環境:RDA 單節點採集,需在每個節點分別執行,或使用 RDA -cluster 選項(新版支援)。

七、最佳實踐建議

  1. 定期基線採集:每月/變更前後各跑一次,建立效能基線,便於事後比對。
  2. SR 附件標準化:開 SR 時必附 RDA 報告,加速 Oracle Support 分析。
  3. 版本同步:每季從 Metalink 下載最新版,支援新資料庫版本、修復已知 Bug。
  4. 自動化整合:納入 Ansible/Terraform/Shell 排程,定期推送至內部檔案伺服器歸檔。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved