Oracle DBA 入門作業十問十答
本文為 Oracle DBA 入門作業整理,涵蓋工具使用、配置管理及權限控制等核心知識點,適合新手快速上手。
如有疑問或補充,歡迎評論區交流!
1. DBA 常用工具有哪些?
- Oracle Universal Installer (OUI)
- 用途:安裝、升級或刪除軟件組件。
- Oracle Database Configuration Assistant (DBCA)
- 用途:通過圖形界面創建、刪除或修改數據庫,可與OUI配合使用或獨立運行。
- Password File Utility (orapwd)
- 用途:創建和管理數據庫口令文件。
- SQL*Plus
- 用途:訪問和操作數據庫的核心命令行工具,支持啟動/關閉數據庫、執行查詢、數據修改及生成報告。
- Oracle Enterprise Manager (OEM) Console
- 用途:集中式的圖形化管理平臺,提供以下功能:
- 實例管理(Instance Manager)
- 安全管理(Security Manager)
- 存儲管理(Storage Manager)
- Schema 管理(Schema Manager)
- 用途:集中式的圖形化管理平臺,提供以下功能:
2. 創建數據庫與修改數據庫配置用什么工具?
1. 創建數據庫工具:
- DBCA (Database Configuration Assistant)
- 圖形化工具,提供數據庫模板快速創建數據庫
- 支持選擇預定義模板(如通用數據庫、數據倉庫等)或自定義模板
- 可配置存儲結構、初始化參數、安全設置等
2. 修改數據庫配置工具:
- SQL*Plus
- 使用
ALTER SYSTEM
命令動態修改參數 - 支持
SCOPE
參數控制生效范圍(內存/ SPFILE /永久生效)
- 使用
- Oracle Enterprise Manager (EM)
- 圖形化界面集中管理數據庫配置
- NET Manager
- 配置監聽器和服務命名
3. sqlnet 文件的路徑是什么?
? 老師教學參考:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\sqlnet.ora
? 我自己的:E:\OracleDatabase\dbhomeFree\NETWORK\ADMIN\sqlnet.ora
4. OS 身份認證的開關是什么?
? 在 Oracle 數據庫中,OS 身份認證的開關由參數 SQLNET.AUTHENTICATION_SERVICES
控制,具體設置在 sqlnet.ora
文件中。
文件原文:SQLNET.AUTHENTICATION_SERVICES= (NTS)
參數作用:
- 當
SQLNET.AUTHENTICATION_SERVICES
設置為(NTS)
(Windows系統)或包含其他特定認證方式時,啟用操作系統身份認證。 - 若設置為
NONE
,則禁用操作系統身份認證,僅通過口令文件或數據庫內用戶驗證。
5. 擁有什么角色的用戶可以啟停 Oracle Server?
? 啟停 Oracle Server 需要具有 SYSDBA 或 SYSOPER 系統權限的用戶
6. 創建口令文件的命令是什么?orapwd 在哪里運行?創建哪個用戶的口令?
- 創建口令文件的命令:
orapwd
? 示例:orapwd file=<路徑>/orapw<SID>.ora password=<密碼> entries=<最大用戶數> force=y
- 運行環境:在操作系統命令行中執行(如 UNIX/Linux 的 Shell 或 Windows 的 CMD)
若環境變量
ORACLE_HOME
已正確配置,可直接在命令行調用orapwd
。若未配置環境變量,需使用絕對路徑運行,例如:
/opt/oracle/product/10/bin/orapwd file=...
- 創建的用戶:口令文件默認存儲 SYS 用戶的口令,同時記錄所有被授予
SYSDBA
或SYSOPER
權限的用戶信息。
7. 如何查看口令文件中的用戶名?
-
登錄數據庫(需具有相應權限,如SYSDBA):
以SYS用戶或其他具有權限的用戶身份連接:sqlplus / as sysdba
-
執行查詢:
運行以下SQL語句:SELECT USERNAME, SYSDBA, SYSOPER FROM v$pwfile_users;
-
結果解析:
USERNAME
列顯示口令文件中記錄的用戶名。SYSDBA
列顯示用戶是否具有SYSDBA
權限(TRUE/FALSE)。SYSOPER
列顯示用戶是否具有SYSOPER
權限(TRUE/FALSE)。
? 示例輸出:
USERNAME SYSDBA SYSOPER
---------------------------
SYS TRUE TRUE
8. 口令文件認證的開關是什么?如何配置?
? 口令文件認證的開關由初始化參數 REMOTE_LOGIN_PASSWORDFILE
控制。
-
參數說明:
NONE
:禁用口令文件認證,僅允許操作系統本地認證(OS認證)。EXCLUSIVE
:啟用口令文件認證,并允許通過口令文件為多個用戶分配權限(如 SYSDBA/SYSOPER)。SHARED
:允許多個數據庫共享同一口令文件,但僅支持 SYS 用戶(不可添加其他用戶)。
-
配置步驟:
-
修改初始化參數:
SQL> ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE = EXCLUSIVE SCOPE=SPFILE;
-
重啟數據庫實例:
SQL> STARTUP FORCE; SQL> STARTUP;
-
9. 啟停 Oracle 服務實例的命令是什么?
- 通過 SQL*Plus 啟停實例:
-
啟動實例:
-
SQL> startup; -- 默認方式:啟動實例 → 掛載數據庫 → 打開數據庫 SQL> startup nomount; -- 啟動到NOMOUNT狀態(僅啟動實例) SQL> startup mount; -- 啟動到MOUNT狀態(加載控制文件) SQL> startup open; -- 啟動實例、掛載并打開數據庫
-
-
關閉實例:
-
SQL> shutdown immediate; -- 立即關閉(未提交事務回滾) SQL> shutdown normal; -- 正常關閉(等待會話結束) SQL> shutdown abort; -- 強制關閉(需手動恢復)
-
- 指定參數文件啟動:
? SQL> STARTUP PFILE='/u01/oracle/init.ora';
10. 何時需要使用 orapwd?
? orapwd
是管理 Oracle 特權用戶認證的核心工具,適用于創建、修復或調整口令文件的所有場景。
- 創建新的口令文件:在首次為 Oracle 實例創建口令文件時使用。例如,初始化數據庫實例或指定 SYS 用戶的口令(通過
oradim
命令的-intpwd
參數會自動創建)時。 - 口令文件丟失或損壞:當口令文件(如
orapw<sid>.ora
)遺失、被意外刪除或損壞,需要重新生成新文件時。 - 修改 SYS 用戶的口令:若需更改 SYS 用戶的密碼且通過口令文件驗證(如遠程登錄場景),需使用
orapwd
強制覆蓋原有文件并指定新口令。 - 調整最大用戶條目數:當需要擴展口令文件可記錄的最大用戶數量(通過
entries
參數),例如更多用戶需被授予 SYSDBA/SYSOPER 權限時。 - 遷移或變更口令文件路徑:若需將口令文件移動到新位置或更名,也需通過
orapwd
重新生成。
11. pwfile 中 sys 以外用戶的口令如何創建?
-
創建用戶:
CREATE USER 用戶名 IDENTIFIED BY "口令";
-
授予 SYSDBA/SYSOPER 權限:
GRANT SYSDBA TO 用戶名; -- 或 GRANT SYSOPER TO 用戶名;
-
驗證用戶添加至口令文件:
SELECT * FROM v$pwfile_users;
總結
本文梳理了 Oracle DBA 日常操作的關鍵工具與配置方法,建議結合實踐加深理解。
你的支持是我更新的動力!點贊收藏不迷路~