前言
曾经接到开发人员求救,由于测试环境速度太慢,尝试通过重启数据库的方式来解决,但是由于当时数据库有很多任务在执行,数据库很久都没有办法停止,之后就经历了多次强制关数据库,重启服务器的操作,最后数据库出现坏块无法启动,由于是测试环境,数据库没有备份,最后只能重建数据库,重新从其它环境获得测试数据,折腾了好几天。
本文主要列出重启数据库的注意事项,尽量避免由于重启数据库引起数据库无法启动的情况
重启注意事项
如果关闭数据库较慢,建议耐心等待,不要频繁对数据库强制关闭,重启服务器的操作,有可能会引起数据库启动时出现坏块,无法启动的情况
如果该数据库是生产系统
1)与业务沟通后,需要在可变更时间,进行数据库重启
2)在变更时间,业务人员停止所有的应用
3)停止数据库监听
4)重启数据库
如果是数据库是测试环境
1)建议在相对比较空闲的时间重启数据库
2)如果可能,建议停止所有测试连接后再进行数据库重启
数据库重启步骤
1. 在可变更时间,停止应用连接
2. 关闭监听,防止有新的连接
$ lsnrctl stop
3. 执行日志切换
SQL>select count(distinct group#) from v$log; -- 查询日志组的数量
SQL> alter system switch logfile; -- 执行次数为:日志组数据量&#