Salesforce

AI archiver fails to empty old FULL extents after replication has been disabled with errors (3775), (3776), and (12288)

« Go Back

Information

 
TitleAI archiver fails to empty old FULL extents after replication has been disabled with errors (3775), (3776), and (12288)
URL NameP149983
Article Number000140801
EnvironmentProduct: OpenEdge
Version: 10.1x, 11.x
OS: All supported platforms
Question/Problem Description
AI archiver fails to empty old FULL extents after replication has been disabled online with errors (3775), (3776), and (12288)
AI archiver fails to empty old LOCKED extents after replication has been disabled online with DSRUTIL
AI extents remain FULL even when aiarchiver is running
Steps to Reproduce
Clarifying Information
OpenEdge Replication Server process was terminated online with dsrutil -C terminate server
OpenEdge Replication was disabled online with  dsrutil -C disablesitereplication source
The AI Archiver archives and empties new FULL extents.
AI extents switched after replication was disabled online are archived.
Error MessageCan't switch to after-image extent it is full. (3775)
Backup ai extent and mark it as empty. (3776)
There are no available EMPTY AI extents. Database activity is stalled until an AI extent becomes available. (12288)
Defect NumberDefect PSC00217053 / OE00188358
Enhancement Number
Cause
The ai archiver is only emptying archived ai extents while the database was enabled for Replication.  When Replication is disabled at runtime, the existing FULL extents (previously LOCKED ai extents when replication was enabled) are never be emptied, only the next new FULL ai extents. 
Resolution
Upgrade to OpenEdge 10.2B05, 11.0.0 or later where the aiarchiver will empty archived extents pre the disablement of replication against the database.

For previous versions, disable replication offline with: PROUTIL -C disablesitereplication source
 
Workaround
To resolve the issue of FULL extents not being emptied:

Online Option 1: Use aiarchive extent to explicitly archive each full extent

1. Stop the AIMGT deamon online:
$   rfutil <dbname> -C aiarchiver end

2. Take a list of all current FULL AI extents:
$   rfutil <dbname> -C aimage list | egrep -i "Status|Path"

3. Manually archive each FULL AI extent:
$   rfutil <dbname> -C aiarchive extent <path>/<dbname>.a1 <FULL/ARCHIVEPATH>/<dbname>.a1

4. Check the current AI extent status (all FULL extents will be marked EMPTY after being manually archived)
$   rfutil <dbname> -C aimage list | egrep -i "Status|Path"

5. Restart the AIMGT deamon:
$ _mprshut <dbname> -C aimgt -aiarcdir <FULL/ARCHIVEPATH> -aiarcinterval n

Online Option 2: Disable the Aiarchiver

1.  Disable the aiarchiver online:
$   rfutil <dbname> -C aiarchiver disable

2.  Take an OS copy of each FULL extent then empty the full extents manually, run the following command repeatedly until there are no more FULL extents:
$  rfutil <dbname> -C aimage empty extent

Verify the current AI extent status. 
$   rfutil <dbname> -C aimage list | egrep -i "Status|Path"

3a. Prior to OpenEdge 10.1B the archiving and emptying of AI extents will need to be manually managed until such a time that the database can be shutdown and the AI Archiver re-enabled offline.
$   rfutil <dbname> -C aiarchiver enable

3b. OpenEdge Release 10.1B introduced after-imaging (AI) enablement online including the enablement of the AI Archiver:
$   probkup online <dbname> <backupdevicename> enableaiarchiver -aiarcdir <dirlist> -aiarcinterval n [-aiarcdircreate]

Offline: Disable the AIMGT feature

1.   Disable the AIMGT Feature
$   proutil dbname -C aiarchiver disable
2.   OS Copy AI extents to the aiarchive directory (-aiarcdir)
3.   Empty all FULL AI extents
$   rfutil dbname -C aimage list | egrep -i "Status|Path"
Run the following command for each Full extent:
$   rfutil dbname -C aimage empty
4.     Re-enable the AIMGT Feature
$   rfutil dbname -C aiarchiver enable
5.   Verify that the archive directory (-aiarcdir) is accessible and has sufficient space available then restart the database
 
Notes
Keyword Phrase
Last Modified Date9/15/2020 8:10 AM

Powered by