放置於 /etc/init.d/dbora,註冊服務:chkconfig --add dbora; chkconfig dbora on
#!/bin/sh
# Oracle Auto Start Script
echo "Starting Oracle..."
# 1. 啟動 Listener
su - oracle -c "lsnrctl start"
# 2. 啟動 Enterprise Manager Agent (10g+)
su - oracle -c "emctl start dbconsole"
# 或 9i: su - oracle -c "agentctl start"
# 3. 啟動資料庫 Instance
su - oracle -c "sqlplus /nolog <
#!/bin/sh
# Oracle Auto Stop Script
echo "Stopping Oracle..."
# 1. 關閉資料庫
su - oracle -c "sqlplus /nolog <
OracleService:資料庫 Instance 服務,設為「自動」即可隨機啟動OracleTNSListener :Listener 服務,設為「自動」OracleDBConsole:EM Agent 服務或用 ORADIM 管理:oradim -startup -sid ORCL -starttype AUTO
| 模式 | 命令 | 階段 | 可執行操作 | 典型場景 |
|---|---|---|---|---|
| NOMOUNT | STARTUP NOMOUNT | Instance 啟動 (SGA + 背景進程) | 建立控制檔、重建資料庫、恢復控制檔 | CREATE CONTROLFILE、CREATE DATABASE |
| MOUNT | STARTUP MOUNT | + 掛載控制檔 | 歸檔模式切換、介質恢復、資料檔/日誌檔離線/重命名/移動 | ALTER DATABASE ARCHIVELOG、RECOVER DATABASE |
| OPEN | STARTUP / STARTUP OPEN | + 打開資料檔/日誌檔 | 正常業務存取 | 日常運行 |
| READ ONLY | STARTUP OPEN READ ONLY | + 唯讀開啟 | 查詢、報表、備份 (無 DML) | Standby 資料庫、唯讀報表庫 |
| RESTRICT | STARTUP RESTRICT | + 僅允許 RESTRICTED SESSION 權限用戶 | 維護窗口、資料遷移、補丁套用 | 阻擋普通用戶連線 |
| FORCE | STARTUP FORCE | SHUTDOWN ABORT + STARTUP | 強制重啟 (Instance 掛死時) | 緊急恢復服務 |
| PFILE 指定 | STARTUP PFILE=/path/init.ora | 讀取指定參數檔 | 參數調優測試、多實例切換 | 非預設參數啟動 |
| EXCLUSIVE (Parallel Server/RAC) | STARTUP EXCLUSIVE | 獨佔模式掛載 | 單實例獨佔存取 (RAC 環境) | 維護、備份 |
GRANT RESTRICTED SESSION TO user; 或關閉 RESTRICT 模式 ALTER SYSTEM DISABLE RESTRICTED SESSION;