Consultor Eletrônico



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.