Removing area from OE Replication enabled database

Posted by Dmitri Levin on 07-Nov-2017 16:27

I can add an area to OE Replication enabled database.

prostrct addonline on Target. Then prostrct addonline on Source.

It does not look I can remove area from OE Replication enabled database.

I can truncate bi and remove area from Source, but there is no way to remove it from Target w/o breaking replication of course.

# prostrct remove /Target/sports d "Test Area"
You must use the proutil truncate bi command before doing a remove. (6953)

# proutil /Target/sports -C truncate bi
OpenEdge Release 11.7.1 as of Wed Jun 14 19:00:30 EDT 2017

Access to database /Target/sports not allowed. The database is enabled for site replication but either replication is not running, or this process is not authorized to open a replication enabled database. (10356)

Catch 22 :)

And if I remove an area from Source then replication is broken.

Why I am asking? Because I do that with Oracle all the time. Replication (DataGuard) does not mind that.

Posted by Jeff Owen on 09-Nov-2017 08:10

Hi George,
 
Starting in 11.7.0, builddb does not disable replication.
 
-jeff
 

Posted by George Potemkin on 09-Nov-2017 08:17

Hi Jeff,

Is builddb (official) solution to remove an area from replication enabled database? Does it have any pitfalls?

All Replies

Posted by mollyfed on 07-Nov-2017 16:45

Not sure the question here. If it is: Am I right? Then, yes you are. Truncate Area is on the list of not allowed utilities (knowledgebase.progress.com/.../P68311). I would suggest your next step is to suggest it as an enhancement in the idea's area (knowledgebase.progress.com/.../P11255).

Posted by Dmitri Levin on 08-Nov-2017 11:15

That was a statement.

There is work around however -- just leave the unused areas as is.

They will be like stumps in my backyard :)

I believe we can have up to 1000 areas in OE, so a couple of unused areas will not hurt much.

Posted by George Potemkin on 08-Nov-2017 12:42

There is another way to remove the areas from a database:

proutil -C builddb

Unfortunately this utility will disable replication:

What effect does builddb have on a replication enabled database?

knowledgebase.progress.com/.../P126228

Posted by Jeff Owen on 09-Nov-2017 08:10

Hi George,
 
Starting in 11.7.0, builddb does not disable replication.
 
-jeff
 

Posted by George Potemkin on 09-Nov-2017 08:17

Hi Jeff,

Is builddb (official) solution to remove an area from replication enabled database? Does it have any pitfalls?

Posted by Jeff Owen on 09-Nov-2017 08:26

Hi George,
 
builddb is not an official (supported) solution to remove an area from a repl enabled  db.
 
-jeff
 

Posted by George Potemkin on 09-Nov-2017 08:37

But it should work, should't it?

Posted by Dmitri Levin on 09-Nov-2017 12:47

Thank you Jeff and George. That method works fine. Tested with sports on 11.7

On Target:

1. prostrct list dbname

2. edit dbname.st -- remove the line(s) with area that is going to be deleted

3. mv dbname.db dbname_old.db

4. prostrct builddb dbname

5. rm the area .d(s)

Now on Source

1. proutil dbname -C truncate bi

2. prostrct remove dbname d "Area name"

That is it. Start Target and then Source. Statuses are 3101 and 1101 accordingly, as they suppose to be.

This thread is closed