我的一个linux下db2 9.7版本。有一个表空间已经90%以上,这个表空间是常规表空间。DMS管理。
是不是用extend方式扩展当前的datafile最好哪?
这样操作会造成表空间夯住吗?有什么风险吗?
1、ALTER TABLESPACE tablespace_name EXTEND FILE \'container-string\' 32G; ---扩大“到”32个G,假如原来的容器大小是20G
2、ALTER TABLESPACE tablespace_name ADD FILE \'container-string\' 20G; ---增加一个2G的容器,假如原来的容器大小是20G,容器之间需要做数据的rebalance
3、ALTER TABLESPACE tablespace_name BEGIN NEW STRIPE SET FILE \'container-string\' 20G; ---增加一个2G的容器,假如原来的容器大小是20G,begin new stripe set的方式,
容器之前不会做rebalance,原理是等旧的容器用完后才用新添加的容器
收起DMS表空间也看是不是自动扩展啊。建议你用db2pd -d dbname -tablespaces 看看Auto列,也就是autoresize的意思,如果为YES,就是自动扩展,如果为NO,就不是自动扩展。
个人认为,不管是extend,还是add file,影响都几乎是一样的;add 添加容器的话,容器之间需要做rebalance,这个操作是异步的,而且如果前台有大量的DML,那可能会造成一定的性能影响,所以,建议在非业务高峰期做,并且,最好是添加的容器和原来的容器大小保持一致。
收起