关于数据库的激活

来源:互联网 发布:golang exit status 2 编辑:程序博客网 时间:2024/05/01 22:26

问题

db2 activate  db   dbname ----激活数据库

激活数据库作用是啥?其后台是启动了什么进程???相当于oracle 中的open  database吗??


解答

Activates the specified database and starts up all necessary database services, so that the database is available for connection and use by any application.

激活数据库的命令,就是当db2刚刚启动,connect之前所做的操作
主要工作是执行数据库恢复和申请相关内存

其实这类问题在 DB2 信息中心里面都能找到答案


激活数据库

1、数据库没有激活之前,应用中使用connect to db或隐式连接,那么应用就必须要进行等待,直到数据库管理器启动了你要连接的数据库.一般第一个应用连接会引发等待数据库管理器执行数据库启动的所有开销.

2、或使用activate database db这样的命令启动特定的数据库.这个命令就会免除第一个应用程序连接上来的时候等候数据库初始化所花费的时间。一般情况下,DB2 DBA会提前激活所有必要的数据库.



activate可不是这么简单。以上只是其中一个方面,减少第一次连接的资源分配时间。

曾经遇见过几个类似案例,就是日志归档特别频繁,但每次产生的日志文件特别小。调研发现,应用程序中,每次处理结束后,都会connect reset释放连接资源,当所有并发程序都reset后,db2就会回收所有资源,并且truncate日志文件。当再有连接时,产生新的日志文件,当都关闭后,又会truncate日志....

这个问题的根源就是没有activate DB造成。当activate db后,即使所有连接都断开,db2数据库也不会回收资源,也不会truncate日志。

取消激活
  1. 使用 DEACTIVATE DATABASE <DBALIAS> 命令将数据库取消激活。



0 0
原创粉丝点击