DB2 SYSINSTALLOBJECTS 存储过程

DB2 SYSINSTALLOBJECTS 存储过程是为了DB2的某些工具生成相关对象用的。它在SYCPROC schema下,参数定义形式:
SYSINSTALLOBJECTS (
tool_name VARCHAR,
action CHAR,
table_space_name VARCHAR(128),
schema_name VARCHAR(128)

tool_name 为要操作的工具的名称,有一下几个值:
[list]
[*]'AM' 为创建活动监视器对象
[*] 'DB2AC' 为DB2健康监视器创建对象
[*] 'STMG_DBSIZE_INFO' 为存储管理创建对象
[*] 'OPT_PROFILES' 为创建数据库优化参数存储表格
[*] 'POLICY' 为相关POLICY
[/list]

action 为操作的类型, 有 'C', 'D','V' - (Create, Drop, Verify)

table_space_name, 存放待创建对象的表空间。 如果该参数未指定或空字符,当工具名是'AM'时,默认表空间将会被使用,除此之外,SYSTOOLSPACE将会被使用,如果它不存在则创建。

schema_name, 保留参数,不使用。

项目中遇到的问题是SYSTOOLS.POLICY表不存在,但是其上的四个Trigger却存在,且状态为X。 因此要删除不一致的状态,方法有两个:
1. 直接DROP trigger。 需要用SYSIBM或SYSCTRL的权限帐号执行
DB2 DROP TRIGGER SYSTOOLS.POLICY_IR
......
2. 使用上述存储过程回复POLICY数据再删除

//重新创建
CALL SYSPROC.SYSINSTALLOBJECTS('POLICY', 'C', CAST (NULL AS VARCHAR 128)), CAST (NULL AS VARCHAR(128)))
//删除
CALL SYSPROC.SYSINSTALLOBJECTS('POLICY', 'D', CAST (NULL AS VARCHAR(128)), CAST (NULL AS VARCHAR(128)))


虽然不一致的状态得到了消除,但是对于POLICY表的使用场景和时机,却没有弄明白,从表中的内容看似乎是一些维护的POLICY定义。有清楚的高手,帮我解惑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值