Kbase P122938: Database won't start after a transition to a normal database
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  22/12/2008 |
|
Status: Verified
SYMPTOM(s):
Database won't start after a transition to a normal database
Transition of the database has completed successfully
Using 10.1A02
Startup of the database gpfs after transition
Coredump when starting a database
There are no errors in the database lg file
Unable to start a database which has been transitioned to a normal database
database.lk file is present
Single user session works fine
truncate bi works fine
Backup of the database works without any error
FACT(s) (Environment):
OpenEdge Replication 10.1A
All Supported Operating Systems
OpenEdge Replication 10.1A02 32-bit Service Pack
OpenEdge Replication 10.1A02 64-bit Service Pack
CAUSE:
BUG# OE00148068
CAUSE:
Transition does not disable the OpenEdge Replication feature after it transitions the database to a normal database. As a result of that, a message is posted to database.lg which should not have been posted. Since the message is logged as an uninitialized pointer, the session coredumps/gpfs. The message has been introduced in OpenEdge 10.1A02
FIX:
To make a database accessible:
1) add 2 AI files to a database: "prostrct add dbname addai.st"
2) mark the dbname as backed up:"rfutil dbname -C mark backedup"
3) enable AI: "rfutil dbname -C aimage begin"
4) enable database as a replication source: "proutil dbname -C enablesitereplication source"
5) disable database as a replication source: "proutil dbname -C disablesitereplication source" and confirm Y (now the OE Replication feature will get fully disabled)
if After-imaging is not required for this database
6) disable AI: rfutil dbname -C aimage end
7) remove AI extents added in step 1: "prostrct remove dbname ai"
8) proserve dbname ....
To avoid the problem entirely - preferred method is to upgrade to OpenEdge 10.1C.
For the OpenEdge 10.1A02++ release, do not use "dsrutil dbname -C transition" in order to transition a target database to a normal database. Use "proutil/dsrutil dbname -C disablesitereplication target" instead. This is another method that will result in the same objective: disable replication changing the database to a normal or non-replication-enabled database.
The replication failback with reverse method is not anyhow affected by this issue, ie if if the database is transitioned to a source or target database.