LoveUnix » DB2 & Informix » DB2 ibm center 教材 (foundation 5/5)
让LU留住您的每

一天 让LU博客留住您的每一天
2003-9-28 17:30 zdygk
第五章  远程数据库<br />提纲<br />     熟练掌握远程数据库的配置,编目<br /><br />5.1  DB2 数据库支持的协议<br />由于网络的迅速发展,数据库管理系统必须支持不同的网络协议,以便适应在不同的网络环境下用户均能够存取DB2  UDB 建立的数据库的信息。对于IBM的 DB2  UDB数据库的产品是各种平台都支持,客户端适用于以下操作系统:AIX、DOS、HP-UX、MACINTOSH、OS/2、SCO OPENSERVER、SILICON GRAPHICS IRIX、SINIX、SOLARIS、WINDOWS95 和WINDOWS NT,服务器端适用于以下平台:AIX、OS/400、S/390、WINDOWS NT、HP-UX、SOLARIS等,支持的网络协议:APPC、NETBIOS、TCP/IP和IPX/SPX等,因而DB2  UDB的产品几乎覆盖了所有的操作系统和网络协议。<br /><br />5.2  DB2目录<br />对于本地和远程数据库的存取都使用DB2目录来执行。这些目录对于要知道数据库实际位于何处的用户隐藏了这一要求。用户只需要指定数据库名便能够与本地数据库、远程数据库和DRDA(应用服务器)数据库连接。使之成为可能的目录是:<br />·系统数据库目录<br />·本地数据库目录<br />·节点目录<br />·数据库连接服务(DCS)目录<br />5.2.1系统数据库目录<br />系统数据库目录(system database directory)驻留在实例的sqldbdir子目录里。这一目录用来访问本地和远程的数据库。这个目录包含数据库名、别名、类型和数据库驻留在其中的节点。如果数据库是本地的数据库,那么指向本地数据库目录的指针位于系统数据库目录中。如果数据库是远程数据库,有一个指针指向该节点目录。<br />编目数据库系统目录的命令:<br /><br />5.2.2 本地数据库目录<br />本地数据库目录(local database directory)驻留在每个含有数据库的子目录中。它用来访问在那个子目录中的本地数据库。在这个目录中的每项包含有数据库名、别名、类型和有关该数据库的存储空间信息。让我们来考查两个工作站、一个数据库服务器和一个远程客户机,去看看怎样使用目录。<br />5.2.3  节点目录<br />每个数据库客户维护一个节点目录(node directory)。这个节点目录包含客户要访问的所有实例。节点目录用来保存有关与实例进行网络连接的通信信息。如果在远程客户机上存在多个实例,那么在用户能够访问被保存在该实例中的任何信息之前,必须让用户了解作为单独节点的每个实例。节点编目的命令与协议有关。<br />5.2..4查看DB2的目录<br />从数据库服务器中,我们将发出命令去列出系统数据库目录的内容。<br />    LIST DATABASE DIRECTORY                                                               <br />图5。1 显示出命令LIST DB DIRECTORY的部分输出内容。在服务器上列出的有4个数据库。第一个数据库是DB2CERT数据库。<br />在图5。1中,在路径/home/db2上显示了本地数据库目录。如果我们想查看有关该数据库的更多情况,我们可以使用命令LIST DB DIRECTORY ON/home/db2去查看这一本地数据库目录(local database directory)。这将会提供更多有关某些数据库文件位置的信息。<br />接着我们要查看在客户工作站上两个目录system database directory和node directory的内容。客户机没有本地的数据库目录,因为它不能有本地数据库。在客户机上查看系统数据库目录的命令与服务器上所用的命令相同。<br />                    System Database Directory Number of entries in the directory = 4 Database 1 entry:Database alias                           = DB2CERTDatabase name                           = DB2CERTLocal database directory                   = /home/db2Database release level                     = 6.00Comment                               = DB2 Certification DatabaseDatabase entry type                       = Indirect Database 2entry:Database alias                            = EMPLOYEE…<br />                     图5。1 服务器上系统数据库目录的内容<br /><br /><br /><br />5.3   配置远程数据库的步骤<br /> 如果在客户端安装DB2的客户端应用使能器,服务器端安装DB2  UDB的数据库管理系统(公共服务),网络上任意两台计算机均能通讯,并能存取和交换数据信息,为了让用户能有效地存取DB2 UDB数据库的数据,必须在客户端和服务器端进行适当的配置,配置的步骤如下。<br />在网络协议已配通的情况下,配置DB2服务器的步骤实质上是相同的。<br />1.        设置必要的环境变量。如设置DB2COMM的值,根据网络协议来设置,如网络协议为TCP/IP,则DB2COMM=TCP/IP。<br />2.        配置数据库管理系统DBM配置文件(INSTANCE级)。根据不同网络协议的特征,在DBM CFG文件中找出与网络协议对应的参数,并依照网络协议本身特点来设置参数。<br />配置DB2客户端的步骤:<br />1、        根据网络协议,编目节点目录。不同网络协议,编目的命令不同。<br />2、        把用户需访问的数据库进行系统编目,此编目的命令与协议无关,只与节点名有关。<br />要求DAS必须启动么?<br />5.3.1 设置服务器环境变量<br />有一个通信环境变量必须为所有的通信协议设置。这个环境变量叫做DB2COMM。这个变量的实际设置依赖于操作系统。如果使用不止一个通信协议,这些协议之间使用逗号分开。例如,为了激活DB2 Server for AIX 上的TCP/IP和IPX/SPX通信,用户需要用以下的UNIX命令设置DB2COMM环境变量:<br />  export DB2COMM=TCPIP,IPXSPX<br />为了使在DB2 for OS/2 和DB2 for Windows NT上的通信协议 NetBIOS 和APPC生效,<br />应当使用以下的命令:<br />  SET DB2COMM=NetBIOS,APPC<br />变量DB2COMM应当在DB2环境中更新,以便当实例被启动时,它能生效。例如,在<br />UNIX中,db2profile过程文本应当被更新;在OS/2中,CONFIG.SYS文件应当更新;而在Windows NT中,该系统的环境应当被更新。<br />还有一些其它通信变量可以改变,具体要取决于所支持远程客户机和通信协议。例如,DB2SERVICETPINSTANCE是APPC使用的支持底层远程客房机的通信变量。NetBIOS有许多其它参数,设置它们是出于性能的原因。<br />5.3.2 更新DBM配置参数<br />当更新数据库管理系统配置时,用户需要成为实例管理(SYSADM)的成员。我们考查使用四种方案所需要的信息。<br />UPDATE DBM CONFIG USING &lt;选项&gt; &lt;值&gt; 语句应当用来修改任何DBM配置参数。<br />5.4  不同协议的配置<br /><br />5.4.1  TCP/IP<br />对于TCP/IP,我们需要在数据库服务器上的services文件中定义的服务名称。<br />在数据库管理器配置文件中的参数叫做SVCENAME。该服务名称被指定作为实例的主要连接端口名,并且在服务文件中定义。例如,如果在服务文件中定义的名称是db2tcp,相应的命令如下:<br />    UPDATE DATABASE MANAGER CONFEGURATION USING SVCENAME db2tcp                  <br />在更新DBM配置之后,DBM配置应当与图5。2中所显示的配置类似。<br />            Database Manager Configuration      Node Type = Database Server with local and remote clients   Database manager configuration release level                    = 0 x 6000   Service name                               (SVCENAME)= db2tcp   …<br /><br />图5。2    TCP/IP数据库管理器配置参数<br /><br />对客户端进行节点编目:<br /> CATALOG TCIP NODE db2aix REMOTE db2aix SERVER dbtcp  <br />对数据库进行系统编目:<br />CATALOG DATABASE db2cert AS mycert AT  NODE db2aix   <br />5.4.2  NetBIOS <br />要使NetBIOS协议生效,DB2服务器必须把DB2COMM环境变量设置为NETBIOS。在客户机和服务器上的工作站名(NNAME)都必须设置。这个名字在网络中必须具有唯一性。如果工作站名不唯一,将会出现一个NetBIOS错误。<br />例如,如果NNAME是db200,相应的命令将是<br />    UPDATE DATABASE MANAGER CONFIGURATION USING NNAME db200                       <br />在更新DBM配置之后,DBM应当与图5。3中所示的类似。<br /><br />          Database Manager Configuration    Node Type = Database Server with local and remote clients Database manager configuration release level                      = 0 x 6000 … Workstation name                                 (NNAME)=db200 Service name                                   (SVCENAME)= db2tcp<br />                    图5。3    NetBIOS数据库管理器配置参数<br /><br />客户端节点编目:<br />CATALOG NETBIOS NODE ninst00 REMOTE db200 adapter0  <br />客户端系统编目:<br />CATALOG DB payroll AS mypay AT NODE ninst00            <br />5.4.3   APPC<br />对于APPC,用户需要知道DB2将使用的事务处理程序名(TPNAME)。例如,如果在服务器上的TPNAME是db2wtp00。相应的UPDATE命令将是: <br />     UPDATE DATABASE CONFIGRATION USING TPNAME db2tp00                                <br />在数据库管理器配置文件中的更新信息将重新组合为如图5.4中所示的文件。<br /><br />          Database Manager Configuration    Node Type = Database Server with local and remote clients Database manager configuration release level                       = 0 x 6000 … Workstation name                                   (NNAME)=db200 Service name                                   (SVCENAME)= db2tcp Transaction program name                       (TPNAME)=db2tp00 IPX/SPX fileserver name                         (FILESERVER)=ipxfs IPX/SPX DB manager object name                (OBJECTNAME)=db2o IPX/SPX socket number                         (IPX_SOCKET)=879E<br />                    图5.4  APPC数据库管理器配置参数<br />客户端节点编目:<br />   CATALOG APPC NODE ainst00 REMOTE db2cpi00 SECURITY SAME  <br />客户端数据库系统编目:<br />CATALOG DB emplyee AS myemp AT NODE ainst00    <br />5.5  IPX/SPX <br />要使IPX/SPX客户软件生效,用户必须确保已经启动DB2服务器上的IPX/SPX接口。设置环境变量DB2COMM以便包括IPXSPX。有两种方法启动DB2服务器去接收在网络上的IPX/SPX客户软件:file server addressing(文件服务器寻址)或directaddressing(直接寻址)。<br />当使用文件服务器寻址方式时,通过NetWare文件服务器一个DB2客户软件可以确定DB2服务器的位置。直接寻址可以避开这一步骤,因为DB2客户软件直接与DB2服务器通信,因此越过了NetWare服务器。<br />为了使文件服务器寻址方式生效,用户必须把IPX/SPX文件服务器名(FILESERVER)保存在数据库管理器配置参数中。FILESERVER是NetWare文件服务器的名字,数据库服务器在这一文件服务器中注册。当使用文件服务器寻址方式时,DB2必须在NetWare文件服务器上注册。在注册的过程中,必须指定NetWare Workgroup(工作组)或Supervisor id(超级用户标识)。DB2服务器可以使用如下的命令进行注册:<br />    REGISTER DB2 SERVER IN NWBINDERY                                                         USER user1 PASSWORD pass1                                                                <br />当使用直接寻址方式时,应当将FILESERVER和OBJECTNAME设置为 * 。应当在服务器上执行服务程序db2ipxad,以便确定出对该服务器工作站的NetWare互连网络地址。在每个DB2客户机上都使用互连网地址去确定DB2服务器的位置。在执行CATALOGNODE命令期间,互连网络地址被指定为服务器名。<br />用于通讯的IPX/SPX插头数由DBM配置参数IPX_SOCKET来定义。OBJECTNAME表示网络上的DB2服务器。对于在同一个NetWare文件服务器上注册的所有DB2实例,它必须是唯一的。通常,最好使用相同的名称作为实例,以避免造成混乱。<br />IPX_SOCKET仅在安装服务器时使用。用户选择一个十六进制数表示连接端点标识符。这一标识符必须是对每个DB2服务器实例是唯一的,并且对在DB2服务器上运行的所有IPX/SPX应用程序中是唯一的。如果用户在服务器上有不止一个实例,他可以对每个实例选择唯一的插头值,该值的范围是从879E(默认值)至87A2。<br />使用服务器寻址技术配置DB2服务器的实例如下:<br />    UPDATE DBM CFG USING FILESERVER ipxfs OBJECTNAME db2o                               <br />然后,被更新的数据库管理器配置文件将重新组合配置。<br />注:节点的编目和数据库的编目请看数据库系统管理<br />5.6 、本地数据库的配置<br />对于同一台计算机内有两个实例INST1和INST2,如在INST1实例下的用户想要通过连接来访问INST2下数据库的数据,那么必须要让INST1的用户知道INST2的存在,必须要对INST2进行节点编目,这个节点编目是本机器内的,节点编目的命令与协议无关,命令如下:<br />CATALOG  LOCAL  NODE  节点名  实例名

2008-2-27 13:22 =Lee=
谢谢~~~

页: [1]


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.