数据库停机时间对COBOL-DB2程序的影响

问题:如果COBOL-DB2程序尝试查询DB2表,但是驻留该表的数据库已关闭,结果将如何?

当我们尝试使用COBOL-DB2程序访问任何表并且该表所在的DB2数据库关闭时,COBOL-DB2程序将异常终止。在这种情况下,SQLCA的SQLCODE字段的值为-904。

根据IBM文档SQLCODE -904的规定。

“Unavailable resource. The database or tablespace is not available for use”

我们可以使用几种方法来查找DB2数据库的当前状态。

在管理面板中执行db2start命令。如果我们收到以下任何消息,则表明DB2已启动。

11/14/2020 12:04:05 0 0 SQL1026N The database manager is already active.

在管理面板中执行db2pd命令。该命令将提供DB2数据库的当前状态。如果数据库已启动,则它将给出自数据库实例启动并运行以来的天数。

-- Active -- 3 days 34:04:19 -- Date 2020-11-14-11.56.02.911862

为了重新启动DB2数据库实例,我们可以在管理面板中使用以下DBA命令。

db2start

数据库可能会按预期工作,但表空间级别可能会出现问题。在这种情况下,我们可以通过从管理面板执行以下命令来检查表空间的状态。

db2 “list tablespaces”