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

Oracle DBA 面試必備:20 道核心技術題精解

     編輯:Oracle 資料庫基礎

備份與恢復

  1. 冷備份 vs 熱備份:冷備份需關庫,支援非歸檔模式,操作簡單、效能稍佳;熱備份需歸檔模式,庫開啟狀態下備份,可恢復至任意時間點。
  2. 無控制檔恢復:CREATE CONTROLFILE 重建控制檔,再 RECOVER DATABASE USING BACKUP CONTROLFILE。
  3. PFILE 轉 SPFILE:CREATE SPFILE FROM PFILE;。

儲存結構

  1. Data Block / Extent / Segment:Block 為最小邏輯儲存單位;連續 Blocks 組成 Extent;一物件所有 Extents 稱為 Segment。
  2. 查看表結構:DESC table_name 或 DBMS_METADATA.GET_DDL。

核心操作差異

  1. TRUNCATE vs DELETE:TRUNCATE 為 DDL,釋放空間、重置 HWM、不產生 UNDO、速度快;DELETE 為 DML,逐行刪除、產生 UNDO、可回滾。
  2. 索引目的:快速定位 Data Block,避免全表掃描。

資料倉庫與約束

  1. Star Schema 兩類表:Fact Table 存業務度量(大量列);Dimension Table 存描述屬性(維度)。
  2. Fact Table 索引:Bitmap Index 適合低基數欄位、星狀查詢。
  3. 關聯約束:Primary Key、Foreign Key。
  4. 不影響子表重建父表:ALTER TABLE child DISABLE CONSTRAINT fk; 重建父表 ALTER TABLE child ENABLE CONSTRAINT fk;。

歸檔與啟動

  1. 歸檔 vs 非歸檔:歸檔可時間點恢復,非歸檔僅能恢復至最後備份,但省寫 redo log 效能稍好。
  2. 建立控制檔備份:ALTER DATABASE BACKUP CONTROLFILE TO TRACE;。
  3. 啟動三階段:STARTUP NOMOUNT (Instance) → STARTUP MOUNT (控制檔) → STARTUP OPEN (資料檔)。

RAC 與效能

  1. V$ vs GV$ 差異欄位:INST_ID 識別叢集節點。
  2. 生成 Execution Plan:@?/rdbms/admin/utlxplan.sql 建表 → EXPLAIN PLAN SET STATEMENT_ID='tst1' INTO PLAN_TABLE FOR ... → @utlxpls.sql 查看。
  3. 提高 Buffer Cache 命中率:查詢 V$DB_CACHE_ADVICE,若有效則 ALTER SYSTEM SET DB_CACHE_SIZE=...。
  4. ORA-01555 應對:增大 UNDO 保留時間/空間,檢查長跑查詢 SQL。
  5. ORACLE_HOME vs ORACLE_BASE:BASE 為安裝根目錄,HOME 為特定產品版本目錄 ($BASE/product/19.0.0/dbhome_1)。

面試加分建議

  • 回答時結合實戰案例(如:某專案如何用 AWR 定位 Top SQL、如何處理 ORA-01555)。
  • 展現「以響應時間為目標」的調優思維,而非單純背誦參數。
  • 承認不知細節時,說明排查路徑(查 Alert Log、Trace、Metalink)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved