DB2 - 编目的解释
编目(Catalog),是在本地或远程建立客户端到服务器的数据库连接的过程。其目的在于获取编目信息,即生成用来访问数据库的目录。系统数据库目录包含一个列表和指针,通过目录可以使 DB2 能够找到已知的数据库,无论它们是在本地系统上,还是在远程系统上。如果没有编目信息,应用程序就无法连接数据库,所以在使用 DB2 时必须要先进行编目。
个人理解就是将server端有关数据库的相关信息加载到本地。为什么要这样做呢?原因是部署后的数据库肯定是装在服务器端,这个数据库可能在另外一个城市,现在要操作这个远程数据库,就需要连接到远程的数据库。而且要通过一定方式把远程数据库信息“拿”到本地来。这一过程即为编目(catalog)。
可以使用CA工具,按照向导一步一步执行。下面介绍另外两种方法,命令行方法和使用CC工具:
编目包括以下两个过程:
1、将服务器映射到客户端,即编目节点。
通过编目节点,DB2在本地的SQLNODIR文件中把远程服务器的信息记录下来,所以编目节点其实就是把远程服务器映射到本地,通过SQLNODIR中的记录能够找到远程服务器和实例,类似指向远程服务器和实例的地址指针。
2、将服务器实例下的数据库映射到客户端,即编目数据库。
编目数据库后,在本地SQLDBDIR文件中记录远程数据库的信息。这里编目数据库可以理解为把远程服务器实例下的数据库映射到本地为一个别名。
一、节点编目
方法一:命令执行方法
使用CLP、CW或命令行编辑器,输入节点编目命令:
db2 catalog tcpip node node_name remote server_ip server server_port
l node_name:所要编目的节点名,任意起。节点名在一台机器上必须是唯一的,不能跟已有的节点名重复。(可通过db2 list node directory查看)可输入纯字母或字母与数字的组合,字母不区分大小写。注意不能命名为“DB2”,且不支持特殊字符。节点目录用于存储远程数据库的所有连通性信息。
l server_ip:所要编目的服务器IP地址。
l server_port:所要编目的服务器端口号,默认为50000。
方法二:CC执行方法
通过“控制中心”对DB2进行节点编目。需要两个过程:服务器节点编目与服务器下实例的节点编目。
1、服务器节点编目
右键单击控制中心左侧目录树中的“所有系统”,选择“添加”项。在弹出的“添加系统”对话框内,对所要连接服务器的系统类型、系统名称、主机名、节点名、操作系统、连接协议及注释进行设置。在对服务器系统名称和主机名进行设置时,可以通过单击系统名称右侧的“发现”按钮进行搜索,选择需要连接的服务器系统。“确定”后完成服务器在客户端的映射。
2、服务器下实例的编目
右键点击所添加的服务器下的“实例”节点,选择“添加”项,在弹出的“添加实例”对话框中对目标数据库所在的实例名称、实例节点名、操作系统、连接协议、主机名及端口号进行设置。“确定”后完成服务器下实例在客户端的映射。
二、数据库编目
方法一:命令执行方法
使用CLP、CW或命令行编辑器,输入数据库编目命令:
db2 catalog db db_name as db_alias at node node_name
l db_name:所要编目的数据库名称。
l db_alias:数据库编目到客户端所用的别名。
l node_name:所要编目的数据库所在的节点名。
方法二:CC执行方法
通过“控制中心”对DB2进行数据库编目。右键点击服务器实例下的“数据库”,选择“添加”选项,在弹出的“添加数据库”对话框中设置数据库名称、别名等。点击“确定”完成数据库在客户端的映射。