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

Oracle 9i 在 Windows 與 UNIX 平台的關鍵差異對照表

     編輯:Oracle 資料庫基礎

核心架構差異:執行緒 vs 行程

**Windows**:單一行程多執行緒架構 (DBWR、LGWR、SMON 等皆為執行緒),行程間通訊 (IPC) 開銷極低,共享記憶體與訊號量由 OS 自動管理不可調整。
**UNIX**:多行程架構,每個背景進程獨立 OS 行程,需手動調整核心參數 (SHMMAX、SEMMNS、SEMMSL 等) 滿足 IPC 需求。

六大維度詳細對照

維度WindowsUNIX/Linux
1. 自動啟動/關機 註冊表參數控制:
ORA_SID_AUTOSTART=true (ORADIM 設定)
監聽器設為「自動」啟動類型
關機:ORA_SHUTDOWN, ORA_SID_SHUTDOWN, ORA_SID_SHUTDOWNTYPE (預設即時模式)
/etc/oratab + dbstart/dbshut 腳本
各 Run Level 目錄 (/etc/rc*.d) 放置啟動/關機腳本
應用層可攔截信號優雅關閉
2. 背景/批次作業排程 AT 命令或工作排程器 (Task Scheduler)
GUI 工具:控制台、MMC
cron、at、batch
功能更豐富、腳本化程度高
3. 診斷與效能工具 整合工具:
• Oracle Performance Monitor (效能計數器)
• 任務管理員 (類 ps -ef)
• 事件檢視器 (系統警示、稽核)
• 使用者管理員、MMC
標準工具:
• top, vmstat, iostat, sar, mpstat
• ps -ef, pstack, truss/strace
• 第三方:nmon, perf, SystemTap
4. 動態連結庫 (DLL/Shared Library) **運行時動態載入**:
• 可執行檔較小
• 多進程共享 DLL
• 不支援使用者重新連結
• 可用 ORASTACK 調整堆疊大小 (需 Oracle 支援指導)
**靜態連結/載入時連結**:
• 目的檔與庫連結生成可執行檔
• 安裝 Patch 後需 relink all
• 使用者可重新連結
5. 熱備份 (表空間備份模式) **無法用 OS 複製開啟中的資料檔** (檔案鎖定)
必須用 OCOPY 工具複製開啟檔案至磁碟,再備份至帶庫
標準流程:
1. ALTER TABLESPACE ... BEGIN BACKUP
2. OS 複製指令 (cp, dd, rsync)
3. ALTER TABLESPACE ... END BACKUP
6. 安裝帳戶與權限 安裝用戶需屬 **Administrators 群組**
自動加入 ORA_DBA 本地群組 → 享 SYSDBA 權限免密登入 (CONNECT / AS SYSDBA)
密碼檔:%ORACLE_HOME%\database\PWD.ora
嚴禁 root 安裝
手工建立 oracle 用戶 + dba 群組
su - oracle 切換身分安裝
7. 記憶體資源管理 執行緒模型 → IPC 需求極低
共享記憶體、訊號量由 OS 自動管理,**用戶不可調整**
預設核心參數常不足
需手動調大:
kernel.shmmax (單一共享記憶體段上限)
kernel.shmall (總共享頁數)
kernel.sem (訊號量組/總量/單次操作/組數)

實務啟示

  1. 遷移腳本不可直接複用:Windows 批次檔 vs Shell 腳本,路徑分隔符、環境變數、排程方式全異。
  2. 效能基準不同:Windows 依賴 Performance Monitor 計數器;UNIX 依賴 vmstat/iostat 解讀。
  3. 備份工具鏈不同:Windows 必須採用 RMAN 或 OCOPY;UNIX 可直接 OS 指令配合 BEGIN/END BACKUP。
  4. 安裝前核心參數調校 是 UNIX 專有步驟,Windows 無需操心。
  5. RAC 部署:Windows Server Failover Cluster (WSFC) vs Oracle Clusterware + ASM,架構差異極大。

版本演進提醒

9i 已停止支援。現代版本 (19c/21c/23c) 差異進一步縮小:Windows 也支援大頁面記憶體、NUMA 感知;UNIX 核心參數多有自動調整機制。但**執行緒 vs 行程**根本架構差異始終存在,運維思維須隨平台切換。

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