接手一個陌生的 Oracle 環境,如同醫生面對新病患,需要標準化的「體檢流程」快速建立全貌認知。本清單蒐羅實戰經驗,涵蓋版本架構、高可用配置、儲存拓撲、安全基線、效能基準五大維度,助您在最短時間內完成環境評估並製訂運維規範。
-- 完整版本資訊
SELECT * FROM v$version;
-- 已安裝元件清單
SELECT * FROM dba_registry;
-- 核心屬性
SELECT dbid, name, open_mode, database_role, platform_name FROM v$database;
SELECT dbms_utility.port_string FROM dual;
-- PL/SQL 方式獲取相容版本
SET SERVEROUTPUT ON
DECLARE
ver VARCHAR2(100);
compat VARCHAR2(100);
BEGIN
dbms_utility.db_version(ver, compat);
dbms_output.put_line('Version: ' || ver || ' Compatible: ' || compat);
END;
/
關鍵檢查點:確認是否為終止支援版本、PSU 修補層級、32/64 位元架構、作業系統補丁包版本。
SET SERVEROUTPUT ON
DECLARE
inst_tab dbms_utility.instance_table;
inst_cnt NUMBER;
BEGIN
IF dbms_utility.is_cluster_database THEN
dbms_utility.active_instances(inst_tab, inst_cnt);
dbms_output.put_line('Cluster nodes: ' || inst_cnt);
ELSE
dbms_output.put_line('Single Instance');
END IF;
END;
/
SELECT protection_mode, protection_level, remote_archive,
database_role, dataguard_broker, guard_status
FROM v$database;
必確認:保護模式、同步/非同步傳輸、Broker 是否啟用、角色轉換歷史。
| 項目 | 查詢語句 | 關注重點 |
|---|---|---|
| 歸檔模式 | ARCHIVE LOG LIST; / SELECT log_mode FROM v$database; | 必須為 ARCHIVELOG |
| 閃回資料庫 | SELECT flashback_on FROM v$database; | 開啟則檢查 FRA 大小/使用率 |
| 強制日誌/補充日誌 | SELECT force_logging, supplemental_log_data_min, supplemental_log_data_pk, supplemental_log_data_ui, supplemental_log_data_fk, supplemental_log_data_all FROM v$database; | DG/邏輯備份前提 |
| 控制檔分佈 | SELECT * FROM v$controlfile; | 多路徑冗餘、ASM 磁碟組分離 |
| 重做日誌群組 | SELECT l.group#, lf.type, lf.member, l.bytes, l.status, lf.status FROM v$log l, v$logfile lf WHERE l.group#=lf.group# ORDER BY 1,3; | 群組數、大小、多工成員、狀態 |
| 參數檔位置 | SHOW PARAMETER spfile | SPFILE 所在儲存、備份策略 |
| BCT 區塊變更追蹤 | SELECT filename, status, bytes FROM v$block_change_tracking; | 增量備份加速關鍵 |
SELECT instance_name, host_name, status, archiver, database_status, instance_role, active_state
FROM v$instance;
檢查監聽器配置(listener.ora、tnsnames.ora、sqlnet.ora)、SCAN VIP(RAC)、防火牆規則、連線負載平衡設定。
SELECT username FROM dba_users_with_defpwd WHERE account_status='OPEN';SELECT profile, resource_name, limit FROM dba_profiles ORDER BY 1,2;PASSWORD_VERIFY_FUNCTION 設定SEC_CASE_SENSITIVE_LOGON 參數(12c+ 預設 TRUE)RESOURCE_LIMIT 參數與 Profile 綁定情況-- 無效物件
SELECT owner, object_type, COUNT(*) FROM dba_objects
WHERE status = 'INVALID' GROUP BY owner, object_type;
-- 啟用特性報告
EXEC DBMS_FEATURE_USAGE_REPORT;
-- 字符集屬性
SELECT * FROM database_properties;
-- 近期告警日誌關鍵字:ORA-, TNS-, deadlock, corruption, timeout
-- AWR/ASH 報告(近 7 天高峰時段)
-- RDA 完整收集(Oracle 支援請求標準輸入)
完成上述 21 項檢查,您已掌握環境「骨架」。後續工作重點轉向:建立標準化運維手冊、自動化巡檢腳本、效能基準線、變更管理流程、災難恢復演練排程。記住:好的 DBA 不只是修補漏洞,更是為系統設計「免疫系統」。