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

Oracle DBA 面試必考 22 題:冷熱備份、控制檔重建、SPFILE、邏輯結構、Truncate vs Delete、索引、Star Schema、約束、表重建、歸檔模式、啟動階段、GV$、Explain Plan、Buffer Cache、ORA-01555、ORACLE_BASE/HOME、時區、GLOBAL_NAMES

     編輯:Oracle 資料庫基礎

核心題目與標準答案

  1. 冷備份 vs 熱備份差異與優點
    冷備份:資料庫關閉後備份,適用所有模式,操作簡單、效能稍好 (無歸檔寫入)。
    熱備份:歸檔模式下、資料庫運作中備份,可恢復至任意時間點、業務不中斷。
  2. 無控制檔下從備份恢復
    重建控制檔 → RECOVER DATABASE USING BACKUP CONTROLFILE。
  3. PFILE 轉 SPFILE
    CREATE SPFILE FROM PFILE;
  4. Data Block / Extent / Segment 差異
    Block:最小儲存單位 (建庫指定)。
    Extent:連續 Blocks 組成,段一次性擴展單位。
    Segment:物件所有 Extents 集合 (表段、索引段、Undo 段、暫存段)。
  5. 檢視表結構兩法
    DESC table_name;DBMS_METADATA.GET_DDL('TABLE','TABLE_NAME')。
  6. 查看資料庫引擎錯誤
    Alert Log ($DIAG_HOME/alert_<SID>.log)。
  7. TRUNCATE vs DELETE
    TRUNCATE:DDL、釋放 HWM、不產生 Undo、不可 Rollback、瞬間完成。
    DELETE:DML、逐列刪除、產生 Undo、需 Commit/Rollback、觸發 Trigger、耗時較長。
  8. 使用索引理由
    快速定位 Data Block,避免 Full Table Scan。
  9. Star Schema 兩類表
    Fact Table:大量核心業務度量值。
    Dimension Table:描述 Fact 維度屬性 (時間、產品、客戶...)。
  10. Fact Table 適合索引類型
    Bitmap Index (位圖索引) — 低基數欄位、多維度組合查詢、資料倉庫典型。
  11. 常見兩類約束
    Primary Key (PK)、Foreign Key (FK)。
  12. 不影響子表重建父表
    ALTER TABLE child DISABLE CONSTRAINT fk_name → 重建父表 → ALTER TABLE child ENABLE CONSTRAINT fk_name。
  13. 歸檔 vs 非歸檔模式
    歸檔:可 PITR、需管理歸檔空間、略微效能開銷。
    非歸檔:僅能恢復至最近備份、無歸檔管理、效能略佳。
  14. 建立備份控制檔
    ALTER DATABASE BACKUP CONTROLFILE TO TRACE; (產生重建腳本)。
  15. 資料庫正常啟動三階段
    STARTUP NOMOUNT (Instance 啟動) → STARTUP MOUNT (讀取控制檔、掛載) → STARTUP OPEN (開啟資料檔/Redo、可服務)。
  16. V$ vs GV$ 差異欄位
    INST_ID:識別 RAC 叢集中具體 Instance。
  17. 產生 Explain Plan
    @?/rdbms/admin/utlxplan.sql 建立 PLAN_TABLE → EXPLAIN PLAN SET STATEMENT_ID='tst1' INTO PLAN_TABLE FOR SELECT ... → @utlxplp.sql 或 DBMS_XPLAN.DISPLAY。
  18. 提升 Buffer Cache 命中率
    繁忙時查詢 V$DB_CACHE_ADVICE → 若建議增大 → ALTER SYSTEM SET DB_CACHE_SIZE=... SCOPE=BOTH。
  19. ORA-01555 Snapshot Too Old
    增大 Undo 表空間/Retention、避免長查詢與大量 DML 並發、檢查導致錯誤的 SQL 優化。
  20. $ORACLE_BASE vs $ORACLE_HOME
    BASE:Oracle 軟體根目錄 (含 admin、diag、product)。
    HOME:特定版本產品目錄 (含 bin、network、rdbms)。
  21. 判斷資料庫時區
    SELECT DBTIMEZONE FROM DUAL;
  22. GLOBAL_NAMES=TRUE 用途
    強制 Database Link 名稱 = 遠端資料庫全域名稱 (DB_NAME.DB_DOMAIN),避免命名衝突。

答題技巧加分項

  • 術語使用英文 (Data Block, Extent, Segment, High Water Mark, Undo, Redo, Checkpoint, SCN)。
  • 回答包含「為什麼」與「怎麼做」,並給出具體指令/視圖。
  • 提及 11g/12c/19c 新特性 (如 DBMS_XPLAN、V$DB_CACHE_ADVICE、UNDO_RETENTION 自動調整)。
  • 面試中遇到不確定題目,誠實說明排查思路 (查 Alert Log、查 Metalink、測試環境複現) 比硬猜加分。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved