8.设置DB2自启动
使用root用户执行db2iauto命令,设置对db2inst1实例在 LINUX启动时自动启动。这一步是可选的。用户应该按自己的实际需要决定是否设置。选项-on表示自动启动,-off表示不随操作系统启动自动启动。
[root@redflag11012601 instance]# ./db2iauto -on db2inst1
9. 配置网络
DB2软件在创建实例的过程中,自动在操作系统中增加了相关的服务,并指定了相应的端口号。但db2并没有自动设定为通过TCP/IP协议访问,需要手工配置。
首先查看/etc/services中db2各个服务的端口号,这里DB2_db2inst1默认端口就是60000。
切换到db2inst1用户。修改DB2连接方式为TCPIP,然后可通过JDBC、ODBC等访问本DB2服务器上的数据库,安装了DB2客户端的其它机器也可访问数据库。
$ db2set DB2COMM=TCPIP,设定完成后,可以通过不带参数的db2set命令查看结果。
修改DB2的服务端口为上述默认端口号。db2 update dbm cfg using SVCENAME命令提示,需要重新启动实例,再用clpplus命令验证网络设置成功。
-sh-3.2$ db2set
DB2_COMPATIBILITY_VECTOR=ORA
DB2_EXTENDED_OPTIMIZATION=on
DB2_LIKE_VARCHAR=y,y
DB2_HASH_JOIN=Y
DB2MEMMAXFREE=8000000
DB2MEMDISCLAIM=Y
DB2_MMAP_WRITE=NO
DB2_MMAP_READ=NO
DB2_RR_TO_RS=ON
DB2COMM=TCPIP
-sh-3.2$ db2 get dbm cfg |grep SVCENAME
TCP/IP Service name (SVCENAME) =
SSL service name (SSL_SVCENAME) =
-sh-3.2$ tail /etc/services
com-bardac-dw 48556/udp # com-bardac-dw
iqobject 48619/tcp # iqobject
iqobject 48619/udp # iqobject
# Local services
csync 2005/tcp # Cyrus IMAP Replication Daemon
csync 2005/udp # Cyrus IMAP Replication Daemon
DB2_db2inst1 60000/tcp
DB2_db2inst1_1 60001/tcp
DB2_db2inst1_2 60002/tcp
DB2_db2inst1_END 60003/tcp
-sh-3.2$ db2 update dbm cfg using SVCENAME 60000
DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed
successfully.
SQL1362W One or more of the parameters submitted for immediate modification
were not changed dynamically. Client changes will not be effective until the
next time the application is started or the TERMINATE command has been issued.
Server changes will not be effective until the next DB2START command.
-sh-3.2$ db2stop force
2011-05-08 19:36:00 0 0 SQL1064N DB2STOP processing was successful.
SQL1064N DB2STOP processing was successful.
-sh-3.2$ db2start
05/08/2011 19:36:06 0 0 SQL1063N DB2START processing was successful.
SQL1063N DB2START processing was successful.
-sh-3.2$ clpplus db2inst1/db2@localhost/sample
输入端口 [50000]:60000
数据库连接信息
主机名 = localhost
数据库服务器 = DB2/LINUXX8664 SQL09071
SQL 授权标识 = db2inst1
本地数据库别名 = SAMPLE
端口 = 60000
CLPPlus: 版本 1.1
Copyright ?? 2009, IBM CORPORATION. All rights reserved.
SQL>
这里的服务名和端口也可以不采用系统自动创建的值,但需要人工额外多一步操作,以root用户利用vi文本编辑器在/etc/services中按如下格式添加一行,保存修改。然后再执行上述步骤,同时db2 update dbm cfg using SVCENAME命令后面要用自定义的服务名。
-sh-3.2$ db2 update dbm cfg using SVCENAME tpch
-sh-3.2$ clpplus db2inst1/db2@localhost:50000/tpch
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
DB250006E: 命令行处理器扩展器 (CLPPlus) 未能启动。
-sh-3.2$ clpplus -nw db2inst1/db2@localhost:50000/tpch
CLPPlus: 版本 1.4
Copyright ?? 2009, 2011, IBM CORPORATION. All rights reserved.
数据库连接信息:
---------------------------------
主机名 = localhost
数据库服务器 = DB2/LINUXX8664 SQL09074
SQL 授权标识 = db2inst1
本地数据库别名 = TPCH
端口 = 50000
SQL> set timi on
SQL> select sysdate from dual;
1
---------------------
2011-05-08 15:32:36
耗用时间为:71 毫秒
SQL>
因为db2 9.74的clpplus修改了默认运行方式为图形方式,增加-nw参数用于文本方式。如果不加这个参数,则无法在文字终端中使用。
注意:对于需要网络访问,包括jdbc方式访问数据库,这一步必不可少。否则,虽然不影响db2,db2batch等命令在服务器端本地执行,但不能用clpplus这类通过jdbc的命令访问db2数据库。
至此,安装过程结束。