Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved


Chapter 1 Using TIBCO Object Service Broker Utilities : hrnbrptr (Batch Pointer Check)

hrnbrptr (Batch Pointer Check)
Syntax
hrnbrptr [arguments] filename
Platforms
Windows, Solaris
Description
The hrnbrptr utility validates the integrity of page images in either an archive file or a database segment by validating the horizontal and vertical pointers within the file specified. Run this utility on a regular basis against your TIBCO Object Service Broker system backups or segments to guarantee that every referenced page is accessible.
Input
The filename argument can be one of the following:
The name of an archive file generated by the hrntlbps (Backup Pagestore) utility from a full system or segment backup file.
An archive file can contain more than one segment, in which case you must run hrnbrptr against each segment individually.
The name of a dbdef file that contains the number and location of a single live segment file. This segment must be offline and, if the segment is the MetaStor, the Data Object Broker must be shut down. When validating a live segment, hrnbrptr indicates that it is doing so on the audit report.
The dbdef specification for the requested segment does not require the OS_ROOT environment variable to be set as long as the dbdef DB PATH option is used with or without FILE statements. The access path to a segment file is determined by the following: 1) the dbdef FILE statement, if specified, 2) the DB PATH option, if specified, and 3) the OS_ROOT environment variable.
A segment file must have a file header at the beginning of the file. When read, this header is ignored. If it is missing, an error message is output and the utility ends.
See Also
Database Definition for information about the dbdef file
Arguments
 
-A auditreport
Validate the data page header entry size. Check that the entry size is consistent with data page rows on the page.
-E errorlogfile
The file to which the error log is written. If this argument is omitted, the report is written to ERRLOG.ptr in the current directory.
The number of errors and warnings permitted before hrnbrptr quits. The default is 1000. A value of 0 (zero) permits an unlimited number of errors and warnings.
Note  If your archive file or segment has many problems, this setting could produce very large audit report and error log files.
Print the page headers. This argument must precede the -H argument. If -H is not specified, the headers are written to PGHDR.ptr in the current directory.
-H pghdrlist
The file to which the page headers are written. If this argument is omitted and the -h argument is specified, the headers are written to PGHDR.ptr in the current directory. This argument has no effect unless -h is also specified.
Optional parameter that requests the secondary index invalidated warning message be suppressed.
-O orphanlist
The file to which the orphan log is written. If this argument is omitted, the log is written to ORPHAN.ptr in the current directory.
-p numpages
The hrnbrptr utility automatically assigns a buffer of 200,000 pages for the Pagestore. Use this argument to set a higher number of pages if necessary.
-R reflogfile
The file to which the reference log is written. If this argument is omitted, the reference log is written to REFLOG.ptr in the current directory.
-s segment#
The offline segment number (not segment name). If this argument is omitted, the segment number defaults to zero (that is, the MetaStor is assumed).
-W workpath
The path to a directory to use for temporary storage. If this argument is omitted, the current directory is used.
The path of either the archive file created by the hrntlbps (Backup Pagestore) utility or a properly formatted dbdef file, which it recognizes by the .dbdef extension. For more detail, refer to Input.
Files
PGHDR.ptr
Lists the page headers of all used pages. It can be used with the REFLOG when corruption is detected. This is an optional file.
Audit report (written by default to stdout)
Provides information on each of the tables that exist in the segment, each error condition found, plus a number of summary items. It contains important information for tracing problems and should be retained. For more information, refer to Sample Audit Report.
ERRLOG.ptr
Lists error messages detected by the validation process. It provides an easy reference to help you determine if errors exist. All messages are also reported in the audit log.
This file can be used as input to the hrnbrpgc (Pagestore Correction) utility. hrnbrptr extracts the timestamp from page 1 and puts it in the ERRLOG in the form ID=xxxxxxxxxxxxxxxx. hrnbrpgc checks this timestamp against the then current page 1 before acting on an orphan-recovery request. If there is no ID=line in ERRLOG or if the stamps do not match, the job aborts. If, after checking that the ERRLOG is still valid against the indicated segment, you decide to proceed with the recovery, either insert the following line after the headings in the ERRLOG file, or modify the existing ID= line, as appropriate: ID=IGNORE.
ORPHAN.ptr
Contains a list of pages where the system usage indicators did not agree with reference information detected by Pointer Check processing. Orphans do not appear as errors in the error count.
An orphan page is a page that is not available for use and is not referenced by a table. A page that is referenced by a table but is available for use is reported as REFERENCED BUT INDICATED FREE.
In the orphan file, the ORPHAN pages are listed with the previous and next page pointers as well as the page type. REFERENCED BUT INDICATED FREE pages are listed as a page number followed by the message text.
The orphan list file should be retained so that you can compare these results with those generated by a future run.
If your report shows ORPHAN pages or REFERENCED BUT INDICATED FREE pages, stop using the segment and contact TIBCO Support immediately. If processing continues on the segment, duplicate page errors can occur.
REFLOG.ptr
The reference log lists each referenced page in the segment. The log identifies the table, forward and backward chain pointers, and parent information. This information helps to identify how the page fits in the Pagestore.
The information in the reference log should be retained. It is intended to help the TIBCO Support identify problems if they should arise.
Sample Audit Report
The following illustrates a compressed version of an audit report for hrnbrptr:

 
hrnbrptr POINTER VALIDATION FOR SEGMENT 001 DATE 2007 MAR 06 TIME 02:18
From Archive: seg01.bak
TABLE/SIX NAME I/1 D/B/R H/G S/6 OTHERS TOTAL ERRORS
ARCHIVE RECORDS - Read: 0000188; Accepted: 0000188
**** SYSTEM **** 000001 000001 000000 000000 000000 000002 000000
######SEC1
FLD02SKEY08_LAST 000000 000000 000000 000000 000000 000000 000000
PKEY02SKEY01 000000 000000 000000 000000 000000 000000 000000
PKEY03SKEY02 000000 000000 000000 000000 000000 000000 000000
PKEY06SKEY03 000000 000000 000000 000000 000000 000000 000000
PKEY07SKEY04 000000 000000 000000 000000 000000 000000 000000
PKEY09SKEY05 000000 000000 000000 000000 000000 000000 000000
PKEY11SKEY06 000000 000000 000000 000000 000000 000000 000000
PKEY14SKEY07 000000 000000 000000 000000 000000 000000 000000
######SEC1 000000 000009 000000 000000 000001 000010 000000
@RULESLIBRARY 000000 000001 000000 000000 000000 000001 000000
AAAAAASEC1
FLD02SKEY08_LAST 000000 000000 000000 000000 000000 000000 000000
PKEY02SKEY01 000000 000000 000000 000000 000000 000000 000000
PKEY03SKEY02 000000 000000 000000 000000 000000 000000 000000
PKEY06SKEY03 000000 000000 000000 000000 000000 000000 000000
PKEY07SKEY04 000000 000000 000000 000000 000000 000000 000000
PKEY09SKEY05 000000 000000 000000 000000 000000 000000 000000
PKEY11SKEY06 000000 000000 000000 000000 000000 000000 000000
PKEY14SKEY07 000000 000000 000000 000000 000000 000000 000000
AAAAAASEC1 000000 000009 000000 000000 000001 000010 000000
ABIGC 000000 000001 000000 000000 000000 000001 000000
****************
GRAND TOTAL 000002 000150 000004 000000 000007 000163 000000

 
Indented entries, such as those following table AAAAAASEC1, indicate a secondary index with that secondary key field name.
Return Codes
To identify validation errors more easily, the return code is set according to the most severe error encountered:
A non-recoverable error results in an abnormal termination. Refer to TIBCO Object Service Broker Messages With Identifiers for messages issued by this utility.
When running Batch Pointer Check as part of a batch job, have the job notify the TIBCO Object Service Broker administrator when a non-zero return code is issued. The TIBCO Object Service Broker administrator should then check the ERRLOG.ptr file to find out why the job failed.

Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved