专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

如何简单粗暴的杀死Oracle数据库,请不要轻易的尝试!

ins518 2024-10-23 12:54:13 技术文章 8 ℃ 0 评论

给大家整理了两条命令,它可以瞬间将Oracle杀死在无形之中,下面给大家简单的介绍一下它的威力。

命令如下:

ps -ef |grep $ORACLE_SID|grep -v grep|awk '{print $2}' | xargs kill -9

$ ipcs -m | grep oracle | awk '{print $2}' | xargs ipcrm shm

两条命令的来由:

今天处理了几起Oracle数据库无法登陆的问题,无论你采用什么方法都无法正常登陆到sqlplus,更谈不上故障排查了。这种情况有两种选择,第一种选择是经过一个较长的时间来进行故障排查;另外一种方法是不惜一切代价启动数据库以便尽快恢复生产。

如果是测试环境可以使用第一种方法来完成,对于排查故障的经验积累是非常有益的;如果是生产环境,减少停机时间是最佳选择。由于是生产环境,所以我们不惜一切代价让数据库尽快恢复使用。对于尽快恢复生产的方法有两种,第一重启服务器主机,彻底释放一切资源,重新来过,这种方法是有效的,不过停机时间还是有点长,如果主机上还有其他的应用在运行,显然这种方法不可取。下面给大家介绍第二种方法。

第一步:使用linux的kill命令杀死所有与Oracle相关的进程

1.查询与Oracle相关的进程

2.去掉包含grep命令本身的记录

3.使用awk命令得到我们关心的进程号

4.万事俱备,最后我们使用kill命令将Oracle的进程杀死,因此我们得到了下面完整的命令,记住,不要轻易的去执行,有时候太有好奇心,不是什么好事!

$ ps -ef |grep $ORACLE_SID |grep -v grep|awk '{print $2}' | xargs kill -9

第二步:使用linux的ipcs和ipcsrm释放Oracle占用的共享内存

1.使用ipcs命令查看Oracle占用的共享内存情况

2.使用grep命令过滤后得到与Oracle相关内容

3.使用awk命令活的我们上面关心的shmid字段内容

4.最后使用ipcsrm命令释放共享内存

$ ipcs -m | grep oracle | awk '{print $2}' | xargs ipcrm shm

resource(s) deleted

此时,我们便可以登录到数据库了,最后启动数据库恢复生产。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表