快速启动您的 Linux 应用 使用 DB2 和 DB2 控制中心-简介
- UID
- 1066743
|
快速启动您的 Linux 应用 使用 DB2 和 DB2 控制中心-简介
我们将讨论下列任务:
- 启动、停止和查找 DB2 进程
- 创建样本数据库
- 使用 DB2 命令行处理器(CLP)
- 用 Java 1.1.8 或 1.3.1 运行时环境启动 DB2 控制中心
- 使用 DB2 控制中心的图形界面探索数据库
- 使用 DB2 命令中心的图形界面创建 SQL 查询
开始之前本文是“ ”的续篇。在继续学习本文之前,您应该首先依照那些指令安装 DB2 和 JRE。如果在 Linux 方面您是新手,而且在安装 CD 或打开终端窗口时需要帮助,那么请参阅“ ”,其中讨论了这些任务以及更多信息。
启动、停止和查找 DB2 进程您可能时时需要启动或停止数据库或管理服务器。DB2 在 Linux 系统中可以运行多个进程,因此有时需要检查哪个进程在运行。
为完成这些任务,以 db2inst1 用户身份登录。
启动和停止 DB2 实例要启动 DB2 实例,输入 db2start 。如果已启动了 DB2 实例,则会有一个消息告诉您这一点。要停止 DB2 实例,输入 db2stop 。
1
2
3
4
| [db2inst1@echidna db2inst1]$ db2start
SQL1063N DB2START processing was successful.
[db2inst1@echidna db2inst1]$ db2stop
SQL1064N DB2STOP processing was successful.
|
启动和停止 DB2 管理服务器要启动 DB2 管理服务器,输入 db2admin start 。要停止 DB2 管理服务器,输入 db2admin stop 。
1
2
3
4
| [db2inst1@echidna db2inst1]$ db2admin start
SQL4406W The DB2 Administration Server was started successfully.
[db2inst1@echidna db2inst1]$ db2admin stop
SQL4407W The DB2 Administration Server was stopped successfully.
|
显示 DB2 进程信息要查找正在 Linux 下运行的 DB2 进程,使用 ps -ef 命令可以报告所有活动的进程。这个命令的输出所包含的进程比您希望的要多。输出通过 more 过滤器以管道形式传送,从而可以按页查看。或者,使用 grep 命令对它进行过滤,这样可以很方便地在输出和文件中搜索正则表达式。
ps 命令的输出包含已格式化的信息,例如进程所有者及进程标识(pid),它们位于该进程中运行的命令名称之前。如果您在 db2inst1 身份下已经运行了许多进程(例如,因为您已打开了几个窗口),则您可能想查找某些 DB2 进程,不过不是那些 db2inst1 所拥有的其它进程。为此,通过对 grep 命令使用“ db2 ”参数来过滤 ps -ef 输出,这会除去字符“db2”仅作为“db2inst1”一部分出现的那些行。在 grep 的搜索项两端要使用引号,因为它包含一个前导空格。注:如果您用 grep 命令过滤输出,则不能看到列标题。清单 1 显示了在启动所有 DB2 进程之前, ps -f 命令的输出,所以您可以看到各种列标题,以及通过 grep 对输出过滤后, ps -ef 命令的输出。
清单 1. 显示 DB2 进程信息1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| [db2inst1@echidna db2inst1]$ ps -f
UID PID PPID C STIME TTY TIME CMD
db2inst1 1468 1465 0 16:00 pts/0 00:00:00 /bin/cat
db2inst1 1478 1477 0 16:00 pts/1 00:00:00 /bin/bash
db2inst1 1660 1 0 16:04 pts/1 00:00:00 /home/db2inst1/sqllib/bin/db2bp 1478 5
db2inst1 1768 1478 0 16:29 pts/1 00:00:00 ps -f
[db2inst1@echidna db2inst1]$ ps -ef | grep " db2"
root 22284 1 0 Jul19 ? 00:00:00 db2wdog
db2inst1 22285 22284 0 Jul19 ? 00:00:00 db2sysc
root 22286 22285 0 Jul19 ? 00:00:00 db2gds
db2inst1 22287 22285 0 Jul19 ? 00:00:00 db2ipccm
db2inst1 22288 22285 0 Jul19 ? 00:00:00 db2tcpcm
db2inst1 22289 22286 0 Jul19 ? 00:00:00 db2resyn
db2inst1 22290 22286 0 Jul19 ? 00:00:00 db2srvlst
root 22428 1 0 Jul19 ? 00:00:00 db2wdog
db2as 22429 22428 0 Jul19 ? 00:00:00 db2sysc
root 22430 22429 0 Jul19 ? 00:00:00 db2gds
db2as 22431 22429 0 Jul19 ? 00:00:00 db2ipccm
db2as 22433 22429 0 Jul19 ? 00:00:00 db2tcpcm
db2as 22434 22429 0 Jul19 ? 00:00:00 db2tcpdm
db2inst1 22927 22287 0 Jul19 ? 00:00:00 db2agent (idle)
db2inst1 393 1 0 14:25 pts/0 00:00:00 db2jd
db2inst1 479 313 0 14:34 pts/0 00:00:00 grep db2
|
注:有些 DB2 进程为 root 所拥有,有些为 db2inst1 所拥有,而有些为 db2as 所拥有。如果您想确切地看到一个特定命令启动了哪些进程,那么在使用每个 start 命令之前以及之后使用 ps -ef 命令。如果运行这些特定命令之间有时间间隔,那么也可以从时间戳记上获得提示。如果想知道有关 ps 命令输出的更多信息,可以使用 man ps 命令查阅手册(man)页。
启动和结束 JDBC 侦听器进程(JRE 1.3.1)如果您正在使用 1.3.1 级别的 JRE,而且您想使用 DB2 控制中心,则可能需要启动 JDBC 侦听器进程。输入 db2jstrt 。侦听的缺省端口是端口 6789。(可以随意指定其它端口。例如,可以输入 db2jstrt 6990 来启动使用端口 6990 的侦听器。)
1
2
3
4
| [db2inst1@echidna db2inst1]$ db2jstrt
Licensed Materials -- Property of IBM
(c) Copyright International Business Machines Corporation, 1996, 2000.
All Rights Reserved.
|
如果您正在使用 1.3.1 级别的 JRE,而忘记了是用哪个端口启动了 JDBC 侦听器进程,则可以使用 netstat -plt 命令进行查找。清单 2 显示了我们使用缺省端口 6789 启动了 db2jd 侦听器进程。db2jd 进程的进程标识(PID)是 393。在上面 的进程标识列表中您能找到这个同样的 393 进程标识吗?
清单 2. 查找 JDBC 侦听端口1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| [db2inst1@echidna db2inst1]$ netstat -plt
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 *:32768 *:* LISTEN -
tcp 0 0 echidna:32769 *:* LISTEN -
tcp 0 0 *:printer *:* LISTEN -
tcp 0 0 *:6789 *:* LISTEN 393/db2jd
tcp 0 0 *:swat *:* LISTEN -
tcp 0 0 *:523 *:* LISTEN -
tcp 0 0 *:netbios-ssn *:* LISTEN -
tcp 0 0 *:sunrpc *:* LISTEN -
tcp 0 0 *:x11 *:* LISTEN -
tcp 0 0 *:db2cdb2inst10 *:* LISTEN -
[db2inst1@echidna db2inst1]$
|
如果有时要终止 db2jd 进程,则必须使用 kill 命令,它对进程发送信号。使用 SIGKILL(-9)信号以及该进程的 PID。假定使用的 PID 是上面的 393,则该命令如下所示:
1
| [db2inst1@echidna db2inst1]$ kill -9 393
|
|
|
|
|
|
|