Oracle 資料庫服務異常時需重啟資料庫實例與監聽器。本文提供三種操作層級的完整流程:SQL*Plus 連線管理模式 (最標準)、$ORACLE_HOME/bin 直接執行 dbstart/lsnrctl (腳本自動化適用)、補充啟動順序說明 (先監聽器後實例)。

# 1. 切換至 oracle 用戶
su - oracle
# 2. 進入 SQL*Plus 無登入模式
sqlplus /nolog
# 3. 以 SYSDBA 連線
CONNECT / AS SYSDBA
# 4. 啟動資料庫
STARTUP
# 5. 若需關閉
SHUTDOWN IMMEDIATE
# 6. 退出 SQL*Plus
EXIT
# 7. 進入監聽器控制
lsnrctl
# 8. 啟動監聽器 (若已啟動可略過)
START
# 9. 退出監聽器
EXIT
cd $ORACLE_HOME/bin
./dbstart # 啟動資料庫實例 (讀取 oratab)
./lsnrctl start # 啟動監聽器
cd $ORACLE_HOME
dbstart
lsnrctl start
ORACLE_HOME、ORACLE_SID、PATH 需正確設定 (通常在 oracle 用戶 .bash_profile 中)/etc/oratab 記錄實例與啟動標記 (Y/N),dbstart 依此決定啟動哪些實例#!/bin/bash
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export ORACLE_SID=ORCL
export PATH=$ORACLE_HOME/bin:$PATH
echo "Starting Listener..."
lsnrctl start
echo "Starting Database..."
sqlplus / as sysdba <
ipcs -m、sysctl -p 核心參數lsnrctl status、檢查 listener.ora、tnsnames.ora$ORACLE_HOME、$ORACLE_BASE、資料檔目錄有讀寫權限Linux VirtualBox 安裝 Windows 8.1 報錯 0x000000C4 解決:啟用 CMPXCHG16B CPU 指令支援
Linux 系統監控神器 Glances 安裝與參數完整指南
Linux 系統下 Git 安裝、配置與 GitHub 協作實戰全攻略
PHP-CGI 進程 CPU 100% 根因分析與三層優化方案
Linux 查看群組是否包含指定用戶:grep /etc/group 快速檢查法
Linux ACL 存取控制列表實戰:突破傳統 UGO 權限、精細授權多用戶協作
Ubuntu Git 每次 push/pull 都要輸入密碼?設定 credential.helper store 永久快取認證