資料庫啟動
su - oracle
sqlplus / as sysdba
SQL> STARTUP
-- 或指定 PFILE
SQL> STARTUP PFILE=/path/to/init.ora
資料庫關閉
sqlplus / as sysdba
SQL> SHUTDOWN IMMEDIATE
-- 其他模式
SHUTDOWN NORMAL -- 等待所有用戶斷線
SHUTDOWN TRANSACTIONAL -- 等待交易完成
SHUTDOWN ABORT -- 緊急,下次啟動需執行實例恢復
Listener 管理
lsnrctl status # 查狀態
lsnrctl start # 啟動
lsnrctl stop # 停止
lsnrctl reload # 重讀 listener.ora 不中斷連線
lsnrctl services # 顯示已註冊服務詳情
Enterprise Manager (dbconsole/Cloud Control Agent)
emctl start dbconsole
emctl stop dbconsole
emctl status dbconsole
# 12c+ Cloud Control Agent
emctl start agent
emctl stop agent
emctl status agent
單機自動啟停
- Oracle Restart (11gR2+):`crsctl start has` / `srvctl start database -d dbname`。
- 傳統 `/etc/oratab` + `dbstart`/`dbshut` 腳本配合 `/etc/rc.d/rc.local` 或 systemd 單元。
常見坑
- `ORACLE_SID`、`ORACLE_HOME` 未正確 export → `ORA-01034`/`ORA-27101`。
- Listener 未啟動 → `ORA-12541`/`ORA-12514`。
- 關閉順序:**先關資料庫,再關 Listener**,否則遠端連線會殘留。
- ASM 環境:需先啟動 ASM Instance(`+ASM`),再啟動 DB Instance。