Import SQL2059W设备已满警告-尝试使表空间联机时

Import SQL2059W设备已满警告-尝试使表空间联机时,import,db2,backup,sap,db2-luw,Import,Db2,Backup,Sap,Db2 Luw,尝试将DB2导入作为系统副本的一部分,并填充事务日志。导入被取消,事务日志备份运行,日志数量增加到可用磁盘的90%左右,以前为70% 重新启动了DB并启动了DB,但现在由于表空间状态而导致的错误—运行db2 list tablespaces show detail显示有4个表空间处于Backup Pending状态 因此,我尝试联机使用db2备份数据库表空间BTABI,但出现错误: SQL2059W在device/db2/db2上遇到设备已满警告。是否要继续,仅终止此设备,中止实用程序?电汇 除

尝试将DB2导入作为系统副本的一部分,并填充事务日志。导入被取消,事务日志备份运行,日志数量增加到可用磁盘的90%左右,以前为70%

重新启动了DB并启动了DB,但现在由于表空间状态而导致的错误—运行db2 list tablespaces show detail显示有4个表空间处于Backup Pending状态

因此,我尝试联机使用db2备份数据库表空间BTABI,但出现错误:

SQL2059W在device/db2/db2上遇到设备已满警告。是否要继续,仅终止此设备,中止实用程序?电汇

除了终止外,没有任何选项有效

问题是,设备没有满。数据库上没有任何活动,运行db2列表应用程序可以提供:

SQL1611W数据库系统监视器未返回任何数据

运行db2 select log_Uutilization_percent,将sysibmadm.log_utilization中的dbpartitionnum按2的顺序显示日志利用率返回0

没有正在使用的日志。文件系统没有空间。我甚至再次尝试减少日志数量,以确保不会出现同样的问题

我尝试了db2 alter tablespace BTABI switch online,虽然它返回一个“success”语句,但实际上什么都没有做——我的表空间仍然处于待备份状态


有什么想法吗?

您正在尝试将备份映像写入/db2/db2文件系统,该文件系统没有足够的空间容纳备份映像

注意:当您执行上面示例中的备份数据库时,没有指定将备份发送到何处,即不使用to/dir/ectory或其他选项(如使用TSM),DB2会将备份映像写入当前目录。请确保指定存储备份映像的位置,并且它有足够的可用空间来保存备份映像。如果您不关心可恢复性,而只是试图将表空间从备份挂起状态中释放出来,则可以指定/dev/null作为您的位置,正如@mustaccio在上面的注释中所建议的那样


另外:您可能希望查看导入实用程序的COMMITCOUNT选项,这样您就不会试图在一个大规模事务中插入所有数据。

根据上述注释-只需继续运行导入,每次使用以下命令重置“挂起加载”状态:

从del的/dev/null加载到SAPECD中


每次都会有几个包失败,但其余的包都会失败。让文件系统完成、再次重置并重新启动导入的过程每次都会多进行一点。

尽管您说文件系统有可用空间,但DB2显然不这么认为。有关更多详细信息,请在尝试备份时查看db2diag.log。或者,如果您有另一个备份可以在最坏的情况下使用,您可以将db BLAH备份到/dev/null。谢谢您的回答。。。它被设置为备份到CommVault,在我们进行导入时,在线备份已被禁用,但事务日志备份仍在运行并在那里备份。所涉及的文件系统均未满。最后,我启动了一个磁盘区域的完整备份,该磁盘区域在我睡觉前有足够的空间—它工作正常,最终摆脱了备份挂起状态!不幸的是,我遇到了一个我以前见过的问题;表SAPECD.BSIM上的原因代码3不允许SQL0668N操作。SQLSTATE=57016 row=1 DB INFO:disconnected-from-DB我之前对此的修复是:load from/dev/null of del terminate-to-SAPECD.BSIM,但这次在许多表上运行了该修复之后,导入失败将:BSIM已删除/被截断我想我需要让它从头开始重新导入这些表,但我不确定如何…即使您使用CommVault进行正常备份,您在问题中执行的命令也不会写入CommVault–它将写入文件系统。这与存档日志文件不同,存档日志文件可能被配置为在手动使用备份数据库命令时直接转到CommVault,而不是让CommVault为您触发备份,您需要在命令中指定load//Base/libDb2Sbt.so,以告知DB2将备份写入CommVault。感谢Ian,是的,你有一点-该命令将试图备份到一个确实没有空间的位置!不管怎么说,其他地方的完全备份清除了这一点。“新的”“截断”错误是我的错;我在看到“loadpending”状态错误之前就停止了导入,并人为地创建了一个新错误。让它为剩余的包运行,即使有些包失败,也会清除此漏洞,因此有些包只是失败了,仍然是“load pending”。似乎我需要不断重置状态并重新启动导入,每次都有一个百分比失败,但它会逐渐在更多方面起作用