我有数据库TESTDB,其中包含以下详细信息:
数据库大小:3.2GB
数据库容量:302 GB
由于SMP范围,其中一个表空间的HWM太高,所以它不会让我降低高水位。
我的备份大小约为3.2 GB(因为备份仅包含已用过的页面)
如果我通过重定向恢复恢复此数据库备份映像,那么新恢复的数据库的大小是多少?
是大约3.2 GB还是大约302 GB?
答案 0 :(得分:2)
简短的回答是RESTORE DATABASE
将生成一个目标数据库,该数据库占用的磁盘空间大约与源数据库备份时所占的数量相同。
就其本身而言,DB2备份映像的大小并不是目标数据库有多大的可靠指标。首先,DB2提供了压缩正在备份的数据的选项,这可以使备份映像显着小于它包含的DB2对象数据。
正如您正确指出的那样,备份映像只包含非空扩展区(连续页面块),但RESTORE DATABASE
命令会将每个表空间容器重新创建为其原始大小(包括空页),除非您指定通过REDIRECT
参数提供不同的容器位置和大小。
您看到的302GB容量来自GET_DBSIZE_INFO
和类似的实用程序,并且通常大于数据库当前占用的总存储量。这是因为DB2的容量计算不仅包括DMS表空间中未使用的页面,还包括SMS表空间使用的卷或驱动器上的任何可用空间(大多数DB2 LUW数据库至少包含一个SMS表空间)。