У меня есть таблица EMPLOYEE.EMPLOYEE
внутри базы данных HELLO
, которая содержит 3 записи, перечисленные ниже:
EMP_NO BIRTH_DATE FIRST_NAME LAST_NAME GENDER HIRE_DATE BANK_ACCOUNT_NUMBER PHONE_NUMBER
------- ---------- ------------------ -------------------- ------ ---------- ------------------- --------------
1. 06/05/1998 A B M 01/02/2019 026201521420 +91X
2. 10/14/1997 C D M 01/07/2019 034212323454 +91Y
3. 05/27/1997 E F F 01/14/2019 92329323123 +91Z
Затем я сначала делаю автономное резервное копирование, используя следующие команды
mkdir offlinebackup
db2 terminate
db2 deactivate database HELLO
db2 backup database HELLO to ~/offlinebackup/
После чего я получаю этот вывод:
Backup successful. The timestamp for this backup image is : 20190128115210
Теперь я беру оперативное резервное копирование, используя следующие команды
db2 update database configuration for HELLO using LOGARCHMETH1 'DISK:/database/config/db2inst1/onlinebackup'
db2 backup database HELLO online to /database/config/db2inst1/onlinebackup compress include logs
После этого я получаю вывод как:
Backup successful. The timestamp for this backup image is : 20190128115616
Теперь я возвращаюсь к db2 и запускаю CONNECT TO HELLO
, который соединяет меня с моей базой данных.Когда я проверяю строки в таблице EMPLOYEE.EMPLOYEE
, я все равно получаю все свои 3 строки.
Теперь я удаляю строку с помощью EMP_NO 3. Это успешно удаляется.Затем я запускаю quit
из терминала db2
Затем я использую эту команду для запуска восстановления из моей автономной резервной копии:
db2 restore db HELLO from ~/offlinebackup/ replace existing
Она говорит DB20000I The RESTORE DATABASE command completed successfully
Теперь я пытаюсь подключиться к HELLO, он говорит SQL1117N A connection to or activation of database "HELLO" cannot be made because of ROLL-FORWARD PENDING. SQLSTATE=57019
К которому я запускаю db2 rollforward db HELLO to end of logs and stop
Затем я подключаюсь к HELLO и пытаюсь выяснить строки, я получаю только 2 строкии не 3, как это было в резервной копии.
EMP_NO BIRTH_DATE FIRST_NAME LAST_NAME GENDER HIRE_DATE BANK_ACCOUNT_NUMBER PHONE_NUMBER
------- ---------- ------------------ --------------------- ------ ---------- ------------------- --------------
1. 06/05/1998 A B M 01/02/2019 026201521420 +91X
2. 10/14/1997 C D M 01/07/2019 034212323454 +91Y
Третья запись не видна, которая присутствовала в резервной копии.Может кто-нибудь выяснить, почему я не могу восстановить третью запись из резервной копии