生产库快速关闭数据库


生产环境一般都是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写入磁盘

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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;

这样就不会为了苦苦等待数据库很久都不会关闭了。


阅读更多
换一批

没有更多推荐了,返回首页