Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> Re: logical standby

Re: logical standby

From: Mark Bole <>
Date: Wed, 14 Sep 2005 07:20:26 -0700
Message-ID: <>

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 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

Received on Wed Sep 14 2005 - 09:22:30 CDT

Original text of this message