Last login: Wed Jan 30 02:23:23 2013
[root@localhost ~]# su - db2inst1
[db2inst1@localhost ~]$ db2 connect to sample
SQL1117N A connection to or activation of database "SAMPLE" cannot be made
because of ROLL-FORWARD PENDING. SQLSTATE=57019
####这个提示是说需要前滚期间的日志才能激活数据库
执行下面的语句:
[db2inst1@localhost ~]$ db2 rollforward db sample to end of logs and stop
####回滚到日志结束
Rollforward Status
Input database alias = sample
Number of members have returned status = 1
Member ID = 0
Rollforward status = not pending
Next log file to be read =
Log files processed = S0000002.LOG - S0000003.LOG
Last committed transaction = 2013-01-29-02.51.10.000000 UTC
DB20000I The ROLLFORWARD command completed successfully.
[db2inst1@localhost ~]$ db2 connect to sample ####再次登陆,成功!
Database Connection Information
Database server = DB2/LINUX 10.1.2
SQL authorization ID = DB2INST1
Local database alias = SAMPLE
总结:
出现这个问题,据我推测,是因为我给数据库做了在线增量备份,在一段时间以后,用此增量备份做了还原,所以数据中的某个ID号和日志中的ID号不能对应(数据不完整),所以不能打开数据库,需要使用在线日志做数据前滚,统一ID号(保持数据完整)后,才能打开数据库。