如何处理DB2 for I日志状态
为了测试一个qshell脚本,该脚本自动清理DB2fori中超过2天的日志,我需要让一些日志处于未附加或在线状态(脚本跳过具有此类状态的日志)。是否有人可以帮助我并建议如何使用System I navigator或SQL语句更改/更新日志状态 目前,我在“日记账接收人”部分中有“已附加”状态的项目,当我更改日记账的接收人时,将在附加状态下创建一个新的日记账接收人,并将上一个移动到联机状态。我没有找到任何方法将它们移动到其他状态。 我还尝试使用SQL语句从DISPLAY_日志中获取一些信息,但没有成功如何处理DB2 for I日志状态,db2,db2-400,Db2,Db2 400,为了测试一个qshell脚本,该脚本自动清理DB2fori中超过2天的日志,我需要让一些日志处于未附加或在线状态(脚本跳过具有此类状态的日志)。是否有人可以帮助我并建议如何使用System I navigator或SQL语句更改/更新日志状态 目前,我在“日记账接收人”部分中有“已附加”状态的项目,当我更改日记账的接收人时,将在附加状态下创建一个新的日记账接收人,并将上一个移动到联机状态。我没有找到任何方法将它们移动到其他状态。 我还尝试使用SQL语句从DISPLAY_日志中获取一些信息,但没有
select * from TABLE (QSYS2.DISPLAY_JOURNAL(
'QSYS2', -- put the JOURNAL_LIBRARY parameter value instead of 'JOURNAL_LIBRARY' (VARCHAR(10))
'QSQJRN', -- put the JOURNAL_NAME parameter value instead of 'JOURNAL_NAME' (VARCHAR(10))
'', -- put the STARTING_RECEIVER_LIBRARY parameter value instead of 'STARTING_RECEIVER_LIBRARY' (VARCHAR(10))
'', -- put the STARTING_RECEIVER_NAME parameter value instead of 'STARTING_RECEIVER_NAME' (VARCHAR(10))
'', -- put the STARTING_TIMESTAMP parameter value instead of 'STARTING_TIMESTAMP' (TIMESTAMP)
'', -- put the STARTING_SEQUENCE parameter value instead of 'STARTING_SEQUENCE' (DECIMAL(21,0))
'', -- put the JOURNAL_CODES parameter value instead of 'JOURNAL_CODES' (VARCHAR(48))
'', -- put the JOURNAL_ENTRY_TYPES parameter value instead of 'JOURNAL_ENTRY_TYPES' (VARCHAR(1200))
'', -- put the OBJECT_LIBRARY parameter value instead of 'OBJECT_LIBRARY' (VARCHAR(10))
'', -- put the OBJECT_NAME parameter value instead of 'OBJECT_NAME' (VARCHAR(10))
'', -- put the OBJECT_OBJTYPE parameter value instead of 'OBJECT_OBJTYPE' (VARCHAR(10))
'', -- put the OBJECT_MEMBER parameter value instead of 'OBJECT_MEMBER' (VARCHAR(10))
'', -- put the USER parameter value instead of 'USER' (VARCHAR(10))
'', -- put the JOB parameter value instead of 'JOB' (VARCHAR(26))
'' -- put the PROGRAM parameter value instead of 'PROGRAM' (VARCHAR(10))
)) AS X
SQL Error [42704]: [SQL0204] DISPLAY_JOURNAL in QSYS2 type *N not found.
[SQL0204] DISPLAY_JOURNAL in QSYS2 type *N not found.
显示日志仅从7.2版起可用 但是,您没有足够的选项来控制日志删除吗? 我让IBM来管理它们
日志接收者状态不能像数据库表中的状态字段那样更改。它是对象本身的状态。一旦接收器被更改,并且不再是连接的接收器,您就可以删除它们。但是,如果您试图删除一个尚未保存的接收器,它会给您一条这样的消息。您可以保存日志接收器,即使它已连接,但如果您不希望系统为您管理接收器,最好的办法是在更改接收器后保存它们,然后您可以随时删除接收器
因此,也许您应该将接收器保存为联机状态,然后您可以允许脚本删除它们。我们使用DB2I进行测试,它不是真实的环境,因此我们根本不需要日志,当我们执行大量事务时,服务器存储将满,我们必须手动进行清理,这就是我们决定使用Qshell自动化清理的原因。在这种情况下,每晚备份前都要更改日志,备份日志,并删除旧的接收器。您甚至可以将它们保存到保存文件中,然后删除保存文件。这算是保存。检查了我的DB2i版本-我们使用7.1:(