经验总结:停止数据库的一些实用技巧
【赛迪网-IT技术报道】正常情况下,大家只要shutdown immediate就可以停下数据库,但是对于生产系统,跑的数据量又比较大,redolog又有几百兆,此时shutdown数据库时一定要倍加小心。
下面,根据此种情况介绍一下解决方法:
1.停数据库
1.1、停listener
1.1.1、lsnrctl stop LISTENER_NAME 停侦听
1.1.2、lsnrctl status LISTENER_NAME 确认侦听是否正常停止
1.1.3、约过半小时ps -ef |grep LOCAL=NO 检查是否还有进程连在数据库上没有释放。
如果没有释放,执行kill -9 `ps -ef|grep LOCAL=NO |awk ‘{print $2}’`
1.1.4、检查数据库上的session是否还有僵死进程。
1.2、停instance
1.2.1 停job和aq
alter system set job_queue_processes=0 scope=memory;
alter system set aq_tm_processes=0 scope=memory;
1.2.2、alter system switch logfile;执行三次。
1.2.3、alter system checkpoint;执行三次。
1.2.4、shutdown immediate;正常关闭数据库。
(若数据库在1小时内还无法正常关闭,执行shutdown abort;再startup;
startup后尝试再次正常关闭数据库shutdown immediate;
如在1小时内还是不能正常关闭,算本次重启失败,执行shutdown abort;再startup;将数据库启动,不再进行其他的操作,联系oracle)
1.1.5、检查数据库进程是否还存在ps -ef |grep -i ora