【DB2】 理解节点目录,数据库目录

      前面通过control center将客户机连接到服务器时,本质上是通过命令行完成的,,在弄清具体过程之前,必须先弄明白 节点目录,系统数据库目录,本地数据库目录几个概念。
节点目录,系统数据库目录,远程数据库目录
创建数据库之后,DB2才会有数据库目录;只有在一个需要连接到服务器的客户机上才需要编目。类似于oracle的tnsname机制。

测试环境:

  OS
DB2 version
Instance
Database
HOST1 Windows 2008 R2 x64 v9.5 ese x86 DB2 sample,toolsdb
HOST2 Linux 5.8 x64 v9.7 aese x64 db2inst1 sample,test1

并且在HOST1中使用control center将HOST2下的实例与数据库进行了注册


一.节点目录

用于存储远程数据库的所有连通性信息。
在control conter所在机器(即客户机角色),查看节点目录
C:\Program Files (x86)\IBM\SQLLIB\BIN>db2 list node directory

 Node Directory

 Number of entries in the directory = 1

Node 1 entry:

 Node name                      = DB2INST1
 Comment                        =
 Directory entry type           = LOCAL
 Protocol                       = TCPIP
 Hostname                       = ibm1
 Service name                   = 50000

 
由windows control center得到的语句:
UNCATALOG NODE IBM1;
CATALOG ADMIN TCPIP NODE IBM1 REMOTE ibm1 SYSTEM  IBM1 OSTYPE  LINUXX8664;

UNCATALOG NODE DB2INST1;
CATALOG TCPIP NODE DB2INST1 REMOTE ibm1 SERVER 50000 REMOTE_INSTANCE  db2inst1 SYSTEM  IBM1 OSTYPE  LINUXX8664;

节点目录文件的位置:
windows2003下:

C:\Documents and Settings\All Users\Application Data\IBM\DB2\DB2COPY1\DB2\SQLNODIR\SQLNODIR

windows2008:

C:\ProgramData\IBM\DB2\DB2COPY1\DB2\SQLNODIR

Linux下:

/home/db2inst1/sqllib/sqlnodir/sqlnodir

同一文件夹下的SQLNOBAK是SQLNODIR的备份,都是二进制文件。

在linux下建立联通到windows下的节点目录:

[db2inst1@ibm1 ~]$ db2 catalog tcpip node db2win remote 10.0.0.52 server 50000
DB20000I  The CATALOG TCPIP NODE command completed successfully.
DB21056W  Directory changes may not be effective until the directory cache is
refreshed.

[db2inst1@ibm1 ~]$ db2 list node directory

 Node Directory

 Number of entries in the directory = 1

Node 1 entry:

 Node name                      = DB2WIN
 Comment                        =
 Directory entry type           = LOCAL
 Protocol                       = TCPIP
 Hostname                       = 10.0.0.52
 Service name                   = 50000

解除节点目录:

[db2inst1@ibm1 ~]$ db2 uncatalog node db2win
DB20000I  The UNCATALOG NODE command completed successfully.
DB21056W  Directory changes may not be effective until the directory cache is
refreshed.

二.系统数据库目录:

包含本地数据库目录与远程映射到本地的数据库目录。

系统数据库目录是在实例级存储的,对于每个实例,都存在一个数据库目录文件,该文件针对此实例编目的每个数据库都包含一个条目。


windows下查看系统数据库目录

C:\Program Files (x86)\IBM\SQLLIB\BIN>db2 list db directory

 System Database Directory

 Number of entries in the directory = 4

Database 1 entry:

 Database alias                       = TOOLSDB
 Database name                        = TOOLSDB
 Local database directory             = C:
 Database release level               = c.00
 Comment                              =
 Directory entry type                 = Indirect
 Catalog database partition number    = 0
 Alternate server hostname            =
 Alternate server port number         =

Database 2 entry:

 Database alias                       = SAMPLE1
 Database name                        = SAMPLE
 Node name                            = DB2INST1
 Database release level               = c.00
 Comment                              =
 Directory entry type                 = Remote
 Catalog database partition number    = -1
 Alternate server hostname            =
 Alternate server port number         =

Database 3 entry:

 Database alias                       = TEST1
 Database name                        = TEST1
 Node name                            = DB2INST1
 Database release level               = c.00
 Comment                              =
 Directory entry type                 = Remote
 Catalog database partition number    = -1
 Alternate server hostname            =
 Alternate server port number         =

Database 4 entry:

 Database alias                       = SAMPLE
 Database name                        = SAMPLE
 Local database directory             = C:
 Database release level               = c.00
 Comment                              =
 Directory entry type                 = Indirect
 Catalog database partition number    = 0
 Alternate server hostname            =
 Alternate server port number         =


Linux下将windows下DB注册到数据库目录:

(特别注意,注册数据库目录的前提是要先有节点目录)
[db2inst1@ibm1 ~]$ db2 catalog db sample as sample2 at node db2win
DB20000I  The CATALOG DATABASE command completed successfully.
DB21056W  Directory changes may not be effective until the directory cache is
refreshed.
 

 

Linux下查看系统数据库目录:


[db2inst1@ibm1 ~]$ db2 list db directory

 System Database Directory

 Number of entries in the directory = 3

Database 1 entry:

 Database alias                       = SAMPLE2
 Database name                        = SAMPLE
 Node name                            = DB2WIN
 Database release level               = d.00
 Comment                              =
 Directory entry type                 = Remote
 Catalog database partition number    = -1
 Alternate server hostname            =
 Alternate server port number         =

Database 2 entry:

 Database alias                       = TEST1
 Database name                        = TEST1
 Local database directory             = /home/db2inst1
 Database release level               = d.00
 Comment                              =
 Directory entry type                 = Indirect
 Catalog database partition number    = 0
 Alternate server hostname            =
 Alternate server port number         =

Database 3 entry:

 Database alias                       = SAMPLE
 Database name                        = SAMPLE
 Local database directory             = /home/db2inst1
 Database release level               = d.00
 Comment                              =
 Directory entry type                 = Indirect
 Catalog database partition number    = 0
 Alternate server hostname            =
 Alternate server port number         =
 

解除数据库目录

 [db2inst1@ibm1 ~]$ db2 uncatalog db sample2
DB20000I  The UNCATALOG DATABASE command completed successfully.
DB21056W  Directory changes may not be effective until the directory cache is
refreshed.




三. 本地数据库目录

 包含了驻留在当前机器上的数据库信息。本地数据库目录目录驻留在数据库结构内部。当create database
 时会隐式地对数据库进行编目。
 

 windows下查看本地数据库目录:

 C:\Program Files (x86)\IBM\SQLLIB\BIN>db2 list db directory on c:

 Local Database Directory on c:

 Number of entries in the directory = 2

Database 1 entry:

 Database alias                       = TOOLSDB
 Database name                        = TOOLSDB
 Database directory                   = SQL00001
 Database release level               = c.00
 Comment                              =
 Directory entry type                 = Home
 Catalog database partition number    = 0
 Database partition number            = 0

Database 2 entry:

 Database alias                       = SAMPLE
 Database name                        = SAMPLE
 Database directory                   = SQL00002
 Database release level               = c.00
 Comment                              =
 Directory entry type                 = Home
 Catalog database partition number    = 0
 Database partition number            = 0
 
 

 linux下查看本地数据库目录:

 [db2inst1@ibm1 ~]$ db2 list db directory on /home/db2inst1/

 Local Database Directory on /home/db2inst1/

 Number of entries in the directory = 2

Database 1 entry:

 Database alias                       = TEST1
 Database name                        = TEST1
 Database directory                   = SQL00001
 Database release level               = d.00
 Comment                              =
 Directory entry type                 = Home
 Catalog database partition number    = 0
 Database partition number            = 0

Database 2 entry:

 Database alias                       = SAMPLE
 Database name                        = SAMPLE
 Database directory                   = SQL00002
 Database release level               = d.00
 Comment                              =
 Directory entry type                 = Home
 Catalog database partition number    = 0
 Database partition number            = 0
 
 
 

四.从linux下,通过系统数据库目录连接到windows下的sample数据库

在准备connect 之前,先查看有哪些db directory可用:

[db2inst1@ibm1 ~]$ db2 list db directory

 System Database Directory

 Number of entries in the directory = 3

Database 1 entry:

 Database alias                       = SAMPLE2
 Database name                        = SAMPLE
 Node name                            = DB2WIN
 Database release level               = d.00
 Comment                              =
 Directory entry type                 = Remote
 Catalog database partition number    = -1
 Alternate server hostname            =
 Alternate server port number         =

Database 2 entry:

 Database alias                       = TEST1
 Database name                        = TEST1
 Local database directory             = /home/db2inst1
 Database release level               = d.00
 Comment                              =
 Directory entry type                 = Indirect
 Catalog database partition number    = 0
 Alternate server hostname            =
 Alternate server port number         =

Database 3 entry:

 Database alias                       = SAMPLE
 Database name                        = SAMPLE
 Local database directory             = /home/db2inst1
 Database release level               = d.00
 Comment                              =
 Directory entry type                 = Indirect
 Catalog database partition number    = 0
 Alternate server hostname            =
 Alternate server port number         =



 [db2inst1@ibm1 ~]$ db2 connect to sample2 user db2admin using db2admin

   Database Connection Information

 Database server        = DB2/NT 9.5.0
 SQL authorization ID   = DB2ADMIN
 Local database alias   = SAMPLE2

 [db2inst1@ibm1 ~]$ db2 "select * from administrator.employee"

EMPNO  FIRSTNME     MIDINIT LASTNAME        WORKDEPT PHONENO HIREDATE   JOB      EDLEVEL SEX BIRTHDATE  SALARY      BONUS       COMM       
------ ------------ ------- --------------- -------- ------- ---------- -------- ------- --- ---------- ----------- ----------- -----------
000010 CHRISTINE    I       HAAS            A00      3978    01/01/1995 PRES          18 F   08/24/1963   152750.00     1000.00     4220.00
000020 MICHAEL      L       THOMPSON        B01      3476    10/10/2003 MANAGER       18 M   02/02/1978    94250.00      800.00     3300.00
000030 SALLY        A       KWAN            C01      4738    04/05/2005 MANAGER       20 F   05/11/1971    98250.00      800.00     3060.00

.......................

  42 record(s) selected.



你可能感兴趣的:(----DB2,Foundation)