Re: logical standby

  • From: Mark Bole <makbo@xxxxxxxxxxx>
  • To: MATT.ADAMS@xxxxxx
  • Date: Wed, 14 Sep 2005 07:20:26 -0700

Adams, Matthew (GE Consumer & Industrial) wrote:

I'm in the process of setting up a logical standby databases that will only have a small portion of the tables in the primary database. (due to disk space constraints).

Oracle 9.2.0.5 on Solaris 8

This is my general plan of attack.


1) create a new empty DB to act as the standby 2) create that tablesapces that will contain the objects we need. 3) run DDL to create empty copies of tables/indexes we want 4) reboot primary to turn on parameters needed for Dataguard 5) shutdown logical standby and restart it, identifying it as a logical standby 6) run the DBMS_LOGSTDBY.INSTANTIATE_TABLE routine for all tables we want

I would appreciate comments on the feasiblity of this approach from anyone that 
has tried it before.


I'm pretty sure that will not work. To have a logical standby you need to build the logminer dictionary on the primary (DBMS_LOGSTDBY.BUILD) and have it shipped to the standby via SQL Apply (archived redo logs). The standby must already exist as a hot backup of the primary.


Two choices:

1) stick with your original plan, but call it Streams-based replication of individual tables and implement it as such.

2) build a true logical standby (assuming you can temporarily get enough disk space), then use the DBMS_LOGSTDBY.SKIP procedure to skip the schemas and tables you don't want, and bypass the guard temporarily to drop all the extra stuff (including tablespaces) that you don't have room for.

I have done something very similar to (2) on the same platform as yours and am confident that after a few practice runs, it can work for you.

--
Mark Bole
http://www.bincomputing.com



--
//www.freelists.org/webpage/oracle-l
  • References:

Other related posts: