Hi,
I have two computers both having DB2 Enterprice v8.2 FP11 on Linux. One has 2 GB of RAM and one has 1 GB of RAM. I made an on-line backup on first 2 GB computer and restore it to 1 GB computer.
When restoring on second computer I did the following:
Code:
db2 restore database mydb from /BackupDir to /RestoreDir into mydb
DB20000I The RESTORE DATABASE command completed successfully.
Code:
db2 rollforward db mydb to end of logs and stop
SQL1218N There are no pages currently available in bufferpool "".
SQLSTATE=57011
I would like to decrease bufferpool:
Code:
db2 connect to mydb
db2 alter bufferpool ibmdefaultbp size 1000
SQL1117N A connection to or activation of database "mydb" cannot be made
because of ROLL-FORWARD PENDING. SQLSTATE=57019
DB21034E The command was processed as an SQL statement because it was not a
valid Command Line Processor command. During SQL processing it returned:
SQL1024N A database connection does not exist. SQLSTATE=08003
The rollforward process returns error probably because there is not a enough free memory on second computer. So idea is make a restore + rollforward and then decrease number of pages in bufferpool. But restore fails because bufferpool is too big.
What I don't like is this procedur is written in bash skript and one day it rollforwards OK, some day doesn't.
The funny thing is if a command rollforward is executed second time in 99% it executes successfully.
Two questions:
1. Is there any way I could reduce bufferpools before rollforward is executed?
2. We are planning to migrate to DB2 v9.5 and we are planning to establish automatic maintenance for bufferpools. Will this problem of rollforward disappear in v9.5 if bufferpools are automatically maintained? If v9.5 solves the problem I will not bother to have some immediate solution for v8.2.
Thanks,
Grofaty