互联网服务数据库

归档日志删除后仍能连接数据库

数据库版本:V9.5
采用归档日志和镜像日志
现象:我手动将所有的日志文件包括归档日志,活动日志和镜像日志都删除了,仍然能连接上数据库。这个时候活动日志的路径下那些活动日志又“回来了”。db2diag.log里边什么错误也没有报。


因为只能采纳一个人的答案,就选了回复最多的。也谢谢其他人的帮忙。
参与19

18同行回答

db2dummydb2dummy软件开发工程师IBM
Database Connection Information Database server        = DB2/LINUXX8664 9.5.7 SQL authorization ID   = DB2INST1 Local database alias   = SOURCE[db2inst1@localhost SQLOGDIR]$ ls -ltotal 12036-rw-------...显示全部
Database Connection Information

Database server        = DB2/LINUXX8664 9.5.7
SQL authorization ID   = DB2INST1
Local database alias   = SOURCE

[db2inst1@localhost SQLOGDIR]$ ls -l
total 12036
-rw------- 1 db2inst1 dbadmin 4104192 Mar 14 15:36 S0000000.LOG
-rw------- 1 db2inst1 dbadmin 4104192 Mar 14 15:36 S0000001.LOG
-rw------- 1 db2inst1 dbadmin 4104192 Mar 14 15:36 S0000002.LOG
[db2inst1@localhost SQLOGDIR]$ db2 "select * from test"

ID
-----------
          1
          1
          3
          4
          5

  5 record(s) selected.

[db2inst1@localhost SQLOGDIR]$ rm *.LOG
[db2inst1@localhost SQLOGDIR]$ db2pd -db source -logs

Database Partition 0 -- Database SOURCE -- Active -- Up 0 days 00:04:01 -- Date 03/14/2012 15:40:13

Logs:
Current Log Number            0
Pages Written                 0
Method 1 Archive Status       n/a
Method 1 Next Log to Archive  n/a
Method 1 First Failure        n/a
Method 2 Archive Status       n/a
Method 2 Next Log to Archive  n/a
Method 2 First Failure        n/a
Log Chain ID                  0
Current LSN                   0x00000271000C

Address            StartLSN       State      Size       Pages      Filename
0x00002B8E68FA2918 0x000002710000 0x00000000 1000       1000       S0000000.LOG
0x00002B8E68FA29D8 0x000002AF8000 0x00000000 1000       1000       S0000001.LOG
0x00002B8E68FA2858 0x000002EE0000 0x00000000 1000       1000       S0000002.LOG
[db2inst1@localhost SQLOGDIR]$ db2 +c "insert into test values(6)"
DB20000I  The SQL command completed successfully.
[db2inst1@localhost SQLOGDIR]$ db2pd -db source -logs

Database Partition 0 -- Database SOURCE -- Active -- Up 0 days 00:04:28 -- Date 03/14/2012 15:40:40

Logs:
Current Log Number            0
Pages Written                 0
Method 1 Archive Status       n/a
Method 1 Next Log to Archive  n/a
Method 1 First Failure        n/a
Method 2 Archive Status       n/a
Method 2 Next Log to Archive  n/a
Method 2 First Failure        n/a
Log Chain ID                  0
Current LSN                   0x000002710041

Address            StartLSN       State      Size       Pages      Filename
0x00002B8E68FA2918 0x000002710000 0x00000000 1000       1000       S0000000.LOG
0x00002B8E68FA29D8 0x000002AF8000 0x00000000 1000       1000       S0000001.LOG
0x00002B8E68FA2858 0x000002EE0000 0x00000000 1000       1000       S0000002.LOG
[db2inst1@localhost SQLOGDIR]$ ls -l
total 0
[db2inst1@localhost SQLOGDIR]$ db2 commit
SQL1034C  The database is damaged.  All applications processing the database
have been stopped.  SQLSTATE=58031
[db2inst1@localhost SQLOGDIR]$ ls -l
total 0
[db2inst1@localhost SQLOGDIR]$
我的试验没遇到你所说的情况收起
互联网服务 · 2012-03-14
浏览736
MeralMeral数据库管理员GUOJI
我整个虚拟机重启了,现在数据库连接不上了。显示全部
我整个虚拟机重启了,现在数据库连接不上了。收起
互联网服务 · 2012-03-14
浏览711
MeralMeral数据库管理员GUOJI
回复 14# db2dummy      Auto restart enabled                      (AUTORESTART) = ON显示全部
回复 14# db2dummy


     Auto restart enabled                      (AUTORESTART) = ON收起
互联网服务 · 2012-03-14
浏览705
db2dummydb2dummy软件开发工程师IBM
db2 +c ,这样试一下,应该会宕掉wp28556259 发表于 2012-3-14 15:05     老大,db2 +c = db2 -c-显示全部
db2 +c ,这样试一下,应该会宕掉
wp28556259 发表于 2012-3-14 15:05



    老大,db2 +c = db2 -c-收起
互联网服务 · 2012-03-14
浏览726
wp28556259wp28556259软件架构设计师CMBC
回复  Meral     活动日志文件不一定包含活动日志记录。你用db2 -c- 关闭自动提交进行增删改的同时删除 ...db2dummy 发表于 2012-3-14 14:59    db2 +c ,这样试一下,应该会宕掉显示全部
回复  Meral


    活动日志文件不一定包含活动日志记录。你用db2 -c- 关闭自动提交进行增删改的同时删除 ...
db2dummy 发表于 2012-3-14 14:59



   db2 +c ,这样试一下,应该会宕掉收起
银行 · 2012-03-14
浏览701
db2dummydb2dummy软件开发工程师IBM
另外还有种可能你是不是auto restart设置为off了,如果是off,你在连接后执行 db2 restart 试试显示全部
另外还有种可能你是不是auto restart设置为off了,如果是off,你在连接后执行 db2 restart 试试收起
互联网服务 · 2012-03-14
浏览718
db2dummydb2dummy软件开发工程师IBM
你在online backup后的删除操作应该是已经提交并落实到磁盘了,此时删除了那些日志文件应该没有影响到数据库的一致性,所以数据库还是可连的。等下我重复你这个实验看看。。显示全部
你在online backup后的删除操作应该是已经提交并落实到磁盘了,此时删除了那些日志文件应该没有影响到数据库的一致性,所以数据库还是可连的。等下我重复你这个实验看看。。收起
互联网服务 · 2012-03-14
浏览727
db2dummydb2dummy软件开发工程师IBM
回复 11# Meral     活动日志文件不一定包含活动日志记录。你用db2 -c- 关闭自动提交进行增删改的同时删除活动日志文件试试显示全部
回复 11# Meral


    活动日志文件不一定包含活动日志记录。你用db2 -c- 关闭自动提交进行增删改的同时删除活动日志文件试试收起
互联网服务 · 2012-03-14
浏览727
MeralMeral数据库管理员GUOJI
回复 8# db2dummy 我觉得是假象。首先我们要明确什么是活动日志。满足这两个条件之一的就是活动日志:1.包含未提交的事务 2. 事务已经提交,但是还没写入磁盘。其次,你提到你有做在线online备份,online备份结束的时候会强制归档当前所有的活动日志。如果你在online backup完成...显示全部
回复 8# db2dummy


我觉得是假象。
首先我们要明确什么是活动日志。满足这两个条件之一的就是活动日志:1.包含未提交的事务 2. 事务已经提交,但是还没写入磁盘。
其次,你提到你有做在线online备份,online备份结束的时候会强制归档当前所有的活动日志。
如果你在online backup完成后没有进行任何增删改操作,那么综上考虑数据库此时已经没有任何活动日志了,所以此时你删除的日志文件都是不包含活动日志的空日志文件,能连上数据库是正常现象。
至于你所说的“日志回来了”,数据库在激活的时候如果没有活动日志文件,会自动生成log primary个活动日志文件。这是新生成的,而不是“回来了”

我删除了的是/home/dblogs/active/SAMPLE/NODE0000/     /home/dblogs/mirror/SAMPLE/NODE0000/    /home/dblogs/archive/db2inst1/SAMPLE/NODE0000/C0000000这三个目录的文件。所有的。在做完online全备后删除的。后来是在WP兄提醒下做了online备份后插入数据,然后删除日志,结果还是连接得上。所以说是不解啊。很有可能就是你说的假象,但是不理解为什么会出现这样的假象。收起
互联网服务 · 2012-03-14
浏览772
db2dummydb2dummy软件开发工程师IBM
你在online backup完成后做些增删改操作再删除所有日志试试,此时所删除的日志文件才包含了活动日志,然后你再去连DB应该就会报错了。显示全部
你在online backup完成后做些增删改操作再删除所有日志试试,此时所删除的日志文件才包含了活动日志,然后你再去连DB应该就会报错了。收起
互联网服务 · 2012-03-14
浏览723

提问者

Meral
数据库管理员GUOJI

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2012-03-14
  • 关注会员:1 人
  • 问题浏览:9877
  • 最近回答:2012-03-14
  • X社区推广