本文阐述联邦系统的系统表及视图,并讲解了如何获取联邦系统中基本的有效信息并利用其来对遇到的故障进行诊断分析。
本文阐述联邦系统的系统表及视图,并讲解了如何获取联邦系统中基本的有效信息并利用其来对遇到的故障进行诊断分析。
引言
联邦数据库系统是一种基于 DB2 实现的分布式数据管理系统,由于其屏蔽了各种数据源之间的差异,能够实时,快捷的对异构数据源的数据进行操作,得到了广泛的应用。同任何产品一样,普通用户在使用联邦系统的的过程中,必然会遇到一些问题,这些问题一部分是系统自身的设计缺陷造成的,但是还有很大部分是由于用户没有遵循产品使用的规则,没有注意到使用各项特性的先决条件造成的,本文正是针对此类问题,从联邦系统目录和视图的角度出发,描述了其相关的系统表信息,并介绍了如何获取并利用这些信息来对故障进行定位,从而更有效率的解决此类问题。本文面向对象需要了解联邦系统相关知识,并理解其内建对象(用户映射,函数映射,别名等)。
联邦系统系统目录信息介绍
系统目录表
如前所述,联邦系统基于 DB2 实现,它利用了 DB2 的系统表来存储远程数据源相关的系统信息,如 SYSIBM.TABLES, SYSIBM.INDEXES,SYSIBM.COLUMNS,SYSIBM.ROUTINES 等,同时对于那些联邦系统特有的对象和特性 , 设计了专门的系统表来存储相关信息,这些表包括:
◆SYSIBM.SYSWRAPPERS:每一行代表注册过的转换器 (wrapper)
◆SYSIBM.SYSSERVERS: 每一行代表了数据源的信息,如数据源版本号,类型等。
◆SYSIBM.SYSFUNCMAPPINGS: 包括函数映射的基本信息如函数映射名,基于服务器的名字等等,一般可以用来判断找不到相应函数这类的错误。
◆SYSIBM.SYSSERVEROPTIONS: 包括对服务器选项的设置信息,如 Collating_sequence,PROXY_AUTHID 等,这些选项的设置可以对查询性能产生影响。
◆SYSIBM.SYSTYPEMAPPINGS: 包括数据类型映射的基本信息,如联邦服务器这一侧的数据类型和远程数据源短的数据类型的对应关系,一般用于判断数据类型相关的错误。
◆SYSIBM.SYSUSEROPTIONS: 在这个表中包括了用户选项及其设置值,如连接远程数据源使用的用户名和密码信息 (REMOTE_AUTHID, REMOTE_PASSWORD) 等,一般可以用于判断连接错误或者访问权限错误 ( 配合 DB2 本身的 SYSDBAUTH 系统表 )
◆SYSIBM.SYSWRAPOPTIONS: 其中包含了关于创建的转换器的一些可选信息,例如在使用转换器的时候是否使用“ Trusted ”或者“ Fenced ”选项。
除此以外,联邦系统特定的系统表还包括 SYSIBM.SYSPASSTHRUAUTH,SYSIBM.SYSFUNCMAPPARMOPTIONS,SYSIBM.SYSFUNCMAPOPTIONS。在联邦系统中,各系统表中的信息在正确情况下应该是一致的,例如对于每条 SYSIBM.SYSSERVERS 中的记录,在 SYSIBM.SYSWRAPPERS 中总有一条记录与此服务基于的转换器对应。如果出现不一致的情况,那么表示系统的缺陷导致了系统表的混乱。
系统可读视图和可更新视图
除了系统表外,为了查询方便和权限管理起见,同 DB2 一样,联邦系统也存在着一些可读的系统视图如下:
清单1. 系统可读视图
SYSCAT.FUNCMAPPINGS
SYSCAT.FUNCMAPPARMOPTIONS
SYSCAT.FUNCMAPOPTIONS
SYSCAT.NICKNAMES
SYSCAT.PASSTHRUAUTH
SYSCAT.SERVEROPTIONS
SYSCAT.SERVERS
SYSCAT.TYPEMAPPINGS
SYSCAT.USEROPTIONS
SYSCAT.ROUTINESFEDERATED
这些可读视图为用户查询特定的信息提供了方便,如 SYSCAT.ROUTINESFEDERATED 就从 SYSIBM.SYSROUTINES 和 SYSCAT.ROUTINEOPTIONS 中提取出了联邦系统相关的例程信息,方便了用户的查询。
因为联邦系统的查询相关的统计信息等和所有的 DB2 查询统计信息一样,可以通过 DB2 可更新的视图来更新,因此联邦系统不具有单独的可被更新的系统视图。
获取解决问题信息的方法
1. db2look
如果用户在遇到故障的时候,忘记了自己做过什么操作或者由于操作过多,那么在用户操作引发错误的时候,往往知道引发这个问题的直接操作是什么,但是并不能获取可能引发错误的所有操作的信息用于诊断。DB2 本身提供了强大的工具 (db2support) 可以还原用户的环境,但是对于普通用户而非开发人员来讲,从这些信息里提取有用的信息非常困难,而 db2look 其简洁灵活的特点是其更加适用于普通用户的分析。对一般用户来讲,最常用的两个选项为 -d 和 -e 选项。
2. db2cat
db2cat 是得到联邦系统和远程数据源系统的信息的又一种工具,通过其打印出来的各种信息和我们直接从 catalog 表中取得的数据理论上应该是一致的,其 -p 选项后的 server 和 remote 选项值为联邦系统专有,别名 (nickname) 被做为本地表来进行存储和处理。注意 db2cat 并不能获得用户映射和函数映射这样的信息,对于这类信息我们只能通过直接查询系统表或系统试图来获得。我们可以利用 db2cat -h 选项来查看其更详细的用法。
上一篇 无线网络优化——选择无线AP还是路由器?
下一篇 Java开源缓存框架介绍
阅读推荐
相关文章