C语言学习网

大数据量下安全停止Oracle数据库的步骤

发表于:2022-08-11 作者:安全数据网编辑
编辑最后更新 2022年08月11日,近期拿到大数据量的测试数据经过实验发现,正常情况下,大家只要shutdown immediate就可以停下数据库,但是对于生产系统,跑的数据量又比较大,redolog又有几百兆,此时shutdown数

近期拿到大数据量的测试数据经过实验发现,正常情况下,大家只要shutdown immediate就可以停下数据库,但是对于生产系统,跑的数据量又比较大,redolog又有几百兆,此时shutdown数据库时一定要倍加小心。


下面,根据此种情况介绍一下解决方法:

停listener监听

lsnrctl stop LISTENER_NAME 停监听

lsnrctl status LISTENER_NAME 确认监听是否正常停止

过大概20分钟后查看ps -ef |grep LOCAL=NO 检查是否还有进程连在数据库上没有释放。 如果没有释放,执行kill -9 `ps -ef|grep LOCAL=NO |awk '{print $2}'`

停instance实例、job和aq

alter system set job_queue_processes=0 scope=memory;

alter system set aq_tm_processes=0 scope=memory;

alter system switch logfile;这个地方查过资料需要执行三次才可以。

alter system checkpoint;这个地方查过资料需要执行三次才可以。

shutdown immediate;正常关闭数据库。


注意点:若数据库在1小时内还无法正常关闭,执行shutdown abort;再startup; startup后尝试再次正常关闭数据库shutdown immediate。若数据库在1小时内还是不能正常关闭,算本次重启失败,执行shutdown abort;再startup;将数据库启动,不再进行其他的操作)


最后,检查数据库进程是否还存在 ps -ef |grep -i ora


0