您当前的位置:首页 > 互联网教程

如何查看db2的数据库的日志文件

发布时间:2025-05-19 12:41:40    发布人:远客网络

如何查看db2的数据库的日志文件

一、如何查看db2的数据库的日志文件

实例日志在sqllib/db2dump/db2diag.log,记录起停、出错警告信息。

数据库的事务日志通过db2 get db cfg for<dbname>,看NEWLOGPATH下面一行。

在日常DB2的维护中,transaction log full是比较常见的问题,日志空间使用情况也是我们比较重视的问题,如果日志是单独的文件系统分区,在操作系统上即可看到日志空间使用情况,对日志使用情况进行监控,可以看到如下信息:

Filesystem GB blocks Free%Used Iused%Iused Mounted on

/dev/db2inst1_log01 60.00 54.50 10% 1458 1%/db2inst1_log01

二、怎么启动db2数据库

在一个DB2实例下,可以创建多个database(具体每个实例下可以创建多少个database,可以通过DB2 GET DBM CFG查看.一旦建立了数据库之后,就可以对其进行操作,然而,在向数据库中建立对象或访问数据库中的对象(数据)之前,必须先知道如何启动和停止数据库.

本小节简单介绍了db2 database通过command line的方式如何实现启动和停止.

如果在database没有激活之前,就在应用中使用connect to database_name或隐式连接,那么应用就必须要进行等待,知道数据库管理器启动了你要连接的数据库.一般第一个应用会引发等待数据库管理器执行数据库启动的所有开销.

我们也可以使用activate database database_name这样的命令启动特定的数据库.这个命令就会免除第一个应用程序连接上来的时候等候数据库初始化所花费的时间。一般情况下,DB2 DBA会提前激活所有必要的数据库.

注意:1)如果发出activate database命令的应用已经与一个database建立了活动的数据库连接,就回返回错误消息.

2)如果需要重新启动(restart)的数据库接受了一个activate database命令,那么这个activate database命令就会象connect to或隐式连接一样工作.

启用的自动重新启动(AUTORESTART)= ON

那么在activate database命令对其初始化之前,数据库会重新启动.

DB2 GET DB CFG FOR study| More

--将显示结果存入study.txt文件中

DB2 GET DB CFG FOR study> study.txt

下面是一个示例,我在当前DB2实例下,创建了3个database,我利用activate命令挨个将他们激活

DB20000I DB2START命令成功完成。

D:DB2BIN>db2 list database directory

D:DB2BIN>db2 list active databases

SQL1611W“数据库系统监视器”没有返回任何数据。

D:DB2BIN>db2 activate database study

DB20000I ACTIVATE DATABASE命令成功完成。

D:DB2BIN>db2 list active databases

数据库路径= D:db2studyDB2NODE0000SQL00001

D:DB2BIN>db2 activate database bank

DB20000I ACTIVATE DATABASE命令成功完成。

D:DB2BIN>db2 list active databases

数据库路径= D:db2studyDB2NODE0000SQL00001

数据库路径= D:db2bankDB2NODE0000SQL00001

D:DB2BIN>db2 activate database test

DB20000I ACTIVATE DATABASE命令成功完成。

D:DB2BIN>db2 list active databases

数据库路径= D:db2studyDB2NODE0000SQL00001

数据库路径= D:db2bankDB2NODE0000SQL00001

数据库路径= D:DB2testDB2NODE0000SQL00001

由activate database命令初始化的数据库可以由deactivate database命令关闭,也可以通过stop database manager(或db2stop)命令终止数据库管理器来关闭.

database命令初始化一个数据库,那么最后一个与数据库断开连接的应用就不会关闭数据库.必须要使用deactivate

database.在这种情况下,stop database manager(或db2stop)会关闭数据库,也会终止实例.

to或隐式地连接启动数据库,然后再由另外一个应用对相同的数据库发出activate database命令,那么就必须使用deactivate

database命令关闭数据库.如果没有使用activate

database启动数据库,那么当最后一个应用断开与数据库连接的时候,数据库就会关闭.

示例一:使用connect to方式启动的数据库

D:DB2BIN>db2 list active databases

SQL1611W“数据库系统监视器”没有返回任何数据。

D:DB2BIN>db2 connect to study--连接到study数据库,将自动激活study数据库

D:DB2BIN>db2 list active databases

数据库路径= D:db2studyDB2NODE0000SQL00001

说明:数据库被激活,并有一个应用连接上来(就上面的connect to study操作)

D:DB2BIN>db2 connect reset--断开连接

D:DB2BIN>db2 list active databases

SQL1611W“数据库系统监视器”没有返回任何数据。

说明:可以发现,上面的连接断开后,数据库study也自动停止(因为这个study数据库是通过connect to的方式激活的)

示例二:使用activate database方式启动的数据库

D:DB2BIN>db2 list active databases--这个时候没有启动的数据库

SQL1611W“数据库系统监视器”没有返回任何数据。

D:DB2BIN>db2 activate database study--用activate database激活study数据库

DB20000I ACTIVATE DATABASE命令成功完成。

D:DB2BIN>db2 list active databases--可以看到study数据已经激活,但没有应用连接上来

数据库路径= D:db2studyDB2NODE0000SQL00001

D:DB2BIN>db2 connect to study--发起一个连接到study数据库

D:DB2BIN>db2 list active databases--再看一下活动的数据库,发现study数据库上有一个应用连接上来了

数据库路径= D:db2studyDB2NODE0000SQL00001

D:DB2BIN>db2 connect reset--关闭刚才那个连接,看看数据库是不是会自动关闭

D:DB2BIN>db2 list active databases--数据库依然启动,虽然没有了任何连接

数据库路径= D:db2studyDB2NODE0000SQL00001

D:DB2BIN>db2 deactivate database study--使用deactivate database命令关闭数据库

DB20000I DEACTIVATE DATABASE命令成功完成。

D:DB2BIN>db2 list active databases

SQL1611W“数据库系统监视器”没有返回任何数据。

三、如何查看DB2数据库所用的端口号

DB2数据查看占用的端口号,分为windows和linux系统查看方式,如下:

一、linux系统查看DB2占用端口号:

1.db2start启动了数据库管理器,并且通讯方式配置为TCP/IP。

2.首先切换到db2inst1用户 su- db2inst1

3.查找TCP/IP Service name db2 get dbm cfg| grep-i service

4.通过上一句命令的输出(如db2c_db2inst1)在/etc/services文件中找对应的端口号 grep db2c_db2inst1/etc/services

#其中50000就是db2数据库所占用的端口号

二、windows系统查看DB2占用端口号方式如下:

找到"SVCENAME"查找到TCP/IP服务名

2、到系统配置文件里找到service name对应的 port number

windows:查看 c:\windows\system32\drivers\etc\services