从今天开始DB2相关的内容

系统为 Redhat 7.4

数据库为 v10.5fp10

上节我们说了如何建立数据库,这节内容为设置常见的参数

DB2中一个实例下可以有多个数据库,一个数据库只能属于一个实例

所有命令在db2inst1用户下运行

## 1.设置备份信息保存天数

如下命令设置备份中的历史信息保存天数,

```
db2 "update db cfg for testdb using REC_HIS_RETENTN 90"
```

## 2. 设置系统编目信息缓存大小

单位为数据库页大小,一般为4K

```
db2 "update db cfg for testdb using catalogcache_sz 500"
```

## 3. 设置日志相关参数
```
db2 "update db cfg for testdb using logfilsiz 10240"
db2 "update db cfg for testdb using logprimary 80"

db2 "update db cfg for testdb using logsecond 50"
```

- logfilze 单个日志文件大小,单位为页大小,一般为4K,修改需要重启数据库
- logprimary 主日志文件个数,修改需要重启数据库
- logsecond 辅助日志文件个数,修改不需要重启数据库

primary+second 不能超过255
## 4. 设置应用获取锁超时时间

用于避免死锁发生,单位为秒
```
db2 "update db cfg for testdb using LOCKTIMEOUT 300"
```

## 5. 设置自动内存优化参数
```
db2 "update db cfg for testdb using SELF_TUNING_MEM on"
```
## 6.设置是否记录索引相关日志

对于索引的建立,重建,重整是否记录日志,在HADR中需要设置,类似于Oracle的DataGuard

```
db2 "update db cfg for testdb using LOGINDEXBUILD on"
```
## 7.设置NOLOG属性

该参数决定表的是否可以设置NOT LOGGED 和NOT LOGGED INITIALLY属性 

```
db2 "update db cfg for testdb using BLOCKNONLOGGED on"
```
## 8.开启归档日志模式

```
db2 update db cfg for testdb  using logarchmeth1 DISK:/db2data/db2_archive
db2 force application all
db2 connect to testdb
db2 backup db testdb to  /db2data/backup
```

## 重启生效

最后重启下实例和数据库

```
db2 force application all
db2 terminate
db2stop 
db2start
db2 "activate db testdb"
db2 connect to testdb
```