Chinaunix首页 | 论坛 | 博客
  • 博客访问: 667366
  • 博文数量: 102
  • 博客积分: 2241
  • 博客等级: 大尉
  • 技术积分: 1670
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-08 10:08
文章分类

全部博文(102)

文章存档

2013年(6)

2012年(15)

2011年(81)

分类: DB2/Informix

2012-08-23 14:04:56

DB2 9.1 升级fp10补丁后,有些客户端连接不正常,dbvisualizer 查询出的数据表也没有修改编辑那几个按钮了,需要在服务器端执行以下操作。


 >  >  >  > 
 DB2 V9.7 for Linux, UNIX, and Windows

 

安装修订包后对绑定文件进行绑定

在为服务器安装修订包过程中,将自动绑定数据库实用程序(IMPORTEXPORTREORG 和命令行处理器)和 CLI 绑定文件。但是,如果在客户机上安装修订包或发生错误,那么可以手动绑定数据库实用程序和 CLI 绑定文件。对于 DB2® 数据库 Linux 版、UNIX 版和 Windows 版以及主机或 System i® 数据库服务器,必须绑定不同的绑定文件子集。

开始之前

确保您具有执行 BIND 命令的必需权限。有关详细信息,请参阅相关链接。

关于此任务

注: 不能使用 IBM® Data Server Runtime Client 来绑定数据库实用程序和 CLI 绑定文件。从与Data Server Runtime Client在相同操作系统以及相同 DB2 版本和修订包级别运行的 IBM Data Server Client(或其他 DB2 数据库产品)执行 BIND 命令。

过程

要对绑定文件进行绑定:

  1. 如果在具有现成数据库的 DB2 数据库产品基础上安装修订包,请对每个数据库执行一次下列命令:
    db2 terminate
    db2 CONNECT TO dbname user USERID using PASSWORD
    db2 BIND path\db2schema.bnd BLOCKING ALL GRANT PUBLIC SQLERROR CONTINUE
    db2 BIND path\@db2ubind.lst BLOCKING ALL GRANT PUBLIC ACTION ADD
    db2 BIND path\@db2cli.lst BLOCKING ALL GRANT PUBLIC ACTION ADD
    db2 terminate
    其中 dbname 表示应将文件绑定至的数据库的名称,而 path 是绑定文件所在的目录的完整路径名,例如INSTHOME\sqllib\bnd(其中 INSTHOME 表示 DB2 实例的主目录)。db2ubind.lst 和 db2cli.lst 包含 DB2 数据库产品所使用的必需绑定文件列表。已绑定的程序包将返回 SQL0719N 错误。这是期望的行为。
  2. 可选:如果在具有现成数据库的 DB2 数据库产品基础上安装修订包,请通过运行 REBIND 或 db2rbind 命令来重新绑定程序包。

    安装修订包后,某些程序包会被标记为无效。应用程序首次使用被标记为无效的程序包时,会隐式地重新绑定这些程序包。要消除此开销并确保重新绑定操作成功,请手动重新绑定所有程序包。例如,发出 db2rbind 命令:

    db2rbind dbname -l logfile all 其中 dbname 表示要使其程序包重新生效的数据库的名称,而 logfile 是在程序包重新生效期间要用于记录错误的文件名。
  3. 如果在具有支持空间的现有数据库的 DB2 数据库产品基础上安装修订包,请对每个数据库执行下列命令:db2 terminate db2 CONNECT TO dbname user USERID using PASSWORD db2 BIND path\BND\@db2gse.lst db2 terminate 其中 dbname 表示应将文件绑定至的数据库的名称,而 path 是绑定文件所在的目录的完整路径名,例如INSTHOME\sqllib\bnd(其中 INSTHOME 表示 DB2 实例的主目录)。db2gse.lst 包含 DB2 Spatial Extender 提供的存储过程的绑定文件名。
  4. 如果连接至主机或 System i 服务器上的 DB2 数据库,请执行下列操作:
    • 对于 z/OS® 或 OS/390® 上的 DB2 数据库:db2 terminate db2 CONNECT TO dbname user USERID using PASSWORD db2 BIND path\@ddcsmvs.lst BLOCKING ALL SQLERROR CONTINUE GRANT PUBLIC ACTION ADD db2 terminate
    • 对于 VM 上的 DB2 数据库:db2 terminate db2 CONNECT TO dbname user USERID using PASSWORD db2 BIND path\@ddcsvm.lst BLOCKING ALL SQLERROR CONTINUE GRANT PUBLIC ACTION ADD db2 terminate
    • 对于 VSE 上的 DB2 数据库:db2 terminate db2 CONNECT TO dbname user USERID using PASSWORD db2 BIND path\@ddcsvse.lst BLOCKING ALL SQLERROR CONTINUE GRANT PUBLIC ACTION ADD db2 terminate
    • 对于 System i 上的 DB2 数据库:db2 terminate db2 CONNECT TO dbname user USERID using PASSWORD db2 BIND path\@ddcs400.lst BLOCKING ALL SQLERROR CONTINUE GRANT PUBLIC ACTION ADD db2 terminate

    其中 dbname 表示文件应绑定至的主机或 System i 数据库的名称,而 path 是绑定文件所在的目录的完整路径名,例如INSTHOME\sqllib\bnd(其中 INSTHOME 表示 DB2 实例的主目录)。

  5. 如果连接至正在不同操作系统(Linux、UNIX 或 Windows)或在不同 DB2 版本或服务级别运行的数据库,那么对这些数据库绑定数据库实用程序和 CLI 绑定文件。
    注:
    • 无论您是连接至另一个 DB2 数据库系统中的数据库还是同一台机器上的另一个 DB2 副本中的数据库,需要执行的操作都相同。
    • 如果在多个位置安装了修订包,请对每个唯一的操作系统和 DB2 版本或服务级别的组合执行一次操作。
    执行下列操作:db2 terminate db2 CONNECT TO dbname user USERID using PASSWORD db2 BIND path\@db2ubind.lst BLOCKING ALL GRANT PUBLIC ACTION ADD db2 BIND path\@db2cli.lst BLOCKING ALL GRANT PUBLIC ACTION ADD db2 terminate 其中 dbname 表示应将文件绑定至的数据库的名称,而 path 是绑定文件所在的目录的完整路径名,例如INSTHOME\sqllib\bnd(其中 INSTHOME 表示您在其中发出命令的实例的主目录)。db2ubind.lst 和 db2cli.lst 包含 DB2 数据库产品所使用的必需绑定文件列表。已绑定的程序包将返回 SQL0719N 错误。这是期望的行为。
示例

绑定联合数据库

如果具有现成的联合数据库,那么必须在安装 DB2 修订包之后对绑定文件 db2dsproc.bnd 和 db2stats.bnd 进行绑定。要对绑定文件进行绑定,您必须具有下列其中一种权限:
  • DBADM 权限
  • 对模式的 ALTERIN 特权
  • 对程序包的 BIND 特权
要对绑定文件 db2dsproc.bnd 和 db2stats.bnd 进行绑定,请连接至数据库并运行 BIND 命令。例如:
db2 CONNECT TO dbname user USERID using PASSWORD
db2 bind path/db2dsproc.bnd blocking all grant public
db2 bind path/db2stats.bnd blocking all grant public
db2 terminate
其中 dbname 表示联合数据库的名称,而 path 则表示绑定文件所在目录的完整路径名,如 $HOME/sqllib/bnd,其中 $HOME 表示 DB2 实例主目录。
父主题: 
相关概念:
相关参考:
 任务主题 )


cd ~/sqllib/bnd
for db in XXX YYY ; do
db2 terminate
db2 CONNECT TO $db
db2 BIND db2schema.bnd BLOCKING ALL GRANT PUBLIC SQLERROR CONTINUE
db2 BIND @db2ubind.lst BLOCKING ALL GRANT PUBLIC ACTION ADD
db2 BIND @db2cli.lst BLOCKING ALL GRANT PUBLIC ACTION ADD
db2 bind db2dsproc.bnd blocking all grant public
db2 bind db2stats.bnd blocking all grant public
db2 terminate
done

阅读(9829) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~