互联网服务

Help:如何修改系统表(据我所知,只能由db2修改)

本人正在做一次db2系统迁移v8.1-v9.7(AIX 6.1)1DB21085I  Instance "db2inst1" uses "64" bits and DB2 code release "SQL09074"with level identifier "08050107".Inf ormational tokens are "DB2 v9.7.0.4", "s110330", "IP23236", and Fix Pack"4".Product... 显示全部
本人正在做一次db2系统迁移v8.1-v9.7(AIX 6.1)
1DB21085I  Instance "db2inst1" uses "64" bits and DB2 code release "SQL09074"
with level identifier "08050107".
Inf ormational tokens are "DB2 v9.7.0.4", "s110330", "IP23236", and Fix Pack
"4".
Product is installed at "/opt/IBM/db2/V9.7".

2 V9.7 执行db2look时出错:
SQL0001N  Binding or precompilation did not complete successfully.

SQLCA
Size    = 136
SQLCODE = -1
Tokens  = /home/db2inst1/sqllib/bnd/db2lkfun.bnd
RDS fn  = sqlajbnd
RC      = 0x0000 = 0
Reason  = 0x0000 = 0
Reason2 = 0x0000 = 0
Warning flags =
--An error has occured during Binding
Error Message =
SQL0031C  File "/home/db2inst1/db2lkfun.bnd" could not be opened.

SQLCA
Size    = 136
SQLCODE = -31
Tokens  = /home/db2inst1/db2lkfun.bnd
RDS fn  = sqlajbnd
RC      = 0x0000 = 0
Reason  = 0x0000 = 0
Reason2 = 0x0000 = 0
Warning flags =

3 我试图bind db2lkfun.bnd:
b01acirdb042:/home/db2inst1/sqllib/bnd (db2inst1) => db2 "bind  db2lkfun.bnd   blocking all grant public"
LINE    MESSAGES FOR db2lkfun.bnd
------  --------------------------------------------------------------------
        SQL0061W  The binder is in progress.
25999   SQL0551N  "db2inst1" does not have the required authorization
                  or privilege to perform operation "SELECT" on object
                  "SYSCAT.SECURITYLABELCOMPONENTELEMENTS".  SQLSTATE=42501
26040   SQL0551N  "db2inst1" does not have the required authorization
                  or privilege to perform operation "SELECT" on object
                  "SYSCAT.SECURITYLABELCOMPONENTELEMENTS".  SQLSTATE=42501
26253   SQL0551N  "db2inst1" does not have the required authorization
                  or privilege to perform operation "SELECT" on object
                  "SYSCAT.SECURITYPOLICYCOMPONENTRULES".  SQLSTATE=42501
26524   SQL0551N  "db2inst1" does not have the required authorization
                  or privilege to perform operation "SELECT" on object
                  "SYSCAT.SECURITYPOLICYCOMPONENTRULES".  SQLSTATE=42501
        SQL0082C  An error has occurred which has terminated
                  processing.
        SQL0092N  No package was created because of previous errors.
        SQL0091N  Binding was ended with "6" errors and "0" warnings.
4 授予 select 给 db2inst1(db2inst1属于dbamin group),
b01acirdb042:/home/db2inst1/sqllib/bnd (db2inst1) => db2 grant select on SYSCAT.SECURITYPOLICYCOMPONENTRULES to user db2inst1
DB20000I  The SQL command completed successfully.
5 执行bind继续出同样错误。
6 查询 SYSCAT.SECURITYPOLICYCOMPONENTRULES :
b01acirdb042:/home/db2inst1/sqllib/bnd (db2inst1) => db2 "select GRANTOR,TRUSTEDID,AUTHENTICATE from SYSIBM.SYSSURROGATEAUTHIDS"
GRANTOR                                               TRUSTEDID                                                                                                                        AUTHENTICATE
--------- -------------------------------------------------------------------------------------------------------------------------------- ------------
SYSIBM                                                IONEVIEW (db2inst1)                                                           
A3INONVD(db2inst1)                                             SYSATSCONTEXT  

(备注)IONEVIEW 和A3INONVD都是系统迁移前的instance id
6 收起
参与22

查看其它 20 个回答zhmwang 的回答

zhmwang zhmwang PD OceanBase
现在db2inst1已经是系统的最好权限了
互联网服务 · 2012-03-31
浏览432

回答者

zhmwang
zhmwang 0 4 20
PD OceanBase
擅长领域: 数据库服务器国产数据库
评论433

zhmwang 最近回答过的问题

回答状态

  • 发布时间:2012-03-31
  • 关注会员:1 人
  • 回答浏览:432
  • X社区推广