Ap A. ALLBASE/Replicate Messages [ ALLBASE/Replicate User's Guide ] MPE/iX 5.0 Documentation
ALLBASE/Replicate User's Guide
Appendix A ALLBASE/Replicate Messages
Error and warning information is returned in the form of numbered
messages. In ISQL, messages are returned on the screen. In an
application program, access messages with the SQLEXPLAIN statement.
--------------------------------------------------------------
---------------------------------------------------------------
1080 MESSAGE Duplicate DEFAULT PARTITION clause defined.
(DBERR 1080)
CAUSE More than one DEFAULT PARTITION clause appears in
the START DBE NEW or START DBE NEWLOG clause.
ACTION Check the specified START DBE statement.
---------------------------------------------------------------
1081 MESSAGE Duplicate MAXPARTITIONS clause defined. (DBERR
1081)
CAUSE The keyword MAXPARTITIONS appears more than once in
the START DBE NEW or START DBE NEWLOG clause.
ACTION Check the specified START DBE statement.
---------------------------------------------------------------
1082 MESSAGE AUDIT LOG specified multiple times. (DBERR 1082)
CAUSE The AUDIT LOG clause is specified more than once in
the START DBE NEW or START DBE NEWLOG statement.
ACTION Check the specified START DBE statement.
---------------------------------------------------------------
1084 MESSAGE Duplicate AUDIT NAME clause defined. (DBERR
1084)
CAUSE The AUDIT NAME clause appears more than once in the
START DBE NEW or START DBE NEWLOG syntax.
ACTION Check the specified START DBE statement.
---------------------------------------------------------------
1085 MESSAGE AUDIT NAME too long. (DBERR 1085)
CAUSE An AUDIT NAME longer than 8 bytes was specified.
ACTION Check the specified START DBE statement.
---------------------------------------------------------------
1088 MESSAGE Duplicate AUDIT ELEMENT specified. (DBERR 1088)
CAUSE An AUDIT ELEMENT was specified more than once in
the AUDIT ELEMENTS clause of the START DBE NEW or
START DBE NEWLOG statement.
ACTION Check the specified START DBE statement.
---------------------------------------------------------------
1089 MESSAGE Duplicate COMMENT PARTITION clause defined.
(DBERR 1089)
CAUSE More than one COMMENT PARTITION clause appears in
the START DBE NEW or START DBE NEWLOG statement.
ACTION Check the specified START DBE statement.
---------------------------------------------------------------
1109 MESSAGE ! PARTITION value must be non-zero. (DBERR 1109)
CAUSE A DEFAULT, MAXPARTITIONS, or COMMENT partition
value of zero was specified in the START DBE NEW or
START DBE NEWLOG statement.
ACTION Check the specified START DBE statement and replace
the zero in the named partition value with a
non-zero value.
---------------------------------------------------------------
2060 MESSAGE Audit logging already disabled. (DBWARN 2060)
CAUSE A redundant DISABLE AUDIT LOGGING statement was
specified.
ACTION Check the sequence of operations.
---------------------------------------------------------------
2061 MESSAGE Audit logging already enabled. (DBWARN 2061)
CAUSE A redundant ENABLE AUDIT LOGGING statement was
specified.
ACTION Check the sequence of operations.
---------------------------------------------------------------
2062 MESSAGE Partition not found. (DBWARN 2062)
CAUSE A partition requested in a get_scr call was not
found. For a get_scr with latest option call, an
initial SCR slot was inserted.
ACTION If the partition is only wanted when commits are
present, then remove the partition from those
requested.
---------------------------------------------------------------
2063 MESSAGE Some partitions (but not all) failed on
Open_Log_Scan. (DBWARN 2063)
CAUSE A multipartition open_log_scan was requested, at
least one of those partitions succeeded, and at
least one of them failed. The return parameters
contain details of successful and unsuccessful
partitions. The end result is that a scan has been
successfully opened on the successful partitions.
ACTION Check the resynchronization status array. Also,
depending on how critical the failed partitions
are, the application may want to take appropriate
action.
---------------------------------------------------------------
2790 MESSAGE CANNOT use DROP PARTITION on DEFAULT partition.
(DBERR 2790)
CAUSE An attempt was made to drop the DEFAULT partition.
ACTION This partition cannot be dropped. Its partition
number can be changed with the START DBE NEWLOG
statement.
---------------------------------------------------------------
2791 MESSAGE Cannot CREATE PARTITION !. (DBERR 2791)
CAUSE An attempt was made to create a partition named
NONE or DEFAULT. This partition name cannot be used
since it refers to the nonexistent partition or to
the DEFAULT partition created by the START DBE NEW
statement.
ACTION Check the CREATE PARTITION statement for invalid
NONE or DEFAULT partition.
---------------------------------------------------------------
2792 MESSAGE Comment text for LOG COMMENT must have data type
CHAR or VARCHAR. (DBERR 2792)
CAUSE The value for a log comment was not a character
value.
ACTION Check the type of the value and be sure it is CHAR
or VARCHAR.
---------------------------------------------------------------
2793 MESSAGE Cannot LOG COMMENT when AUDIT LOG not enabled.
(DBERR 2793)
CAUSE A LOG COMMENT statement was specified in a
DBEnvironment without audit logging or with audit
logging disabled.
ACTION Check the audit settings and enable comment
logging.
---------------------------------------------------------------
2794 MESSAGE Cannot open log scan on AUDIT CHECKPOINT only
DBEnvironment. (DBERR 2794)
CAUSE You tried to open a log scan on an audit
DBEnvironment that has only the CHECKPOINT audit
element chosen.
ACTION This operation cannot be performed.
---------------------------------------------------------------
2806 MESSAGE Comment text cannot be NULL for LOG COMMENT.
(DBERR 2806)
CAUSE The value passed to a LOG COMMENT was NULL.
ACTION Check the value and reissue the statement with a
non-null value.
---------------------------------------------------------------
2807 MESSAGE Cannot drop a non-empty partition. (DBERR 2807)
CAUSE A DROP PARTITION was issued on a partition that
currently contains tables.
ACTION Remove the tables from the partition with the ALTER
TABLE SET PARTITION statement and reissue the
statement.
---------------------------------------------------------------
2808 MESSAGE Partition ! already exists. (DBERR 2808)
CAUSE A CREATE PARTITION attempted to create a partition
with a name of a partition that is already defined.
ACTION Reissue the CREATE PARTITION statement with another
partition name or issue a DROP PARTITION to remove
the existing partition and then reissue the CREATE
PARTITION statement.
---------------------------------------------------------------
2809 MESSAGE Partition ! not found. (DBERR 2809)
CAUSE The partition name specified by a DROP PARTITION,
ALTER TABLE SET PARTITION, or CREATE TABLE
statement does not exist.
ACTION Check the partition name against the system catalog
table SYSTEM.PARTITION and reissue the ALTER TABLE
SET PARTITION statement.
---------------------------------------------------------------
2810 MESSAGE Audit logging not set for DBE. (DBERR 2810)
CAUSE A ENABLE AUDIT LOGGING statement was issued for the
session, but audit logging is turned off for the
DBEnvironment.
ACTION Check the correctness of operations. Either audit
logging for the DBEnvironment should be turned on
(this may be done through the START DBE NEWLOG
statement) or the ENABLE AUDIT LOGGING statement is
not valid.
---------------------------------------------------------------
2811 MESSAGE Insufficient size specified for the new SCR.
(DBERR 2811)
CAUSE It is possible to change the SCR array size through
the START DBE NEWLOG statement MAXPARTITIONS
clause. The product then restores the current SCR
slots into this new log file (the current SCR value
has an image stored in the DBECon file). If the
new size specified is not large enough to contain
all the occupied slots from the old SCR, this error
is generated.
ACTION Reissue the START DBE NEWLOG statement with the
appropriate SCR array size.
---------------------------------------------------------------
2812 MESSAGE There are still some active transactions in the
old SCR. (DBERR 2812)
CAUSE You attempted a START DBE NEWLOG, and the old SCR
(out of the DBECon file) still contains some active
transactions. This can only happen if the database
was not shut down in a manner which allowed all
operations to be properly terminated.
ACTION Connect to the database and release it. This
allows ALLBASE/SQL to terminate any uncommitted
transactions. Then reissue the START DBE NEWLOG
statement.
---------------------------------------------------------------
2813 MESSAGE More than one slot found for the same partition.
(DBERR 2813)
CAUSE Open_log_scan has received an array of SCR slots
where some partition has multiple commit records.
ACTION Retrieve a set of slots from the node performing
soft resynchronization by issuing a get_scr
statement with the latest option. Then retry the
open log scan call.
---------------------------------------------------------------
2814 MESSAGE Open_Log_Scan failed on ALL specified partition.
(DBERR 2814)
CAUSE None of the specified partitions can be soft
resynchronized.
ACTION Check the resynchronization status to see whether a
matching SCR can be found in the master log for the
SCR in the slave for each specified partition. If
not, hard resynchronization may need to be
performed.
---------------------------------------------------------------
2815 MESSAGE Hard resynch record encountered in partition !.
Scan aborted. (DBERR 2815)
CAUSE A hard resynchronization record was encountered by
an open scan. This implies that a scan was not
aborted on a partition that was recently hard
resynchronized.
ACTION Hard resynchronize the partition as necessary
across all soft resynchronizing nodes and reopen
scan.
---------------------------------------------------------------
2816 MESSAGE Open_Log_Scan could not reserve log for
partitions found. (DBERR 2816)
CAUSE The starting point for one or more partitions was
overwritten by a direct update transaction. This
happens when a forward scan does not lock the
starting point of the attempted search.
ACTION The oldest partition must be hard resynchronized,
or soft resynchronized from a different system.
Then, attempt the open log scan again.
---------------------------------------------------------------
2817 MESSAGE Invalid audit log record found. (DBERR 2817)
CAUSE The log record being applied in an Apply_Log was
not a valid audit log record.
ACTION The log records being applied in an apply_log call
must have come from an transmit_log from a master
DBEnvironment. Check the application to make sure
that the log records from the transmit_log are
being passed appropriately to the apply_log.
---------------------------------------------------------------
2818 MESSAGE Apply_Log cannot find the tuple to be
modified/deleted. (DBERR 2818)
CAUSE This is a serious problem. It indicates that a
direct UPDATE or DELETE operation succeeded on a
master, but the slave cannot find the corresponding
tuple.
ACTION First try to retransmit and reapply the transaction
in case of transmission errors. If this fails,
close the log scan, reopen it with one less
partition (the one where this failure occurred),
and perform a hard resynchronization on the failed
partition.
---------------------------------------------------------------
2819 MESSAGE Attempting to apply a log record while audit is
not enabled. (DBERR 2819)
CAUSE The architecture of apply_log requires audit to be
turned on in the slave DBEnvironment.
ACTION Use the SQLUtil SHOWDBE command to check the
startup parameters, and turn audit on through a
START DBE NEWLOG if necessary.
---------------------------------------------------------------
2820 MESSAGE Audit parameters not set. (DBERR 2820)
CAUSE An attempt was made to use audit logging without
setting all of the required parameters.
ACTION Use the SQLUtil SHOWDBE command to ensure that the
AUDIT NAME, DEFAULT PARTITION, and MAXPARTITIONS
are all set in the DBEnvironment. Set them with a
START DBE NEWLOG statement, if necessary.
---------------------------------------------------------------
2821 MESSAGE Active transactions found on partition !. (DBERR
2821)
CAUSE This error is returned when an attempt is made to
hard resynchronize a partition (through modify_scr)
that currently has transactions active. This error
can also occur if the SCR array (for update) or
the partition array (for delete) contains
partition numbers that you did not mean to hard
resynchronize.
ACTION Check to make sure the SCR array (or partition
array) contains only partition numbers that are
being hard resynchronized. If so, then make sure
the partition being hard resynchronized is quiesced
and no transactions are active on that partition
before calling modify_scr.
---------------------------------------------------------------
2822 MESSAGE Duplicate partition instance found in SCR array.
(DBERR 2822)
CAUSE This error occurs when the SCR array passed to
modify_scr contains two rows with the same audit
name and partition number combination.
ACTION Check the SCR array for the duplicate rows. If
this error occurs, it may be advisable to check the
SCR information with what was returned by get_scr
(using mode 2 - hard resynchronization).
---------------------------------------------------------------
2823 MESSAGE Open log scan failed due to missing log file
(sequence #!). (DBERR 2823)
CAUSE This can only occur when a log file has been purged
from the system which was needed during the
open_log_scan call. Unfortunately this error can
only occur when the open scan is almost complete
and thus makes it extremely difficult to back out.
This can only happen if SQLUtil is used to purge
the log files from the DBEnvironment.
ACTION Attempt to reopen the scan using open_log_scan and
determine which partitions can still be soft
resynchronized and which need to be hard
resynchronized (because the log files have been
purged).
---------------------------------------------------------------
2824 MESSAGE More than one tuple qualified for key column
search. (DBERR 2824)
CAUSE This occurs when apply_log found more than one
tuple when using a key column search. Since more
than one tuple qualified, it would be impossible
for apply_log to determine which one to update or
delete. This error can only be seen if the tuple
cannot be found by using a full column search.
This error is usually caused by using concurrent
updates on multiple sites, and usually requires an
application program to determine how to resolve the
conflict.
ACTION The best approach is to audit the log records for
the transaction and determine where the two systems
diverge. This usually requires your intervention
(or a rather sophisticated error resolution
application). To resolve this problem, it may be
necessary to temporarily disable audit logging
while fixing the DBEnvironment.
---------------------------------------------------------------
10040 MESSAGE No more audit records to transmit. (DBWARN
10040)
CAUSE A transmit_log read operation encountered the end
of log. No more log records can be transmitted
beyond this point until some more are written.
ACTION The best thing to do for the application would be
to wait for a certain period and then retry.
---------------------------------------------------------------
10041 MESSAGE Invalid MODE specified. (DBERR 10041)
CAUSE The mode specification is invalid.
ACTION Check the specified mode against the correct mode
for a particular use of a procedure.
---------------------------------------------------------------
10042 MESSAGE Invalid FLAG specified. (DBERR 10042)
CAUSE The flag specified in the Arglist is invalid.
ACTION Check valid flag values.
---------------------------------------------------------------
10043 MESSAGE Invalid log scan_id passed. (DBERR 10043)
CAUSE This error can be seen by either transmit_log or
close_log_scan when the scan_id specified in the
arglist does not match that of a valid log scan
currently open by this process.
ACTION Check the scan_id specified in the arglist against
the scan_ids previously returned by open_log_scan.
---------------------------------------------------------------
10044 MESSAGE Invalid log buffer size. (DBERR 10044)
CAUSE The buffer_size specified in the arglist is not
large enough to contain even the smallest audit
record. This error can be encountered by
transmit_log and apply_log.
ACTION Check the buffer_size field in the arglist to
determine if it has been properly initialized. If
it has been, then a larger buffer should be defined
since it is too small to receive any audit records.
---------------------------------------------------------------
10045 MESSAGE Invalid value of used log buffer space. (DBERR
10045)
CAUSE Apply_log has determined that the size_used
specified in the arglist is invalid. This
indicates that either the size_used is smaller than
the smallest audit record possible, or that the
size_used is greater than the number of bytes
reserved in the log buffer (as indicated by the
buffer_size field in the arglist).
ACTION Check to make sure the size_used field is less than
or equal to the buffer_size field in the arglist.
The size_used being passed to apply_log should also
be checked against the value that was returned by
transmit_log.
---------------------------------------------------------------
10046 MESSAGE Invalid buffer offset passed. (DBERR 10046)
CAUSE Apply_log has determined that the buffer_offset
field specified in the arglist does not point to a
valid position in the log buffer. This occurs if
the buffer_offset contains a negative value, or a
number greater than the size_used field specified
in the arglist.
ACTION Check the application to see what buffer_offset
value is specified.
---------------------------------------------------------------
10047 MESSAGE An audit record in the log buffer has an invalid
record length specified. (DBERR (10047)
CAUSE The apply_log procedure does consistency checking
on the lengths (among other parameters) of records
encountered in the log buffer. This check is not
exhaustive, however:
* If the current position in the buffer plus
the length of the next log record takes it
beyond the end of the used buffer space,
apply_log generates this error.
* If the operation code of the next log record
allows predetermination of its correct
length, the specified record length is
checked against this value. This is only
possible on the BEGIN WORK, so that is the
only operation code checked.
ACTION Check the apply_log parameters set up by the
application.
---------------------------------------------------------------
10048 MESSAGE A BEGIN WORK audit record encountered out of
sequence. (DBERR 10048)
CAUSE This error is generated when apply_log encounters
the BEGIN WORK audit record for a new transaction
while a previous apply_log transaction is still in
progress. An example is when an application starts
applying transaction T1 (which spans multiple log
buffers) and tries to apply transaction T2 before
applying the COMMIT WORK audit record for T1. This
error is usually encountered in cases where a
single apply_log slave process is applying
transactions received from multiple open scans (in
which case the application needs to be checked).
This error may also be generated when a
transmission error occurs because the end of the
transaction (COMMIT WORK) is lost.
ACTION Check the application. If the application is
handling transactions (especially ones that span
multiple log buffers) correctly then try
retransmission of the transactions being applied.
---------------------------------------------------------------
10049 MESSAGE No apply audit records transaction currently
active. (DBERR 10049)
CAUSE Apply_Log encountered an audit record that is not a
BEGIN WORK record, and the BEGIN WORK audit record
has not been processed for the transaction. This
error can occur if the apply_log transaction is
aborted and you try to continue applying log
records without starting at the beginning of the
transaction. This error may also be generated when
a transmission error occurs because the beginning
of the transaction (BEGIN WORK) is lost.
ACTION Check the application architecture to determine if
transactions are correctly reapplied (especially in
the case of transactions which span multiple log
buffers). If the architecture seems correct, then
the application should first attempt to retransmit
the transaction(s) and apply them. If the
condition persists, then close and reopen the log
scan (in case the problem was due to transmission
from ALLBASE/SQL to the transmit_log process).
---------------------------------------------------------------
10050 MESSAGE Audit records applied did not match transaction
length. (DBERR (10050)
CAUSE Apply_log determined that applying the audit record
leads to a mismatch between the number of bytes
applied for the transaction and the length of the
transaction specified in the BEGIN WORK audit
record. For all records, except a COMMIT WORK
audit record, this indicates that the record length
plus the number of bytes previously applied is
greater than the transaction length specified in
the BEGIN WORK record. For COMMIT WORK records,
this error indicates that the length of the COMMIT
WORK record plus the number of bytes previously
applied does not exactly equal the required
transaction length. This is usually encountered
when part of the transaction is lost (due to
transmission errors, buffering schemes, and so
forth).
ACTION Check the application design to make sure complete
transactions are being buffered and transmitted
correctly. For most practical purposes the
application should follow the same actions
specified for DBERR 10049 mentioned above.
---------------------------------------------------------------
10051 MESSAGE Invalid number of partitions specified. (DBERR
(10051)
CAUSE Get_scr or modify_scr encountered an invalid
num_partitions in the arglist. The acceptable
values for this field are somewhat dependent on the
procedure being called in conjunction with the mode
specified.
ACTION Check the num_partitions specified in the arglist
against the external specifications.
---------------------------------------------------------------
10052 MESSAGE Invalid partition number encountered. (DBERR
(10052)
CAUSE Get_scr or modify_scr encountered an invalid
partition number passed to it. For get_scr, the
partition number in error must be in the array
pointed to by the partition_array field in the
arglist. For modify_scr, the partition number must
be in the SCR array for mode 1 (update SCR), or the
partition array for mode 2 (delete SCR). All
partition numbers are required to be positive,
non-zero numbers.
ACTION Check the partition numbers specified by get_scr or
modify_scr in the application.
---------------------------------------------------------------
10053 MESSAGE Invalid number of SCR slots specified. (DBERR
10053)
CAUSE This error is returned when an invalid num_SCR is
specified in the arglist. In most cases this is
encountered when a negative value has been
specified. In the case of get_scr using mode 1
(soft resynchronization), this error can also be
encountered if the num_SCR value is less than the
value of num_partitions.
ACTION Check the parameters specified by the application.
---------------------------------------------------------------
10054 MESSAGE Invalid specification for number of SCR slots
used. (DBERR 10054)
CAUSE This error can be generated by open_log_scan or
modify_scr when the num_SCR_used field specified in
the arglist is invalid. For open_log_scan and
modify_scr (mode 1 only), num_SCR_used must be
within the range from 1 to num_SCR or this error is
returned.
ACTION Check the parameters specified by open_log_scan or
modify_scr in the application.
---------------------------------------------------------------
10055 MESSAGE Invalid specification for maximum number of log
files. (DBERR 10055)
CAUSE An invalid number of max_logfiles was specified for
the backward scan during open_log_scan. This
parameter can be either -1 (the default) or a
non-zero positive number.
ACTION Check the parameters specified by open_log_scan in
the application.
---------------------------------------------------------------
10056 MESSAGE Could not allocate memory space needed for
procedure. (DBERR 10056)
CAUSE Currently, only open_log_scan can encounter this
error while allocating control blocks needed for
opened scans. This error states that the routine
is unable to allocate the necessary memory space to
open the log scan. If multiple scans are being
opened on the same DBEnvironment, each opened scan
receives a new set of control blocks (which are
allocated in memory). This problem can result from
having many scans opened (instead of combining them
into one open scan).
ACTION Determine the amount of memory space being used by
the application. If an excessive amount is being
used, the application should be modified to use
less so log scans can be successfully opened. If
the memory allocation has previously worked on the
system, please check the following:
* The number of users on the system.
* The global swap space utilization plus
memory usage for individual user processes
(with MONITOR).
If numerous scans are open on the same
DBEnvironment, this problem can possibly be
alleviated if the open scans are combined into one
open scan (and thus only one set of scan control
blocks).
---------------------------------------------------------------
10074 MESSAGE Invalid offset for last record passed. (DBERR
10074)
CAUSE This can be returned by audit_log when the
last_rec_offset field contains an invalid value.
ACTION Check the application to determine the value being
passed by audit_log and check whether it is within
the domain of the log buffer space.
---------------------------------------------------------------
10075 MESSAGE Invalid number of records in column array.
(DBERROR 10075)
CAUSE The num_columns field in the Arglist has been
initialized to a negative number.
ACTION Check the application program to determine whether
this field is being initialized properly.
---------------------------------------------------------------
10076 MESSAGE Invalid number of records in update column array.
(DBERROR 10076)
CAUSE The num_upd_cols field in the Arglist has been
initialized to a negative number.
ACTION Check the application program to determine whether
this field is being initialized properly.
---------------------------------------------------------------
10077 MESSAGE Insufficient space in log buffer to return next
log record. (DBWARN 10077)
CAUSE Transmit_log is unable to transmit the log record
into the log buffer because there is insufficient
space to hold it. This warning can only be
encountered if the first record to transmit does
not fit into the log buffer.
ACTION Allocate a larger log buffer space with the START
DBE NEW or START DBE NEWLOG statement and call
transmit_log again.
---------------------------------------------------------------
14200 MESSAGE New partition instance found, and the current SCR
does not have any more slots. (DBERR 14200)
CAUSE This typically happens on a system with a large
number of partition numbers. Further, if this
system has switched master-slave roles with a
number of other systems, it has a large number of
non-empty partitions.
ACTION The transaction is aborted by ALLBASE/SQL but the
application needs to terminate at this
point. Issue a START DBE NEWLOG with a
larger MAXPARTITIONS and reestablish soft
resynchronization connection with the master.
---------------------------------------------------------------
14201 MESSAGE Multiple database environments updated in the
same transaction. (DBERR 14201)
CAUSE This can happen if a single transaction has either
of the following:
* A mixture of apply_log records and direct
updates.
* A mixture of apply_log records from multiple
masters.
The product architecture does not permit that.
ACTION Check the application design.
---------------------------------------------------------------
MPE/iX 5.0 Documentation