首先,明确的一点是,操作习惯非常重要。尽量不要多窗口同时操作!尽量不要多窗口同时操作!尽量不要多窗口同时操作!重要的事情说三遍。尤其是在操作生产环境的时候。涉及到变更的操作,多人操作是应该的,比如一人操作,一人旁边观察,双人有保障。如果有错误的操作输入,可在第一时间提醒操作人员,及时做出改正,以免不可预见的事故发生。
假如,你开了多个操作窗口,同时需要操作生产环境和测试环境的时候,那么这时候,生产环境的操作尤其重要。很多生产事故的发生,都是由于操作失误造成。
记录本人的一次手滑,导致误关闭生产环境,紧急重启的过程。因为是非核心环境,又是单机11G,所以及时启动未造成影响。
#################################
######1.执行以下关闭命令后,发现是生产环境
######2.迟迟不见命令执行完毕,因为要马上重启恢复
######3.此时最重要的是,再不要做任何操作,冷静是第一要务
######4.(1)报告上级操作失误情况
######5.(2)联系可联系的资源【比你更懂的人】,给你建议,处理此突发情况
######6.(3)shutdown abort强制关库 不推荐使用
#################################
shutdown immediate
#################################
######LOCAL=NO 非本地连接,即网络连接。
######LOCAL=YES 本地连接
######使用以下命令查找非本地连接
#################################
ps -ef|grep LOCAL=NO
ps -ef|grep -v grep|grep LOCAL=NO|awk '{print $2}'|xargs kill -9
#################################
######LOCAL=NO 非本地连接,即网络连接。
######LOCAL=YES 本地连接
######KILL -9 非本地连接
######oracle并不会自动释放LOCAL=NO的监听进程,
######没有释放的相关进程,占用系统资源,导致shutdown immediate无法执行完成。
######我们把它kill掉,shutdown immediate即可执行完成,重新启动。
#################################
kill -9 PID
#################################
######启动成功 危机解除
#################################
startup
shutdown命令:
oracle的shutdown命令用来关闭当前实例,有4个可选参数:
normal、transactional、immediate和abort。不带参数时默认是normal。
这几个参数的差异体现在以下几个维度:
是否允许新的连接;
当前已连接的回话是否自动断开;
当前未提交的事务是等待用户提交完成还是自动回滚;
关闭时是否需要做检查点;
启动时是否需要进行实例恢复。
shutdown normal
不允许新的连接、等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。
shutdown transactional
不允许新的连接、不等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。
shutdown immediate
不允许新的连接、不等待会话结束、不等待事务结束、做一个检查点并关闭数据文件。没有结束的事务是自动rollback的。启动时不需要实例恢复。
shutdown abort
不允许新的连接、不等待会话结束、不等待事务结束、不做检查点且没有关闭数据文件。启动时自动进行实例恢复。