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

Oracle 體系架構核心基礎:資料庫與實例的邏輯物理結構詳細解析

     編輯:Oracle 資料庫基礎

核心雙元:資料庫 vs 實例

Oracle 架構建立在資料庫 (靜態檔案集合) 與實例 (動態記憶體與進程) 兩大支柱之上。資料庫可被多實例存取 (RAC)。理解兩者邊界與互動,是掌握 Oracle 內部運作的鑰匙。

一、資料庫邏輯結構

表空間

  • 資料庫的邏輯劃分,每庫至少一個 SYSTEM 表空間。
  • 一表空間僅屬一資料庫,由一或多個資料檔組成。
  • 特性:控制磁碟配額、限制用戶配額、Online/Offline/ReadOnly/ReadWrite 屬性、支援部分備份恢復、透過增加資料檔擴容。

關鍵管理 SQL

-- 修改表空間屬性
ALTER TABLESPACE ts_name READ ONLY | ONLINE | OFFLINE;

-- 查詢表空間狀態
SELECT tablespace_name, status FROM dba_tablespaces;

-- 查詢表空間與資料檔對應
SELECT tablespace_name, bytes, file_name FROM dba_data_files;

-- 查詢用戶預設表空間
SELECT username, default_tablespace FROM dba_users;

-- 查詢表所在表空間
SELECT table_name, tablespace_name FROM user_tables;

-- 修改用戶預設表空間
ALTER USER username DEFAULT TABLESPACE ts_name;

-- 移動表至新表空間
ALTER TABLE table_name MOVE TABLESPACE ts_name;

注意限制

SYSTEM、UNDO、TEMP 表空間不可設為 OFFLINE。

二、資料庫物理結構 (五大必備檔案類型)

  1. 資料檔:儲存實際資料,屬於某表空間。
  2. 控制檔:記錄資料庫物理結構 (資料檔/Redo Log 路徑、SCN、檢查點資訊),啟動掛載階段讀取。
  3. 重做日誌檔:循環記錄所有變更,支援崩潰恢復與介質恢復。
  4. 參數檔:PFILE (init.ora) 或 SPFILE (spfile.ora),定義實例配置參數。
  5. 密碼檔:orapw,授權 SYSDBA/SYSOPER 遠端啟動關閉權限。

輔助檔案:archived log、alert log、trace files 非啟動必備。

三、物理檔案查詢視圖

-- 資料檔
SELECT * FROM v$datafile;

-- 控制檔
SELECT * FROM v$controlfile;

-- 重做日誌檔
SELECT * FROM v$logfile;

四、儲存層級關係圖譜

資料庫 → 表空間 → 區段 → 區塊 → 區塊
- 表空間:邏輯容器
- 區段:特定物件 (表、索引、UNDO、臨時) 佔用空間
- 區塊:連續區塊集合,一次性預留空間 (預設 1MB/8MB)
- 區塊:最小儲存單位 (建庫時指定,通常 8KB),所有 I/O 以區塊為單位

總結

資料庫是「靜態容器」,實例是「動態引擎」。DBA 日常工作本質上是在管理實例如何高效、安全地操作資料庫檔案。熟練掌握上述邏輯/物理結構與管理指令,是進階調優與故障處理的基石。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved