DB2学习笔记--编目连接

1.数据库连接分为:本地连接、远程连接
1.1使用的协议
本地连接:IPC
远程连接:V9.5后只支持TCPIP


1.2远程连接需要设置客户端和服务端
客户端设置:
编目节点:登记IP和端口号
编目数据库:登记数据库名称


服务端设置:
通信协议:通过 db2comm 注册协议
实例端口号:设置 SVCENAME 端口号


重建实例不会删除数据库,但是实例目录下保存的数据库catalog信息会丢失,因此无法连接数据库


2.命令
2.1设置通信协议
[db2inst3@localhost ~]$ db2set db2comm=TCPIP


2.2设置实例端口号
[db2inst3@localhost ~]$ db2 update dbm cfg using svcename 50000
DB20000I  The UPDATE DATABASE MANAGER CONFIGURATION command completed 
successfully.


2.3节点编目:
DB2 CATALOG TCPIP NODE node_name REMOTE host_ip SERVER services_port
node_name:节点名,自命名,不超过8位
host_ip :IP 或 主机名
services_port:实例端口号


2.4数据库编目:
节点数据库:DB2 CATALOG DB db_name AT NODE node_name
本地数据库:DB2 CATALOG DB db_name ON path
db_name:数据库名,不超过8位
node_name:节点名称
path:本地数据库目录


2.5反编目:
节点:DB2 UNCATALOG NODE node_name
数据库:DB2 UNCATALOG DB db_name


2.6查看数据库目录:
[db2inst3@localhost ~]$ db2 list db directory


 System Database Directory


 Number of entries in the directory = 1


Database 1 entry:


 Database alias                       = DB1
 Database name                        = DB1
 Database directory                   =
 Database release level               = f.00
 Comment                              =
 Directory entry type                 = Home
 Catalog database partition number    = 0
 Alternate server hostname            =
 Alternate server port number         =
 
 
[db2inst3@localhost ~]$ db2 list db directory on /database/
 Local Database Directory on /database/
 Number of entries in the directory = 1
Database 1 entry:


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




3.编目信息保存位置
编目信息保存在两个地方:
数据库安装目录下的 inst_name/NODE0000/sqldbdir 目录下
实例安装目录下的 sqllib/sqldbdir 目录下


4.案例分析
删除数据库目录,重建数据库失败,重建时报数据库名已经存在
1.用 db2 list db directory 查看系统数据库目录是否有该数据库信息
2.用 db2 list db directory on db_path 查看本地数据库目录是否有该数据库信息


1存在2不在:
db2 uncatalog db db_name
2存在1不在:
db2 catalog db db_name on db_path
drop database db_name
1存在2存在
drop database db_name
若以上方法不成功,创建一个空的数据库目录 SQL0000X,然后执行
db2 catalog db db_name on db_path
drop database db_name


5.数据库连接


数据库连接:
本地数据库:DB2 CONNECT To db_name 
远程数据库:DB2 CONNECT TO db_name USER user_name USING user_passwd

你可能感兴趣的:(DB2)