尝试将DB2导入作为系统副本的一部分并填充事务日志。取消导入,运行事务日志备份,日志数量增加到可用磁盘的大约90%(以前为70%)。
重新启动数据库并启动数据库,但现在由于表空间状态而导致的错误 - 运行db2 list tablespaces show detail
表明我有4个处于备份挂起状态的表空间。
所以我尝试db2 backup database <SID> tablespace <SID>#BTABI online
,但我收到错误:
SQL2059W在设备“/ db2 / db2”上遇到设备完全警告。是否要继续(c),仅终止此设备(d),中止实用程序(t)? (c / d / t)t
没有选项有效但终止。
问题是,设备未满。数据库上没有活动,运行db2 list applications
给出:
SQL1611W数据库系统监视器未返回任何数据。
运行db2 "select log_utilization_percent,dbpartitionnum from sysibmadm.log_utilization order by 2"
以显示日志利用率返回0.
没有使用日志。文件系统没有空间。我甚至尝试再次减少日志数量以确保但是得到同样的问题。
我尝试了db2 "alter tablespace <SID>#BTABI switch online"
,虽然这会返回一个'成功'语句但实际上并没有做任何事情 - 我的表空间仍处于备份暂挂状态?
请提出任何想法
答案 0 :(得分:0)
您正在尝试将备份映像写入/db2/db2
文件系统,该系统没有足够的空间来容纳备份映像。
注意:如上例中执行BACKUP DATABASE
而未指定发送备份的位置(即您不使用to /dir/ectory
或其他选项与use TSM
)类似,DB2会将备份映像写入当前目录。确保指定 where 来存储备份映像(并且它有足够的可用空间来容纳备份映像)。如果您不关心可恢复性并且只是试图让表空间超出备份暂挂状态,您可以指定/ dev / null作为您的位置@mustaccio在上面的注释中建议。
另外:您可能希望查看导入实用程序的COMMITCOUNT
选项,这样您就不会尝试在单个大型事务中插入所有数据。
答案 1 :(得分:0)
根据上述评论 - 只是继续运行导入,每次都重置“待处理加载”状态:
从del的/ dev / null加载终止到SAPECD。
每次都有一些软件包失败,但其余的过程都会失败。让完成,重新重置并重新启动导入每次都会多一点。