The CVTJRNA command outputs the information that is found with
WRKJRNA to three separate data base files:
JRNFILP One record per file being journaled
JRNACPP One record per access path being journaled
JRNRCVP One record per receiver which is known to the journal
The file is output by the sub tool CVTJRNRCVD
Several APIs are used to access the information.
A typical command would be entered as:
CVTJRNA JRN(xxxxx) FILELIB(yyyy)
This would output the journal attribute information into 3 files in
the named library.
The CVTJRNA command uses the QjoRetrieveJournalInformation API to
extract the basic information. Additional information is accessed
using other TAA Tools and APIs. The information is placed in three
separate files. The data base files can then be used for other
processing such as automating the saving/deletion of receivers and
restarting journaling.
For example, you could consider making the CVTJRNA command part of
your backup procedure so that you have processable data base records
for the journal information saved as part of your backup. This will
provide you with better documentation of the backup and provide a
base for an automatic reconstruction of the network of journal
descriptions.
A performance option is available to output the information regarding
the receivers only.
If a file is not found during processing (such as a file is being
journaled in QTEMP by a different job), the file will not appear in
the outfile.
Additional length fields
------------------------
Since the journal support was enhanced to allow a larger size of
entry and size of receiver, the original outfile fields were not
large enough in several cases. This was handled by adding additional
fields such as for the 'Maximum entry length':
JRMAXL 5/0 Original field
JRMAX2 15/0 New field
The original fields will continue to have valid data as long as they
are large enough. If not they will be set to 0.
For example, if the max length is 98,000 both JRMAXL and JRMAX2 will
contain the same value. If more than 5 digits exist, JRMAX2 will be
set to 0.
CVTJRNA command *CMD
---------------
The command supports the following parameters:
JRN The qualified name of the journal to be used. *LIBL
is the library default.
FILELIB The library which contains the three files JRNFILP,
JRNACPP and JRNRCVP. If the files exist in the
library, they will be cleared first. If the files
do not exist, they will be created.
RCVRONLY A *YES/*NO value for whether only the JRNRCVP file
(journal receivers) should be output. This is a
performance advantage when only the journal
receivers are needed. The JRNFILP and JRNACPP files
are cleared regardless of the option.
MBROPT Whether to replace or add records to the members of
the outfiles. *REPLACE is the default.
*ADD may be specified to add records to the outfile
members.
The command uses system APIs for most of the information. The
command uses a technique of accessing the physical files and then the
dependent files. Each dependent logical file is then checked to see
if it is journaled.
The command assumes that there will be one set of unique files per
journal. You may create multiple sets of files (one set per library)
if you have different journals.
RSMJRN command *CMD
--------------
The RSMJRN (Resume Journaling) command uses the records stored in the
JRNFILP and JRNACPP files to resume journaling. A listing is
produced describing the file names which were read and whether
journaling was successfully restarted or not.
The command can be used even if the files are already being journaled
in which case an indication will be printed on the listing.
Two parameters support the capability of moving the journal to a
different library and then restarting journaling to the journal in
the new library (See NEWJRN and OLDJRN).
If you want to move the journal, you must: 1) Use CVTJRNA 2) End
journaling with ENDJRNAP/ENDJRNPF 3) RSMJRN with the NEWJRN/OLDJRN
parameters.
The RSMJRN command supports the following parameters:
FILELIB The library which contains the three files JRNFILP,
JRNACPP and JRNRCVP.
JRNPF This is a *YES/*NO value for whether to restart the
files found in the JRNFILP file with STRJRNPF. The
default is *YES.
JRNAP This is a *YES/*NO value for whether to restart the
files found in the JRNACPP file with STRJRNAP. The
default is *YES.
OLDJRN The qualified name of the old journal if journaling
is being restarted to a different library. The
default is *NONE.
NEWJRN The qualified name of the new journal if journaling
is being restarted to a different library. The
default is *NONE.
If no records exist in the JRNACPP file, no errors occur. Therefore
the command can be used even if you have not implemented access path
journaling.
Resuming journaling to a journal in a different library
-------------------------------------------------------
CVTJRNA and RSMJRN are also useful if you are currently journaling
and want to move the journal to a different library. Because a
journal object cannot be moved to a different library, you must
achieve this by ending journaling, re-establishing the journal in the
desired library and restart the journaling of files. The Backup and
Recovery Programmer's Guide describes the steps to do this. If you
are currently journaling many files, there is a good deal of manual
effort involved to restart journaling. This can be accomplished
easily with the CVTJRNA and RSMJRN commands.
** Use CVTJRNA to capture the environment.
** Use ENDJRNAP if access paths are being journaled.
** Use ENDJRNPF to end physical file journaling.
** Create the journal receiver and journal in the desired
libraries. A different name may be used.
** Use RSMJRN and specify the NEWJRN and OLDJRN parameters. This
will restart journaling to the journal in the new library.
** Save your files to establish a recovery point for applying the
journal.
File format
-----------
The following are the file names, the model files and the record
names.
Function File name Model file in TAATOOL Record name
Physical files JRNFILP TAAJRNAP JRNFILR
Access paths JRNACPP TAAJRNAQ JRNACPR
Receivers JRNRCVP TAAJRNAS JRNRCVR
To see the field names used:
DSPFMT TAAJRNAP Physical files
DSPFMT TAAJRNAQ Access paths
DSPFMT TAAJRNAS Journal receivers.
Restrictions
------------
The CVTJRNA command uses RTVJRNRCV, CVTJRNDBF, and RTVDBR TAA Tools
to access information. These commands have the following
restrictions:
** RTVJRNRCV allows a maximum of 1500 receivers
** CVTJRNDBF allows a maximum of 60,000 data base files
journaled.
** RTVDBR allows a maximum of 490 dependent files per physical
file.
Prerequisites
-------------
The following TAA Tools must be on your system:
CRTDUPPF Create duplicate physical file
CVTJRNDBF Convert journal data base files
CVTJRNRCVD Convert journal receiver directory
RTVDBR Retrieve data base relations
RTVJRNRCV Retrieve journal receivers
RTVPFJRNA Retrieve physical file journal attributes
SNDCOMPMSG Send completion message
SNDESCMSG Send escape message
SNDSTSMSG Send status message
Implementation
--------------
None, the tool is ready to use.
Objects used by the tool
------------------------
Object Type Attribute Src member Src file
------ ----- --------- ---------- -----------
CVTJRNA *CMD TAAJRNA QATTCMD
RSMJRN *CMD TAAJRNA2 QATTCMD
TAAJRNAP *FILE TAAJRNAP QATTDDS
TAAJRNAQ *FILE TAAJRNAQ QATTDDS
TAAJRNAS *FILE TAAJRNAS QATTDDS
TAAJRNAC *PGM CLP TAAJRNAC QATTCL
TAAJRNAC2 *PGM CLP TAAJRNAC2 QATTCL
TAAJRNAC3 *PGM CLP TAAJRNAC3 QATTCL
TAAJRNAC4 *PGM CLP TAAJRNAC4 QATTCL
TAAJRNAC5 *PGM CLP TAAJRNAC5 QATTCL
TAAJRNAR *PGM RPG TAAJRNAR QATTRPG
TAAJRNAR2 *PGM RPG TAAJRNAR2 QATTRPG
Structure
---------
CVTJRNA
TAAJRNAC CL pgm
TAAJRNAR RPG pgm
TAAJRNAC4 CL pgm
TAAJRNAC5 CL pgm - Does RTVJRNRCVA
RSMJRN
TAAJRNAC2 CL pgm
TAAJRNAR2 RPG pgm
TAAJRNAC3 CL pgm
|