DB2 老笔记系列(一)

很久没有使用DB2了,以前做的老笔记翻出来看看。

一、实例与数据库:

系统也称数据库分区,一个系统可包含多个DB2实例,每个实例可管理多个数据库。

每个实例都是一个独立的运行环境,实例又称为数据库管理器。

实例本质上由一组进程和共享内存组成,为数据库运行提供环境,可当做服务。实例停止,则内存释放,进程停止;

安装DB2之后,linux需创建与实例名同名的用户及所属组,实例依赖于用户,切换用户即是切换实例。而windows自动创建名为DB2的初始实例;

在windows上实例是作为服务存在的,所以在服务面板上你可以看到与实例同名的服务。安装期间创建的实例设置为自动启动,而使用db2icrt创建的实例设置为手动启动,要更改启动类型,需转主服务面板更改DB2服务属性。

linux下db2安装:./db2_install -b DB2DIR -P productname

创建实例:linux:DB2DIR/instance/db2icrt -a authtype -u fencedid instancename;
 WINDOWS:DB2DIR/bin/db2icrt instname;

实例常用命令:

列出实例:db2ilist;
查看实例进程: ps -ef | grep -i INSTANCE;
切换实例:db2 get instance;
                  set db2instance=instname;
配置实例:db2 get dbm cfg;
自动启动实例:db2iauto -on[off] instance_name;
启动/停止实例:db2start/db2stop;
删除实例:db2idrop <instname>;

二、访问数据库:

DB2访问数据库有两种方式:一是本地通过GUI或者CLP方式进行访问;二是远程通过配置服务器和客户端通信。

DB2 CLP是由一个前端进程和一个后端进程组成的,前者处理与操作系统命令符的通信;后者处理与数据库的通信。

DB2交互状态下执行操作命令需要加上感叹号前缀。

对于特殊字符,操作系统shell可能错误解释,因此对于含有特殊字符的sql语句,要加上“”双引号,以由DB2进行解释。

DB2CLP命令选项:db2 list command options;
db2 update command options using c on;

定制CLP:db2set db2_clpprompt="(instance:%i,database:%d):";

长语句可使用‘\’进行续行。

本地连接是一个数据库管理器实例与由那个实例管理的数据库之间的连接,而服务器到客户机的连接通信指的是远程连接。

DB2将远程数据库服务器端的节点及数据库信息写入本地的SQLNODIR和SQLDBDIR文件,这一过程称为CATALOG(编目),可通过配置助手完成。

service文件指定服务器应用程序侦听客户机请求的端口,包含着在服务器上定义的服务及其端口号。

如果建立到远程数据库服务器的连接使用的是主机名,但网络没有DNS(域名服务器,用来解析主机名到IP地址),则必须更新HOSTS文件,若通过IP地址则不需要。

配置TCP/IP通信:

db2 get database manager configuration |find /i "svcename";

netstat -a | find /i "db2c_db2";

db2 get dbm cfg(svcename);

在确定ip_address/hostname/port_number/svcename等后,执行下面命令进行编目:

db2 catalog TCPIP node nodename remote ip_address server service_name|port_number;

db2 catalog database db_name as database_alias at node nodename;

控制中心依赖于数据库管理服务器(das)的存在。

DAS是可以同时管理多个实例的特殊实例,主要执行远程图形化界面管理功能。默认服务名为DB2DAS00;

DAS默认安装目录/opt/IBM/db2

DAS的启动、停止和删除:db2admin start/db2admin stop/dasstop;

三、变量和目录

DB2注册表变量列表:db2set -all;

db2set -all 变量有三种:环境变量[e]、全局注册变量[g]和实例级注册变量[i];

环境变量是操作系统级别定义的变量;全局注册变量和实例级注册变量定义了DB2操作环境;

节点目录(SQLNODIR)存储远程数据库的所有连通性信息,是和实例对应的,在客户机上访问远程实例,则必须为该实例建立一个与实例对应的节点目录。

系统DB目录(SQLDBDIR)则是本地和远程数据库目录。

实例目录(SQLLIB)由DB2INSTPROF变量定义。

查看本地节点目录: db2 list node directory;

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。