Linux服务器Oracle手动重启操作
一、停止Oracle数据库
1. 停止数据库实例
# 切换到oracle用户
su - oracle
# 进入SQL*Plus(以sysdba身份)
sqlplus / as sysdba
# 在SQL>提示符下执行关闭命令(推荐正常关闭)
SQL> shutdown immediate;
-
其他关闭选项:
-
shutdown transactional(等待事务结束) -
shutdown abort(强制关闭,仅用于紧急情况)
-
2. 停止监听器
# 退出SQL*Plus
SQL> exit
# 停止监听器
lsnrctl stop
-
如果配置了多个监听器,需指定名称:
lsnrctl stop LISTENER2
二、启动Oracle数据库
1. 启动监听器
# 确保在oracle用户下
lsnrctl start
-
验证状态:
lsnrctl status
2. 启动数据库实例
# 进入SQL*Plus
sqlplus / as sysdba
# 启动数据库
SQL> startup;
-
常见问题处理:
-
若需挂载后恢复:
SQL> startup mount; SQL> recover database; SQL> alter database open;
-
三、关键命令说明
| 命令 | 作用 |
|---|---|
sqlplus / as sysdba |
以操作系统认证登录数据库 |
shutdown immediate |
安全关闭数据库(回滚活动事务) |
startup |
正常启动数据库(经历NOMOUNT→MOUNT→OPEN) |
lsnrctl start/stop |
启停监听器 |
四、环境变量检查
确保操作前设置Oracle环境变量:
# 检查ORACLE_SID和ORACLE_HOME
echo $ORACLE_SID # 输出实例名(如ORCL)
echo $ORACLE_HOME # 输出安装路径(如/u01/app/oracle/product/19c/dbhome_1)
# 若未设置,手动配置(示例):
export ORACLE_SID=ORCL
export ORACLE_HOME=/u01/app/oracle/product/19c/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
五、注意事项
-
权限要求:必须使用
oracle用户操作,确保该用户属于dba组。 -
监听器与实例顺序:
-
启动时:先监听器 → 后数据库
-
停止时:先数据库 → 后监听器
-
-
集群环境:若使用RAC,需用
srvctl命令(如srvctl stop database -d ORCL)。 -
日志查看:
-
数据库日志:
$ORACLE_BASE/diag/rdbms/<实例名>/<实例名>/trace/alert_<实例名>.log -
监听日志:
$ORACLE_HOME/network/log/listener.log
-
通过以上步骤,您可以安全地启停Oracle数据库服务。

浙公网安备 33010602011771号