Board logo

标题: 快速启动您的 Linux 应用 使用 DB2 和 DB2 控制中心-简介 [打印本页]

作者: look_w    时间: 2018-4-17 13:12     标题: 快速启动您的 Linux 应用 使用 DB2 和 DB2 控制中心-简介

我们将讨论下列任务:
开始之前本文是“ ”的续篇。在继续学习本文之前,您应该首先依照那些指令安装 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






欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0