Skip to Main Content

Breadcrumb

Question and Answer

Tom Kyte

Thanks for the question.

Asked: May 09, 2013 - 11:01 am UTC

Last updated: November 01, 2013 - 8:02 pm UTC

Version: 11gR2

Viewed 10K+ times! This question is

You Asked

Tom,
Is there a way to bulk load data with nologging option (so that it doesnt hit the redo) and at the same time not breaking data guard physical standby functionality.

I understand DG is based on redo transport but is there a way to use the best of both worlds ?
In such a case as data loading with nologging, what would you recommend so as to not break DG functionality?
thanks

and Tom said...

You would have to manually reconcile this situation by backing up and restoring the data file onto the standby site:

http://docs.oracle.com/cd/E11882_01/server.112/e25608/scenarios.htm#i1015738

Rating

  (1 rating)

Is this answer out of date? If it is, please let us know via a Comment

Comments

In other words

Khalid, October 17, 2013 - 4:24 am UTC

So, If I were to use Dataguard, and I do
1) "ALTER DATABASE NO FORCE LOGGING;"
2) Then I create a table T in NoLogging mode
3) Do a very large insert /*+ APPEND */ into T
4) Put the database in FORCE LOGGING mode again

I would have to rebuild the Dataguard? so I can safely failover?


This wasn't entirely clear from reading this:
http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:2791355800346168177

Tom Kyte
November 01, 2013 - 8:02 pm UTC

you would have to fix up the affected datafiles on the data guard site.

the last part of the page:
http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:2791355800346168177#3835683700346782975

you referenced says this.


documentation is clear on this as well:
http://docs.oracle.com/cd/E11882_01/server.112/e41134/manage_ps.htm#SBYDB00206


When you perform a DML or DDL operation using the NOLOGGING or UNRECOVERABLE clause, the standby database is invalidated and may require substantial DBA administrative activities to repair. You can specify the SQL ALTER DATABASE or SQL ALTER TABLESPACE statement with the FORCELOGGING clause to override the NOLOGGING setting. However, this statement will not repair an already invalidated database.