Oracle数据库实例重启过程

首先su - oracle
输入密码
这时有可能会报错:
not owner
需要用下面命令搞一下:
chmod a+s /bin/su(找繁德的孙维生解决的)


ciccard2:/home/oracle> echo $ORACLE_SID
ictst2
ciccard2:/home/oracle> export ORACLE_SID=ictst2;
ciccard2:/home/oracle> sqlplus /nolog

SQL*Plus: Release 11.2.0.3.0 Production on Thu Jul 3 11:40:33 2014

Copyright (c) 1982, 2011, Oracle. All rights reserved.

SQL> conn /as sysdba
Connected.
SQL> startup;
ORA-01081: cannot start already-running ORACLE - shut it down first
SQL> shutdown
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area 6847938560 bytes
Fixed Size 2195616 bytes
Variable Size 4513075040 bytes
Database Buffers 2315255808 bytes
Redo Buffers 17412096 bytes
Database mounted.
Database opened.
SQL> exit


贾磊(李豪) 07-03 11:21:23
在吗?
孙维生(孙维生) 07-03 11:21:29
zai
贾磊(李豪) 07-03 11:21:46
咨询个问题,我们的sit环境,切换用户的时候切不过去
贾磊(李豪) 07-03 11:21:58
=====================================================================
ciccard2:/home/artery> su - oracle
Password:
setgroups: Not owner
setgroups: Not owner
su: Unable to initialize group access list
贾磊(李豪) 07-03 11:22:38
能否看下,看看怎么解决
孙维生(孙维生) 07-03 11:25:06
ip地址 还有root口令发我一下
贾磊(李豪) 07-03 11:25:26
IP:11.0.160.58
贾磊(李豪) 07-03 11:25:38
root,root1234
孙维生(孙维生) 07-03 11:25:42

孙维生(孙维生) 07-03 11:26:11
oralce的口令呢
贾磊(李豪) 07-03 11:26:19
oracle/oracle
孙维生(孙维生) 07-03 11:26:22

贾磊(李豪) 07-03 11:26:26
artery/artery
贾磊(李豪) 07-03 11:26:36
就artery用户可以进去,其他都进不去
贾磊(李豪) 07-03 11:26:50
都报一样的错
孙维生(孙维生) 07-03 11:28:49
好了
孙维生(孙维生) 07-03 11:28:58
把口令改一下吧
贾磊(李豪) 07-03 11:29:10
嗯,确实好了
贾磊(李豪) 07-03 11:29:12
怎么弄的
贾磊(李豪) 07-03 11:29:13

孙维生(孙维生) 07-03 11:29:34
su的权限有问题了
贾磊(李豪) 07-03 11:29:36
把命令发过来学习下
孙维生(孙维生) 07-03 11:29:36
加上s
孙维生(孙维生) 07-03 11:29:45
chmod a+s /bin/su
贾磊(李豪) 07-03 11:30:03
,多谢
孙维生(孙维生) 07-03 11:30:06
不谢
<think>好的,我现在需要回答用户关于如何正确重启Oracle数据库实例的问题。首先,我需要回忆一下Oracle数据库重启的步骤,确保每个步骤都是正确的,并且没有遗漏重要的细节。 首先,用户提到了Oracle根目录存储二进制文件,这可能涉及到环境变量的设置,比如ORACLE_HOME和ORACLE_SID是否正确配置。所以在开始操作前,应该检查这些环境变量是否已经设置好。接下来,重启数据库通常需要先关闭实例,然后再启动。关闭数据库的时候有不同的模式:正常关闭(NORMAL)、立即关闭(IMMEDIATE)、事务关闭(TRANSACTIONAL)和强制关闭(ABORT)。其中,正常关闭会等待所有会话结束,可能会比较慢,而立即关闭会回滚未提交的事务,强制关闭则是最快的,但可能需要实例恢复。所以在生产环境中,可能需要根据实际情况选择合适的关闭方式。 然后是启动数据库的步骤,通常有NOMOUNT、MOUNT和OPEN几个阶段。如果只是重启,可能直接使用STARTUP命令就可以了。但有时候如果有问题,可能需要分步骤操作,比如先启动到MOUNT状态进行一些维护,再打开数据库。 另外,用户可能需要以sysdba权限连接数据库,所以需要使用sqlplus / as sysdba或者指定用户名密码的方式登录。这里可能需要提醒用户注意权限问题,确保执行命令的用户有足够的权限。 还需要考虑是否有监听器的问题,虽然重启实例可能不需要操作监听器,但有时候重启监听器也是一个好习惯,尤其是在网络配置有变化的时候。不过用户的问题主要是关于数据库实例重启,所以监听器部分可能作为补充步骤提到。 此外,操作顺序是否正确也很重要,比如先关闭数据库,再启动,确保中间没有其他进程干扰。同时,检查日志文件是否有错误信息,比如alert.log,这可以帮助诊断重启过程中出现的问题。 最后,可能还需要提醒用户在操作前备份数据库,尤其是在生产环境中,避免数据丢失或损坏。虽然重启通常不会导致数据丢失,但以防万一总是好的。 总结一下,正确的步骤应该是: 1. 登录到数据库服务器,设置正确的环境变量。 2. 以sysdba身份连接数据库。 3. 关闭数据库实例,选择合适的关闭模式。 4. 启动数据库实例。 5. 检查数据库状态,确认重启成功。 6. 可选步骤:重启监听器。 在写回答的时候,需要分步骤详细说明,同时指出注意事项和可能遇到的问题,比如权限、环境变量、关闭模式的选择等。还要确保命令的正确性,比如SQL命令的正确语法,以及操作系统命令的正确使用。 可能还需要提到在Windows和Linux下的不同操作,比如Windows服务中的Oracle服务如何重启,但用户的问题可能更偏向于Linux环境,因为通常Oracle数据库服务器运行在Linux上。不过如果有必要,可以简要提一下Windows的情况。 现在需要把这些思考整理成结构化的步骤,确保用户能够按照步骤操作,并且理解每个步骤的意义和可能出现的问题。同时,引用用户提供的参考信息,比如Oracle根目录的相关内容,以增强回答的可信度。</think>### 如何正确重启 Oracle 数据库实例 重启 Oracle 数据库实例需要按照规范操作流程,确保数据一致性和服务可用性。以下是详细步骤: --- #### **1. 准备工作** - **确认环境变量** 确保 `ORACLE_HOME`(Oracle 安装目录)和 `ORACLE_SID`(实例名称)已正确设置。例如: ```bash export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1 export ORACLE_SID=orcl ``` - **检查数据库状态** 使用 `sqlplus` 连接数据库,确认当前实例是否处于运行状态: ```sql sqlplus / as sysdba SQL> SELECT status FROM v$instance; ``` --- #### **2. 关闭数据库实例** 关闭数据库时需选择适当的关闭模式: - **正常关闭(等待活动会话结束)** ```sql SQL> SHUTDOWN NORMAL; ``` - **立即关闭(回滚未提交事务)** ```sql SQL> SHUTDOWN IMMEDIATE; ``` - **强制关闭(仅紧急情况使用)** ```sql SQL> SHUTDOWN ABORT; ``` > **注意**:强制关闭可能导致实例恢复,需谨慎使用[^1]。 --- #### **3. 启动数据库实例** 启动过程分为三个阶段:`NOMOUNT`(加载参数文件)、`MOUNT`(挂载控制文件)、`OPEN`(打开数据文件): ```sql SQL> STARTUP; ``` - **分阶段启动(可选)** 若需维护,可逐步执行: ```sql SQL> STARTUP NOMOUNT; SQL> ALTER DATABASE MOUNT; SQL> ALTER DATABASE OPEN; ``` --- #### **4. 验证重启状态** - **检查实例状态** ```sql SQL> SELECT status, open_mode FROM v$database, v$instance; ``` - **查看告警日志** 日志路径通常为 `$ORACLE_BASE/diag/rdbms/<SID>/<SID>/trace/alert_<SID>.log`,确认无报错。 --- #### **5. 可选:重启监听器** 若需重启监听服务(例如修改网络配置后): ```bash lsnrctl stop lsnrctl start ``` --- ### **注意事项** 1. **权限要求**:操作需以 `sysdba` 身份执行。 2. **生产环境**:建议使用 `SHUTDOWN IMMEDIATE` 避免长时间等待。 3. **备份**:重大操作前确保有有效备份。 4. **Windows 系统**:可通过服务管理器重启 `OracleService<SID>` 和 `OracleOraDB19Home1TNSListener` 服务。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值