本文從角色授權體系、權限粒度、獨立授權、密碼策略、建立使用者預設權限五個維度詳細對比,幫助 DBA 在異構環境中做正確的安全設計決策。
Oracle 幾乎將每個操作步驟獨立為一個權限:
| 操作 | SQL Server | Oracle |
|---|---|---|
| 使用者帳號管理 | 「建立/修改/刪除」打包為單一權限 | CREATE USER、ALTER USER、DROP USER 完全分離 |
| 預存程序管理 | 較粗 | 建立/修改/刪除/執行 分別授權 |
| 表格管理 | 較粗 | CREATE TABLE、ALTER TABLE、DROP TABLE、SELECT、INSERT… 逐項授權 |
結論:Oracle 權限劃分極細,支援「只能建立不能刪除」等精細場景,治理彈性遠高於 SQL Server。
兩者皆支援直接對使用者授權(繞過角色),但 Oracle 獨有物件授權機制(WITH GRANT OPTION),允許普通使用者在特定物件上轉授權限,SQL Server 無對應機制。
CHECK_POLICY)或建立自訂驗證函數。| 建立方式 | SQL Server | Oracle |
|---|---|---|
| 圖形化介面 (SSMS / EM) | 預設授予連線權限 | 預設授予連線權限 (CREATE SESSION) |
| 命令列 (T-SQL / SQL*Plus) | 預設授予連線權限 | 預設無連線權限,必須額外 GRANT CREATE SESSION |
陷阱提醒:習慣 SQL Server 的 DBA 在 Oracle 用 CREATE USER 後直接測試連線會失敗,誤以為建立失敗,實則缺 CREATE SESSION。
下篇將詳細實戰示範:物件授權轉授語法、系統授權細分、密碼 Profile 設定等進階主題。