Linux服务器Oracle手动重启操作

一、停止Oracle数据库

1. 停止数据库实例

bash
 
# 切换到oracle用户
su - oracle

# 进入SQL*Plus(以sysdba身份)
sqlplus / as sysdba

# 在SQL>提示符下执行关闭命令(推荐正常关闭)
SQL> shutdown immediate;
  • 其他关闭选项:

    • shutdown transactional(等待事务结束)

    • shutdown abort(强制关闭,仅用于紧急情况)

2. 停止监听器

bash
 
# 退出SQL*Plus
SQL> exit

# 停止监听器
lsnrctl stop
  • 如果配置了多个监听器,需指定名称:
    lsnrctl stop LISTENER2


二、启动Oracle数据库

1. 启动监听器

bash
 
# 确保在oracle用户下
lsnrctl start
  • 验证状态:
    lsnrctl status

2. 启动数据库实例

bash
 
# 进入SQL*Plus
sqlplus / as sysdba

# 启动数据库
SQL> startup;
  • 常见问题处理:

    • 若需挂载后恢复:

      sql
       
      SQL> startup mount;
      SQL> recover database;
      SQL> alter database open;

三、关键命令说明

命令作用
sqlplus / as sysdba 以操作系统认证登录数据库
shutdown immediate 安全关闭数据库(回滚活动事务)
startup 正常启动数据库(经历NOMOUNT→MOUNT→OPEN)
lsnrctl start/stop 启停监听器

四、环境变量检查

确保操作前设置Oracle环境变量:

bash
 
# 检查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

五、注意事项

  1. 权限要求:必须使用oracle用户操作,确保该用户属于dba组。

  2. 监听器与实例顺序:

    • 启动时:先监听器 → 后数据库

    • 停止时:先数据库 → 后监听器

  3. 集群环境:若使用RAC,需用srvctl命令(如srvctl stop database -d ORCL)。

  4. 日志查看:

    • 数据库日志:$ORACLE_BASE/diag/rdbms/<实例名>/<实例名>/trace/alert_<实例名>.log

    • 监听日志:$ORACLE_HOME/network/log/listener.log

通过以上步骤,您可以安全地启停Oracle数据库服务。

posted @ 2025-08-16 08:21  不知名路人!  阅读(334)  评论(0)    收藏  举报