本文共 683 字,大约阅读时间需要 2 分钟。
生产环境一般都是7*24运行,但有时候打patch的时候,需要重启或者需要关机维护,这就需要保证数据库能够快速关机,避免不必要的等待关机时间,有时候仅仅执行shutdown immediate就ok,可结果却会等很久数据库都还没有关闭,所以这就需要在关闭影响数据库关闭的应用,session等。
一下纯属个人经验,如有雷同,纯属巧合。
1. 关掉应用,中间件等连接池。
2. 关掉监听,不允许其他session再连接数据库,如果是集群环境,所有的节点都需要关闭。
3. 杀掉连接的session,把还是活动的session,还连接到数据库的session先杀掉,使用脚本:ps –ef|grep oracle | grep LOCAL=NO| grep –v grep| awk ‘{print $2}’|xargs kill –9
4. 把脏数据写入磁盘,把redo log写入磁盘
12345678910111213141516171819 | SQL> ALTER system switch logfile; System altered. SQL> / System altered. SQL> ALTER system archive log CURRENT; System altered. SQL> / System altered. SQL> ALTER system checkpoint; System altered. |
5. 关闭数据库,这样就会很快的关闭了
shutdown immediate;
这样就不会为了苦苦等待数据库很久都不会关闭了。
转载地址:http://edufm.baihongyu.com/