Results 1 to 7 of 7
  1. #1
    Join Date
    Aug 2011
    Location
    Columbus, OH
    Posts
    55

    Unanswered: Where do log files need to be copied & specified on point-in-time redirected restore?

    Hello DB2 friends. I have a question for which I have not been able to find a good answer. I do not know how to poperly specify transaction log files that should be replayed during a redirected restore.

    I'm trying to do a point-in-time redirected restore from a DB2 8.2 (I know...working to get current) database from one server to another. All is working with the redirected restore execept I can not seem to rollfoward past the end of the backup - even though I specify the rollfoward time and the restore/rollfoward are successful. I'm concerned I do not have the proper log files and that they are not in the proper place on the destination server to be rolled forward.
    Is there a way to tell that I have the correct log files copied to the destination server?
    Where exactly should those log files go to replay the transactions?
    What is the proper way to specify 'Here DB2 here are the log files you will need to use to rollfoward the database to the time I specify' ?

    Any suggestions or thoughts would be greatly appreciated. Thank you so much for reading my post and trying to help me understand and get better at this challenging task of being proficient at restores.

    Here is my process:

    1. Copy backup image from <source_server> to <destination_server>
    a. scp /db2backup/CMDLIFEP/request/CMDLIFEP.0.cmililsp.NODE0000.CATN0000.201503172000 01.001 <destination_instance_owner>@<destination_server >:/db2backup/CMDLIFEP/request

    2. Get tablespace info from source database to build restore script:

    a. db2pd -d cmdlifep -tab > /rhome/admreyno/cmdlifep_tablespace.txt

    outcome ==>
    0x422EFA50 0 0 Path 28564 28564 0 /cmdata/cmililsp/NODE0000/SQL00002/SQLT0000.0
    0x422EFBB0 1 0 Path 1 1 0 /cmdata/cmililsp/NODE0000/SQL00002/SQLT0001.0
    0x422EFD10 2 0 Path 524364 524364 0 /cmdata/cmililsp/NODE0000/SQL00002/SQLT0002.0
    0x422EFE70 3 0 Path 2 2 0 /cmdata/cmililsp/NODE0000/SQL00002/SYSTOOLSPACE
    0x4867BB60 4 0 Path 3182 3182 0 /cmdata/cmililsp/NODE0000/SQL00002/SQLT0003.0
    0x4867BCC0 5 0 Path 1 1 0 /cmdata/cmililsp/NODE0000/SQL00002/SQLTMPTS16K

    3. As the instance owner on the destination server, make a directory for the containers, logtarget and logoverflow

    a. mkdir /cmdata/cmdlifep
    b. mkdir /cmlogs/cmdlifep /cmlogs/cmdlifep/logoverflow
    c. mkdir /cmlogs/cmdlifep/logtarget


    4. Get log directory from <source_database>
    a. db2 get db cfg | grep Path

    outcome ==>
    $ db2 get db cfg | grep Path
    Path to log files = /cmdata/cmililsp/NODE0000/SQL00002/SQLOGDIR/

    5. Identify log files needed for point in time recovery

    a. ls -ltr <source_path_to_log_files>

    outcome ==>
    $ cd /cmdata/cmililsp/NODE0000/SQL00002/SQLOGDIR/
    $ ls -ltr
    total 638376
    -rw------- 1 cmililsp db2grp1 4202496 Mar 15 01:44 S0044182.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 15 01:44 S0044181.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044158.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044157.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044194.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044193.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044192.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044191.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044190.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044189.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044188.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044187.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044186.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044185.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044184.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044183.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044180.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044179.LOG


    b. Identify S0044181.LOG S0044182.LOG & S0044158.LOG as being necessary for recovery ??? is this even correct ???

    c. Copy necessary log files from <source_server> to <log_overflow_directory> on <destination_server>
    a. scp /cmdata/cmililsp/NODE0000/SQL00002/SQLOGDIR/S0044182.LOG <destination_instance_owner>@<destination_server >:/cmlogs/cmdlifep/logoverflow
    b. scp /cmdata/cmililsp/NODE0000/SQL00002/SQLOGDIR/S0044181.LOG <destination_instance_owner>@<destination_server >:/cmlogs/cmdlifep/logoverflow
    c. scp /cmdata/cmililsp/NODE0000/SQL00002/SQLOGDIR/S0044158.LOG <destination_instance_owner>@<destination_server >:/cmlogs/cmdlifep/logoverflow

    6. Build restore script:
    a. cd /usr/local/scripts/db2maint/restores
    b. vi cmdlifep_red-restore-to-<destination_server>-point-in-time.db2

    restore db cmdlifep
    from /db2backup/CMDLIFEP/request
    taken at 20150316200001
    into cmdlifep
    logtarget /cmlogs/cmdlifep/logtarget
    redirect without prompting;

    set tablespace containers for 0 IGNORE ROLLFORWARD CONTAINER OPERATIONS using (Path '/cmlogs/cmdlifep/SQLT0000.0');
    set tablespace containers for 1 IGNORE ROLLFORWARD CONTAINER OPERATIONS using (Path '/cmlogs/cmdlifep/SQLT0001.0');
    set tablespace containers for 2 IGNORE ROLLFORWARD CONTAINER OPERATIONS using (Path '/cmlogs/cmdlifep/SQLT0002.0');
    set tablespace containers for 3 IGNORE ROLLFORWARD CONTAINER OPERATIONS using (Path '/cmlogs/cmdlifep/SYSTOOLSPACE');
    set tablespace containers for 4 IGNORE ROLLFORWARD CONTAINER OPERATIONS using (Path '/cmlogs/cmdlifep/SQLT0003.0');
    set tablespace containers for 5 IGNORE ROLLFORWARD CONTAINER OPERATIONS using (Path '/cmlogs/cmdlifep/SQLTMPTS16K');

    restore db cmdlifep continue;

    c. chmod +x cmdlifep_red-restore-to-<destination_server>-point-in-time.db2

    7. Make sure logtarget directory is empty
    a. rm /cmlogs/cmdlifep/logtarget/*

    8. Execute redirected restore to restore the database to the backup taken at 20:00 on 3/16:
    a. cd /usr/local/scripts/db2maint/restores
    b. db2 -tvf cmdlifep_red-restore-to-<destination_server>-point-in-time.db2

    9. copy tx log files from source server to destination server's "path to log files"
    a. cp /cmlogs/cmdlifep/logoverflow/S0044182.LOG /cmlogs/cmdlifep/logtarget/
    b. cp /cmlogs/cmdlifep/logoverflow/S0044181.LOG /cmlogs/cmdlifep/logtarget/
    c. cp /cmlogs/cmdlifep/logoverflow/S0044158.LOG /cmlogs/cmdlifep/logtarget/

    10. Rollfoward database to 09:00 on 3/17:
    a. db2 "rollforward db cmdlifep to 2015-03-17-09.00.00 USING LOCAL TIME and stop overflow log path (/cmlogs/cmdlifep/logtarget/)"

    outcome ==>

    Rollforward Status

    Input database alias = cmdlifep
    Number of nodes have returned status = 1

    Node number = 0
    Rollforward status = not pending
    Next log file to be read =
    Log files processed = S0044108.LOG - S0044108.LOG
    Last committed transaction = 2015-03-16-20.03.07.000000

    DB20000I The ROLLFORWARD command completed successfully.

  2. #2
    Join Date
    Sep 2013
    Location
    India
    Posts
    246
    Quote Originally Posted by Tracygirl View Post
    Hello DB2 friends. I have a question for which I have not been able to find a good answer. I do not know how to poperly specify transaction log files that should be replayed during a redirected restore.

    I'm trying to do a point-in-time redirected restore from a DB2 8.2 (I know...working to get current) database from one server to another. All is working with the redirected restore execept I can not seem to rollfoward past the end of the backup - even though I specify the rollfoward time and the restore/rollfoward are successful. I'm concerned I do not have the proper log files and that they are not in the proper place on the destination server to be rolled forward.
    Is there a way to tell that I have the correct log files copied to the destination server?
    Where exactly should those log files go to replay the transactions?
    What is the proper way to specify 'Here DB2 here are the log files you will need to use to rollfoward the database to the time I specify' ?

    Any suggestions or thoughts would be greatly appreciated. Thank you so much for reading my post and trying to help me understand and get better at this challenging task of being proficient at restores.

    Here is my process:

    1. Copy backup image from <source_server> to <destination_server>
    a. scp /db2backup/CMDLIFEP/request/CMDLIFEP.0.cmililsp.NODE0000.CATN0000.201503172000 01.001 <destination_instance_owner>@<destination_server >:/db2backup/CMDLIFEP/request

    2. Get tablespace info from source database to build restore script:

    a. db2pd -d cmdlifep -tab > /rhome/admreyno/cmdlifep_tablespace.txt

    outcome ==>
    0x422EFA50 0 0 Path 28564 28564 0 /cmdata/cmililsp/NODE0000/SQL00002/SQLT0000.0
    0x422EFBB0 1 0 Path 1 1 0 /cmdata/cmililsp/NODE0000/SQL00002/SQLT0001.0
    0x422EFD10 2 0 Path 524364 524364 0 /cmdata/cmililsp/NODE0000/SQL00002/SQLT0002.0
    0x422EFE70 3 0 Path 2 2 0 /cmdata/cmililsp/NODE0000/SQL00002/SYSTOOLSPACE
    0x4867BB60 4 0 Path 3182 3182 0 /cmdata/cmililsp/NODE0000/SQL00002/SQLT0003.0
    0x4867BCC0 5 0 Path 1 1 0 /cmdata/cmililsp/NODE0000/SQL00002/SQLTMPTS16K

    3. As the instance owner on the destination server, make a directory for the containers, logtarget and logoverflow

    a. mkdir /cmdata/cmdlifep
    b. mkdir /cmlogs/cmdlifep /cmlogs/cmdlifep/logoverflow
    c. mkdir /cmlogs/cmdlifep/logtarget


    4. Get log directory from <source_database>
    a. db2 get db cfg | grep Path

    outcome ==>
    $ db2 get db cfg | grep Path
    Path to log files = /cmdata/cmililsp/NODE0000/SQL00002/SQLOGDIR/

    5. Identify log files needed for point in time recovery

    a. ls -ltr <source_path_to_log_files>

    outcome ==>
    $ cd /cmdata/cmililsp/NODE0000/SQL00002/SQLOGDIR/
    $ ls -ltr
    total 638376
    -rw------- 1 cmililsp db2grp1 4202496 Mar 15 01:44 S0044182.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 15 01:44 S0044181.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044158.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044157.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044194.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044193.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044192.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044191.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044190.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044189.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044188.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044187.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044186.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044185.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044184.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044183.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044180.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044179.LOG


    b. Identify S0044181.LOG S0044182.LOG & S0044158.LOG as being necessary for recovery ??? is this even correct ???

    c. Copy necessary log files from <source_server> to <log_overflow_directory> on <destination_server>
    a. scp /cmdata/cmililsp/NODE0000/SQL00002/SQLOGDIR/S0044182.LOG <destination_instance_owner>@<destination_server >:/cmlogs/cmdlifep/logoverflow
    b. scp /cmdata/cmililsp/NODE0000/SQL00002/SQLOGDIR/S0044181.LOG <destination_instance_owner>@<destination_server >:/cmlogs/cmdlifep/logoverflow
    c. scp /cmdata/cmililsp/NODE0000/SQL00002/SQLOGDIR/S0044158.LOG <destination_instance_owner>@<destination_server >:/cmlogs/cmdlifep/logoverflow

    6. Build restore script:
    a. cd /usr/local/scripts/db2maint/restores
    b. vi cmdlifep_red-restore-to-<destination_server>-point-in-time.db2

    restore db cmdlifep
    from /db2backup/CMDLIFEP/request
    taken at 20150316200001
    into cmdlifep
    logtarget /cmlogs/cmdlifep/logtarget
    redirect without prompting;

    set tablespace containers for 0 IGNORE ROLLFORWARD CONTAINER OPERATIONS using (Path '/cmlogs/cmdlifep/SQLT0000.0');
    set tablespace containers for 1 IGNORE ROLLFORWARD CONTAINER OPERATIONS using (Path '/cmlogs/cmdlifep/SQLT0001.0');
    set tablespace containers for 2 IGNORE ROLLFORWARD CONTAINER OPERATIONS using (Path '/cmlogs/cmdlifep/SQLT0002.0');
    set tablespace containers for 3 IGNORE ROLLFORWARD CONTAINER OPERATIONS using (Path '/cmlogs/cmdlifep/SYSTOOLSPACE');
    set tablespace containers for 4 IGNORE ROLLFORWARD CONTAINER OPERATIONS using (Path '/cmlogs/cmdlifep/SQLT0003.0');
    set tablespace containers for 5 IGNORE ROLLFORWARD CONTAINER OPERATIONS using (Path '/cmlogs/cmdlifep/SQLTMPTS16K');

    restore db cmdlifep continue;

    c. chmod +x cmdlifep_red-restore-to-<destination_server>-point-in-time.db2

    7. Make sure logtarget directory is empty
    a. rm /cmlogs/cmdlifep/logtarget/*

    8. Execute redirected restore to restore the database to the backup taken at 20:00 on 3/16:
    a. cd /usr/local/scripts/db2maint/restores
    b. db2 -tvf cmdlifep_red-restore-to-<destination_server>-point-in-time.db2

    9. copy tx log files from source server to destination server's "path to log files"
    a. cp /cmlogs/cmdlifep/logoverflow/S0044182.LOG /cmlogs/cmdlifep/logtarget/
    b. cp /cmlogs/cmdlifep/logoverflow/S0044181.LOG /cmlogs/cmdlifep/logtarget/
    c. cp /cmlogs/cmdlifep/logoverflow/S0044158.LOG /cmlogs/cmdlifep/logtarget/

    10. Rollfoward database to 09:00 on 3/17:
    a. db2 "rollforward db cmdlifep to 2015-03-17-09.00.00 USING LOCAL TIME and stop overflow log path (/cmlogs/cmdlifep/logtarget/)"

    outcome ==>

    Rollforward Status

    Input database alias = cmdlifep
    Number of nodes have returned status = 1

    Node number = 0
    Rollforward status = not pending
    Next log file to be read =
    Log files processed = S0044108.LOG - S0044108.LOG
    Last committed transaction = 2015-03-16-20.03.07.000000

    DB20000I The ROLLFORWARD command completed successfully.
    Hi Tracy,

    What entries are written in diag against your rollforward command, it seems end of backup command is overriding your rollforward PIT. please post the concerned diag output.

    thanks
    ssumit

  3. #3
    Join Date
    Sep 2013
    Location
    India
    Posts
    246
    Quote Originally Posted by Tracygirl View Post
    Hello DB2 friends. I have a question for which I have not been able to find a good answer. I do not know how to poperly specify transaction log files that should be replayed during a redirected restore.

    I'm trying to do a point-in-time redirected restore from a DB2 8.2 (I know...working to get current) database from one server to another. All is working with the redirected restore execept I can not seem to rollfoward past the end of the backup - even though I specify the rollfoward time and the restore/rollfoward are successful. I'm concerned I do not have the proper log files and that they are not in the proper place on the destination server to be rolled forward.
    Is there a way to tell that I have the correct log files copied to the destination server?
    Where exactly should those log files go to replay the transactions?
    What is the proper way to specify 'Here DB2 here are the log files you will need to use to rollfoward the database to the time I specify' ?

    Any suggestions or thoughts would be greatly appreciated. Thank you so much for reading my post and trying to help me understand and get better at this challenging task of being proficient at restores.

    Here is my process:

    1. Copy backup image from <source_server> to <destination_server>
    a. scp /db2backup/CMDLIFEP/request/CMDLIFEP.0.cmililsp.NODE0000.CATN0000.201503172000 01.001 <destination_instance_owner>@<destination_server >:/db2backup/CMDLIFEP/request

    2. Get tablespace info from source database to build restore script:

    a. db2pd -d cmdlifep -tab > /rhome/admreyno/cmdlifep_tablespace.txt

    outcome ==>
    0x422EFA50 0 0 Path 28564 28564 0 /cmdata/cmililsp/NODE0000/SQL00002/SQLT0000.0
    0x422EFBB0 1 0 Path 1 1 0 /cmdata/cmililsp/NODE0000/SQL00002/SQLT0001.0
    0x422EFD10 2 0 Path 524364 524364 0 /cmdata/cmililsp/NODE0000/SQL00002/SQLT0002.0
    0x422EFE70 3 0 Path 2 2 0 /cmdata/cmililsp/NODE0000/SQL00002/SYSTOOLSPACE
    0x4867BB60 4 0 Path 3182 3182 0 /cmdata/cmililsp/NODE0000/SQL00002/SQLT0003.0
    0x4867BCC0 5 0 Path 1 1 0 /cmdata/cmililsp/NODE0000/SQL00002/SQLTMPTS16K

    3. As the instance owner on the destination server, make a directory for the containers, logtarget and logoverflow

    a. mkdir /cmdata/cmdlifep
    b. mkdir /cmlogs/cmdlifep /cmlogs/cmdlifep/logoverflow
    c. mkdir /cmlogs/cmdlifep/logtarget


    4. Get log directory from <source_database>
    a. db2 get db cfg | grep Path

    outcome ==>
    $ db2 get db cfg | grep Path
    Path to log files = /cmdata/cmililsp/NODE0000/SQL00002/SQLOGDIR/

    5. Identify log files needed for point in time recovery

    a. ls -ltr <source_path_to_log_files>

    outcome ==>
    $ cd /cmdata/cmililsp/NODE0000/SQL00002/SQLOGDIR/
    $ ls -ltr
    total 638376
    -rw------- 1 cmililsp db2grp1 4202496 Mar 15 01:44 S0044182.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 15 01:44 S0044181.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044158.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044157.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044194.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044193.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044192.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044191.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044190.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044189.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044188.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044187.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044186.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044185.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044184.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044183.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044180.LOG
    -rw------- 1 cmililsp db2grp1 4202496 Mar 21 22:00 S0044179.LOG


    b. Identify S0044181.LOG S0044182.LOG & S0044158.LOG as being necessary for recovery ??? is this even correct ???

    c. Copy necessary log files from <source_server> to <log_overflow_directory> on <destination_server>
    a. scp /cmdata/cmililsp/NODE0000/SQL00002/SQLOGDIR/S0044182.LOG <destination_instance_owner>@<destination_server >:/cmlogs/cmdlifep/logoverflow
    b. scp /cmdata/cmililsp/NODE0000/SQL00002/SQLOGDIR/S0044181.LOG <destination_instance_owner>@<destination_server >:/cmlogs/cmdlifep/logoverflow
    c. scp /cmdata/cmililsp/NODE0000/SQL00002/SQLOGDIR/S0044158.LOG <destination_instance_owner>@<destination_server >:/cmlogs/cmdlifep/logoverflow

    6. Build restore script:
    a. cd /usr/local/scripts/db2maint/restores
    b. vi cmdlifep_red-restore-to-<destination_server>-point-in-time.db2

    restore db cmdlifep
    from /db2backup/CMDLIFEP/request
    taken at 20150316200001
    into cmdlifep
    logtarget /cmlogs/cmdlifep/logtarget
    redirect without prompting;

    set tablespace containers for 0 IGNORE ROLLFORWARD CONTAINER OPERATIONS using (Path '/cmlogs/cmdlifep/SQLT0000.0');
    set tablespace containers for 1 IGNORE ROLLFORWARD CONTAINER OPERATIONS using (Path '/cmlogs/cmdlifep/SQLT0001.0');
    set tablespace containers for 2 IGNORE ROLLFORWARD CONTAINER OPERATIONS using (Path '/cmlogs/cmdlifep/SQLT0002.0');
    set tablespace containers for 3 IGNORE ROLLFORWARD CONTAINER OPERATIONS using (Path '/cmlogs/cmdlifep/SYSTOOLSPACE');
    set tablespace containers for 4 IGNORE ROLLFORWARD CONTAINER OPERATIONS using (Path '/cmlogs/cmdlifep/SQLT0003.0');
    set tablespace containers for 5 IGNORE ROLLFORWARD CONTAINER OPERATIONS using (Path '/cmlogs/cmdlifep/SQLTMPTS16K');

    restore db cmdlifep continue;

    c. chmod +x cmdlifep_red-restore-to-<destination_server>-point-in-time.db2

    7. Make sure logtarget directory is empty
    a. rm /cmlogs/cmdlifep/logtarget/*

    8. Execute redirected restore to restore the database to the backup taken at 20:00 on 3/16:
    a. cd /usr/local/scripts/db2maint/restores
    b. db2 -tvf cmdlifep_red-restore-to-<destination_server>-point-in-time.db2

    9. copy tx log files from source server to destination server's "path to log files"
    a. cp /cmlogs/cmdlifep/logoverflow/S0044182.LOG /cmlogs/cmdlifep/logtarget/
    b. cp /cmlogs/cmdlifep/logoverflow/S0044181.LOG /cmlogs/cmdlifep/logtarget/
    c. cp /cmlogs/cmdlifep/logoverflow/S0044158.LOG /cmlogs/cmdlifep/logtarget/

    10. Rollfoward database to 09:00 on 3/17:
    a. db2 "rollforward db cmdlifep to 2015-03-17-09.00.00 USING LOCAL TIME and stop overflow log path (/cmlogs/cmdlifep/logtarget/)"

    outcome ==>

    Rollforward Status

    Input database alias = cmdlifep
    Number of nodes have returned status = 1

    Node number = 0
    Rollforward status = not pending
    Next log file to be read =
    Log files processed = S0044108.LOG - S0044108.LOG
    Last committed transaction = 2015-03-16-20.03.07.000000

    DB20000I The ROLLFORWARD command completed successfully.
    Hi Tracy,

    What entries are written in diag against your rollforward command, it seems end of backup time is overriding your rollforward PIT. please post the concerned diag output.

    thanks
    ssumit

  4. #4
    Join Date
    Apr 2012
    Posts
    1,034
    Provided Answers: 18
    Sanity check: check for typo with these two timestamps in your post:

    Your backup timestamp: 20150317200001 (according to the line step 1a with scp of the image).

    Recovery-Point-In-Time: 20150317090000 (according to the line for step 10a.)

    Backup-timestamp must precede recovery-point-in-time if both are local time.

  5. #5
    Join Date
    Aug 2011
    Location
    Columbus, OH
    Posts
    55
    Quote Originally Posted by db2mor View Post
    Sanity check: check for typo with these two timestamps in your post:

    Your backup timestamp: 20150317200001 (according to the line step 1a with scp of the image).

    Recovery-Point-In-Time: 20150317090000 (according to the line for step 10a.)

    Backup-timestamp must precede recovery-point-in-time if both are local time.

    Doh! Good catch, db2mor! 20150316200001 was the backup time in my script. Wheh!

  6. #6
    Join Date
    Aug 2011
    Location
    Columbus, OH
    Posts
    55
    Thanks for the reply ssumit. I figured out my problem. I copied incorrect log files from the source server to the destination server. I look a look in TSM to see what log files existed in the arch log directory on 3/17 and found several log files I was missing. I was lazy during my original restore attempt and didn't double check I had the correct log files.

  7. #7
    Join Date
    Aug 2011
    Location
    Columbus, OH
    Posts
    55
    This problem is resolved. Thanks again to everyone who read and those who replied to my verbose post.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •