Logical standby performance

Hi,
Will there be any performance impact when using SQL apply logical standby database compared to direct redo apply physical standby database? Let's take we are doing some bulk delete(around 10k) in primary, will there be any more time lag when replicate to LSDB.
Note: Both primary and LSDB are within the same datacenter.
Thanks,
Srini

Hi,
Physical standby works in a simple way – it applies directly (as a recovery would) the changes from the archive log to the respective data blocks. The physical standby typically enjoys smooth and predictable operation. If the physical standby works on a hardware as powerful as the primary’s, it would likely not be a bottleneck.
Logical standby is very different animal altogether!
Not all databases can have LSDB. There are certain data types that are not supported in LSDB (the list depends on the DB version).
To be able to operate reasonably fast, LSDB would require every medium or large table to have primary key (or at least unique index).
Direct insert and parallel DML are not honored by the LSDB.
Batch processes would be processed row-by-row (and get slower as a result of that).
Getting consistently good performance (and no lag) from LSDB requires concerted efforts and cannot be taken for granted even when the LSDB is run on a “primary” hardware.

Similar Messages

  • Dataguard - logical standby - need help - not updating data at commit

    Hi
    Need help ?
    We have logical standby setup where data is not updated at standby when committed at Primary. It only updates when alter system swith logfile.
    On Primary:
    log_archive_dest_2='service=xxStandby LGWR ASYNC valid_for=(online_logfiles,primary_role) db_unique_name=xxStandby'
    On Standby:
    we have already created standby redo logs ( 1+ # redo logs)
    we used ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE NODELAY;
    The data only ships when we do the ALTER SYSTEM SWITCH LOGFILE whereas it should so when data is commited on the primary.
    Is there anything we are missing or need attention.
    Please help
    Thanks you so much

    Yes, I have standby redo logs = ( 1 + # redo logs on the primary) and are of same size.
    I also changed the log_archive_dest_2 setting for valid_for to ALL_LOGFILES, but the performance is still very slow... we are now overr 9 hrs behind the primary.
    log_archive_dest_2='service=xxStandby LGWR ASYNC valid_for=(ALL_LOGFILES,primary_role) db_unique_name=xxStandby'
    The Logical standby performance reallly not good at all. trying to increase sga/pga more ... hoping this will speed up some
    Paul

  • Logical Standby Apply Process Performance

    Hello,
    We are testing our logical standby database for sql apply process.We run batch jobs in our active database and monitor the standby database for the time it takes to bring the database in sync following are the steps we follow:
    1) Insure active and standby are in sync.
    2) Stop sql apply on standby database.
    3) Run Batch job on active database.
    4) After completion of the job on active,start sql apply on standby.
    Following are the details of the time taken by sql apply,based on the previous runs:
    1st. 654K volume = 4 hrs (2727 records per min)
    2nd. 810K volume = 8 hrs 45 mins (1543 records per min)
    3rd. 744K volume = 7 hrs 17 mins (1704 records per min)
    Following are the details of the logical stdby parameters :
    MAX_SGA 100
    MAX_SERVERS 15
    PREPARE_SERVERS 4
    APPLY_SERVERS 8
    MAX_EVENTS_RECORDED 10000
    RECORD_SKIP_ERRORS TRUE
    RECORD_SKIP_DDL TRUE
    RECORD_APPLIED_DDL FALSE
    RECORD_UNSUPPORTED_OPERATIONS FALSE
    EVENT_LOG_DEST DEST_EVENTS_TABLE
    LOG_AUTO_DELETE TRUE
    LOG_AUTO_DEL_RETENTION_TARGET 1440
    PRESERVE_COMMIT_ORDER TRUE
    ALLOW_TRANSFORMATION FALSE
    can we ensure SQL apply process to apply data in consistent volume,Is it okay for a sql apply process to take same amount of time what the actual batch takes in active instance,can we further tweak apply process to get better performance.
    Please help.
    Thank you !!

    Following are the details of the time taken by sql apply,based on the previous runs:
    1st. 654K volume = 4 hrs (2727 records per min)
    2nd. 810K volume = 8 hrs 45 mins (1543 records per min)
    3rd. 744K volume = 7 hrs 17 mins (1704 records per min)
    Following are the details of the logical stdby parameters :
    Hi,
    By looking at the above apply rate, the apply process is working normally and not having issues.
    Since it's a bulk batch data update in PRIMARY, it's obvious and quite normal that it will take time in STANDBY database to get applied and in sync with PRIMARY.
    Still, if you need to consider improving the performance, look out for adjusting the APPLIER & PREPARER process. (parameteres, APPLY_SERVERS & PREPAR_SERVERS).

  • Logical Standby Database in NOARCHIVE Mode

    Hi,
    I have configured a Logical Standby Database for Reporting purposes. A Physical Standby Database is running for MAA. i.e. in case of Role Transition (switch/Failover) the Physical Stdby Db will get the role of the Primary.
    The logical standby database is creating a lot of Archive Redologs files, nearly every minute. Redolog files are 50MB and there is no work done in db during the time. I'm NOT using Standby Redolog files.
    Is there a need for logical standby database to be in NOARCHIVELOG mode? The Primary is definatley in ARCHIVELOG mode.
    Thanks for any responses.
    regards
    Sahba

    hi,
    well there are two things to the above:-
    1. there was an archive file nearly every minute:
    this is due to a db recovery. for some reason, the db was in inconsistent state, after a sudden shutdownof the OS. I was on a test environment, on windows vista, unfortunately. unimportant ... a reboot solved it.
    2. Logical standby db in NOARCHIVE MODE when setup for the purpose of Reporting.
    As long as the MAA configured for the primary db, such as physical standby db, and a second, the logical standby db setup purely for the purpose of reporting, which then can run with NOARCHIVELOG mode, after converting the physical standby db to logical.
    logical standby db uses Streams architecture, so this method brings cost, time and performance advantages to the customer.
    regards
    Sahba

  • Logical Standby databases

    Hi,
    When we say "Logical Standby Databases are logically identical to primary databases although the physical organization and structure of the data can be different." what does it exactly means?
    Does it mean that in logical standby tablespace name, schema name, table name, column names etc can be different and still has the same data as primary?
    Does it mean that we can exclude indexes and constraints as present in primary?
    Only the data should match with primary word by word, value by value?
    I am asking this as i have never worked in a logical standby database but i seriously want to know.
    Please answer.
    Regards,
    SID

    Physical standby differs from logical standby:
    Physical standby schema matches exactly the source database.
    Archived redo logs and FTP'ed directly to the standby database which is always running in "recover" mode. Upon arrival, the archived redo logs are applied directly to the standby database.
    Logical standby is different from physical standby:
    Logical standby database does not have to match the schema structure of the source database.
    Logical standby uses LogMiner techniques to transform the archived redo logs into native DML statements (insert, update, delete). This DML is transported and applied to the standby database.
    Logical standby tables can be open for SQL queries (read only), and all other standby tables can be open for updates.
    Logical standby database can have additional materialized views and indexes added for faster performance.
    Installing Physical standbys offers these benefits:
    An identical physical copy of the primary database
    Disaster recovery and high availability
    High Data protection
    Reduction in primary database workload
    Performance Faster
    Installing Logical standbys offer:
    Simultaneous use for reporting, summations and queries
    Efficient use of standby hardware resources
    Reduction in primary database workload
    Some limitations on the use of certain datatypes

  • Logical standby database

    Guys,
    Is it possible to create a logical standby database without installing Oracle Data Guard.And if yes how sync. is performed.
    Thanks

    Hi,
    Is it possible to create a logical standby database without installing Oracle Data Guard.In a sense Oracle Streams and Quest Shareplex created a logical standby, but you can have them open too . . . Madhu Tumma explains this in his Oracle Streams book, but it's only conceptually similar to logical standby in Data Guard:
    http://www.rampant-books.com/book_2004_2_streams.htm
    Hope this helps. . .
    Don Burleson
    Oracle Press author
    Author of “Oracle Tuning: The Definitive Reference”
    http://www.dba-oracle.com/bp/s_oracle_tuning_book.htm

  • Logical Standby recover with RMAN

    Hi All,
    I have a test environment with Primary DB Server, Physical Standby and Logical Standby.
    The Logical Standby DB (cur_log_stdb) is backed up every evening by RMAN and I have a question:
    If I recover my Logical Standby DB from backup and switch replication to new Logical Standby DB (new_log_stdb) it will work or not?
    My steps e.g.:
    1. Make a new server for my new_log_stdb and repair structure of catalogs;
    2. Repair listener.ora and tnsnames.ora files from cur_log_stdb to new_log_stdb;
    3. Restore DB with RMAN from backup to new_log_stdb;
    4. On cur_log_stdb execute "alter database stop logical standby apply";
    5. Change a DNS name from cur_log_stdb to new_log_stdb;
    6. On new_log_stdb execute "alter database start logical standby apply immediate";
    I'm not sure that archivelogs will apply to the new_log_stdb for period since rman backup was created.
    But if this plan won't work how can I restore Logical Standby DB from RMAN backup and resume replication from Primary?
    Configuration:
    Oracle Linux 6.4
    Oracle Database 11.2.0.3
    Primary and Physical with Data Guard

    Hello;
    The only way to know for sure is to test it. You are asking somebody you don't know to confirm a recovery test for you. You have to perform the test yourself to be certain.
    If your plan does not work you can always rebuild the Standby.
    Best Regards
    mseberg

  • Logical Standby Scenario..!!

    Hello,
    We are having dataguard setup with Primary, Physical standby and Logical Standby databases located on three different machines..
    Oracle Version : 10.2.0.1
    OS : RHEL 4 on (x86 32-Bit)
    Following are our initialization parameters for all the three instances..
    Primary Database Parameters--_
    *.db_unique_name='betapri'
    *.fal_client='BETAPRI'
    *.fal_server='BETAPHYSTDBY'
    *.instance_name='oracle'
    *.log_archive_config='DG_CONFIG=(betapri,betaphystdby,betalogstdby)'
    *.log_archive_dest_1='LOCATION=/u01/app/oracle/archive/oracle VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=betapri MANDATORY'
    *.log_archive_dest_2='SERVICE=BETAPHYSTDBY LGWR VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=betaphystdby'
    *.log_archive_dest_3='SERVICE=BETALOGSTDBY LGWR SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=betalogstdby'
    *.log_archive_dest_state_1='ENABLE'
    *.log_archive_dest_state_2='ENABLE'
    *.log_archive_dest_state_3='ENABLE'
    *.standby_archive_dest='/u01/app/oracle/archive/oracle'
    *.standby_file_management='AUTO'
    *.remote_login_passwordfile='EXCLUSIVE'
    Physical standby Database Parameters--_
    *.db_unique_name='betaphystdby'
    *.fal_client='BETAPHYSTDBY'
    *.fal_server='BETAPRI'
    *.instance_name='oracle'
    *.log_archive_config='DG_CONFIG=(betapri,betaphystdby,betalogstdby)'
    *.log_archive_dest_1='LOCATION=/u01/app/oracle/archive/oracle VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=betaphystdby'
    *.log_archive_dest_2='SERVICE=BETAPRI LGWR VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=betapri'
    *.log_archive_dest_3='SERVICE=BETALOGSTDBY VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=betalogstdby'
    *.log_archive_dest_state_1='ENABLE'
    *.log_archive_dest_state_2='ENABLE'
    *.log_archive_dest_state_3='ENABLE'
    *.standby_archive_dest='/u01/app/oracle/archive/oracle'
    *.standby_file_management='AUTO'
    *.remote_login_passwordfile='EXCLUSIVE'*Logical Standby Database Parameters *_
    *.db_unique_name='betalogstdby'
    *.instance_name='oracle'
    *.log_archive_config='DG_CONFIG=(betapri,betaphystdby,betalogstdby)'
    *.log_archive_dest_1='LOCATION=/u01/app/oracle/archive/betalogstdby VALID_FOR=(ONLINE_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=betalogstdby'
    *.log_archive_dest_2='LOCATION=/u01/app/oracle/archive/oracle VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE) DB_UNIQUE_NAME=betalogstdby'
    *.log_archive_dest_state_1='ENABLE'
    *.log_archive_dest_state_2='ENABLE'
    *.standby_archive_dest='/u01/app/oracle/archive/oracle'
    *.standby_file_management='AUTO'
    *.remote_login_passwordfile='EXCLUSIVE'Whole data guard setup is working properly as per the configuration.. But just for testing purpose i did FAILOVER_ and made our physical standby as new primary database and using Flashback i made my old primary as new physical standby and haven't made any changes to logical standby database since as per my init parameters i guess logical standby should remain in sync and keep applying the logs..
    But performing this scenario logical standby seems to be messed up.. My new primay database does generate archives to logical standby but logical standby logmnr doesn't apply the changes to the database.. So once i issue "ALTER DATABASE START LOGICAL STANDBY APPLY" following message gets displayed in alert log *"Fatal Error: LogMiner processed beyond new branch scn."*
    Tue Sep 29 18:55:14 2009
    alter database start logical standby apply
    Tue Sep 29 18:55:14 2009
    ALTER DATABASE START LOGICAL STANDBY APPLY (oracle)
    Tue Sep 29 18:55:14 2009
    No optional part
    Attempt to start background Logical Standby process
    LSP0 started with pid=16, OS id=18308
    LOGSTDBY status: ORA-16111: log mining and apply setting up
    Tue Sep 29 18:55:14 2009
    LOGMINER: Parameters summary for session# = 1
    LOGMINER: Number of processes = 3, Transaction Chunk Size = 201
    LOGMINER: Memory Size = 30M, Checkpoint interval = 150M
    Tue Sep 29 18:55:14 2009
    Fatal Error: LogMiner processed beyond new branch scn.
    LOGSTDBY status: ORA-01346: LogMiner processed redo beyond specified reset log scn
    Tue Sep 29 18:55:14 2009
    Errors in file /u01/app/oracle/admin/oracle/bdump/oracle_lsp0_18308.trc:
    ORA-01346: LogMiner processed redo beyond specified reset log scn
    LOGSTDBY status: ORA-16222: automatic Logical Standby retry of last action
    LOGSTDBY status: ORA-16111: log mining and apply setting up
    Tue Sep 29 18:55:14 2009
    LOGMINER: Parameters summary for session# = 1
    LOGMINER: Number of processes = 3, Transaction Chunk Size = 201
    LOGMINER: Memory Size = 30M, Checkpoint interval = 150M
    Tue Sep 29 18:55:14 2009
    Fatal Error: LogMiner processed beyond new branch scn.
    LOGSTDBY status: ORA-01346: LogMiner processed redo beyond specified reset log scn
    Tue Sep 29 18:55:14 2009
    Errors in file /u01/app/oracle/admin/oracle/bdump/oracle_lsp0_18308.trc:
    ORA-01346: LogMiner processed redo beyond specified reset log scn
    Tue Sep 29 18:55:14 2009
    ORA-16210 signalled during: alter database start logical standby apply... Note : I am having flashback enabled only on one database which was my old primary..
    Please any comments, help or suggestions would be great..
    Thanks - HP

    Appreciate your kind reply Robert..
    Would it be the only option left for me to re instantiate the logical standby..? Or what if i enable flashback on logical standby and then try to flashback till "standby_became_primary_scn" and then try to start logical standby apply.. Will this work in my scenario?
    Any suggestions or comments are most welcome.
    Thanks - HP

  • Logical standby: SQL Apply too slow

    Hi all,
    I have a question regarding SQL Apply performance in logical standby. There are two kind of operations that are remarkably slow when applying them on logical standby. These are "truncate table" and "delete from table" operations.
    When logical standby pick up one of mentioned statements from logs one of appliers start working whereas rest others are waiting. It looks like standby hang and very slow sql apply is moving on gradually and finally when operation completes standby is behind primary for 4 or 5 or even 8 hours.
    What can be done in this regard to speed up sql apply and alleviate this situation?
    Best Regards,
    Alex

    Are you absolutely sure that the truncate is the problem (and deletes). How did you check it?
    You can use LogMiner to check what are most of the commands in the log currently applied. I use this:
    BEGIN
    sys.DBMS_LOGMNR.ADD_LOGFILE( LOGFILENAME => '/home/oracle/arc_43547_1_595785865.arc', OPTIONS => sys.DBMS_LOGMNR.ADDFILE);
    END;
    BEGIN
    sys.DBMS_LOGMNR.START_LOGMNR( OPTIONS => sys.DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);
    END;
    SELECT seg_owner,seg_name,table_name,operation,COUNT(1) FROM V$LOGMNR_CONTENTS
    GROUP BY seg_owner,seg_name,table_name,operation
    ORDER BY COUNT(1) DESC
    BEGIN
    sys.DBMS_LOGMNR.END_LOGMNR();
    END;
    Most of the times in our cases when SQL Apply is slow is because of high activity on particular object. This can be detected by high number of DMLs for that object using LogMiner. If this object is not needed on the logical standby you can skip it and thus SQL Apply will be faster because it will not apply changes for this particular one. If it's needed and this is not a regular rate, then you can skip it temporarily, turn on SQL Apply , after problematic logs are applied, turn off SQL Apply, instantiate the object and unskip it, turn on sql apply again.
    Another thing that can drastically slowdown SQL Apply is the size of memory available for SQL Apply(Alert log shows that max is ~4.5GB or something like this, I'm not sure )
    You can increase it with something like this:
    ALTER DATABASE STOP LOGICAL STANDBY APPLY;
    BEGIN
    DBMS_LOGSTDBY.APPLY_SET('MAX_SGA', 3000); -- set to 3000 MB
    END;
    ALTER DATABASE START LOGICAL STANDBY APPLY;
    You have to increase it if the following reports:
    SELECT NAME, VALUE FROM V$LOGSTDBY_STATS
    WHERE NAME LIKE '%page%' OR
    NAME LIKE '%uptime%' or name like '%idle%';
    that 'bytes paged out' increases if run every few seconds during slow SQL Apply.
    I hope that it's something that can be fixed using the above info. If no, please comment and share your investigations.
    Thanks

  • Logical standby error with export dump

    oracal 10g have a setup logical standby and when i am running export dump from logical i got this error.
    EXP-00008: ORACLE error 16224 encountered
    ORA-16224: Database Guard is enabled
    EXP-00000: Export terminated unsuccessfully
    can someone help me out how can it posibal to take export dump and datapump from logical standby.
    thanks

    16224, 00000, "Database Guard is enabled"
    // *Cause: Operation could not be performed because database guard is enabled
    // *Action: Verify operation is correct and disable database guard                                                                                                                                                                                                                                                                                                                                                                                       

  • NEED HELP!!!!  Logical Standby and RMAN.

    Hello,
    I have a Data Guard env setup on win 2000 with 9.2.0.4.
    I now have primary and standby. I was wondering if I create a logical standby to achieve transparent application failover. What I am saying is if the primary node dies, then in tnsnames I want to point to the logical standby, since it is an open database, the users can still perform without knowing the db went down. Then if we indeed need a failover we can failover to the physical standby. This would ensure availability without having to implement RAC or AQ, Right? Also, I read that you should create rman schema (recovery catalog) on standby db. Any thoughts?

    Were you able to figure this one out?
    I have a similar configuration as you - the same motherboard and an eVga Geforce 3 6600 fanless.  With the latest BIOS (3.8) and this video card, the system will not go into Standby completely.  I hear the HDD head park and the video goes black, but the LEDs on the front of the PC chassis and the case/PS fans do not stop.  Pressing the button to bring the PC out of Standby, rather, whatever state it is in, works.

  • Local logical standby and remote physical standby

    Dear All,
    My database version is 10.2.0.1.0(production) and Operating System Linux x86-64 OS Version Red Hat Enterprise 4
    Below is my configuration details:
    Rprimary Database:Two Nodes RAC
    StandBy Database LOCAL:Standalone database
    Standby Database Remote:Two Node RAC
    So,my question is, i want my local physical DR to convert into logical standby and
    Remote DR will operate as physical standby as it IS.
    sql>EXECUTE DBMS_LOGSTDBY.BUILD
    After executing the above statement in my production primary database will there be any performance HIT.
    And another important is that my above statement shouldn't affect my remote physical DR database.
    Just the local DR should get converted into logical standby database
    Thanks and Regards
    Monoj Das

    monoj wrote:
    Dear All,
    My database version is 10.2.0.1.0(production) and Operating System Linux x86-64 OS Version Red Hat Enterprise 4
    Below is my configuration details:
    Rprimary Database:Two Nodes RAC
    StandBy Database LOCAL:Standalone database
    Standby Database Remote:Two Node RAC
    So,my question is, i want my local physical DR to convert into logical standby and
    Remote DR will operate as physical standby as it IS.
    sql>EXECUTE DBMS_LOGSTDBY.BUILD
    After executing the above statement in my production primary database will there be any performance HIT.
    And another important is that my above statement shouldn't affect my remote physical DR database.
    Just the local DR should get converted into logical standby database
    Thanks and Regards
    Monoj DasIn any Data Guard environment, you can have either physical or logical or even mixed[physical + logical]
    There will be no performance issue if you run the package for logical standby DBMS_LOGSTDBY.BUILD , This package provides you to manage even logical standby database.

  • Logical standby | archive log deleted | how to remove gap ???

    hi gurus...
    i have problem on logical standby
    by mistake standby log coming to logical standby has been deleted , now how to fill up the gap ???
    ON STANDBY
    SEQUENCE# FIRST_CHANGE# NEXT_CHANGE# APPLIED
    228 674847 674872 YES
    229 674872 674973 CURRENT
    230 674973 674997 NO
    231 674997 675023 NO
    232 675023 675048 NO
    233 675048 675109 NO
    234 675109 675135 NO
    235 675135 675160 NO
    236 675160 675183 NO
    237 675183 675208 NO
    238 675208 675232 NO
    239 675232 675257 NO
    240 675257 675282 NO
    241 675282 675382 NO
    242 675382 675383 NO
    243 675383 675650 NO
    244 675650 675652 NO
    245 675652 675670 NO
    246 675670 675688 NO
    247 675688 675791 NO
    248 675791 678524 NO
    archive log are shipping to standby location also and getting registered
    ALERT LOG OF STANDBY
    Fri May 7 12:25:36 2010
    Primary database is in MAXIMUM PERFORMANCE mode
    RFS[21]: Successfully opened standby log 5: '/u01/app/oracle/oradata/BEST/redo05.log'
    Fri May 7 12:25:37 2010
    RFS LogMiner: Registered logfile [u01/app/oracle/flash_recovery_area/BEST/archivelog/archBEST_248_1_715617824.dbf] to LogMiner session id [1]
    but i dont have standby log after 229 sequence ...
    ON PRIMARY
    SYS@TEST AS SYSDBA> archive log list
    Database log mode Archive Mode
    Automatic archival Enabled
    Archive destination /u01/app/oracle/flash_recovery_area/TEST/standlogOldest online log sequence 247
    Next log sequence to archive 249
    Current log sequence 249
    what to do next to apply sequences and bring both in sync.
    please help me ,,,,
    Edited by: user12281508 on May 7, 2010 9:45 AM

    thanks for response.
    no its pure logical standby
    i have tried to ftp the archive logs of primary to standby and applied manually
    SYS@BEST AS SYSDBA> alter database register logfile '/u01/app/oracle/flash_recovery_area/BEST/archivelog/archBEST_230_1_715617824.dbf';
    alter database register logfile '/u01/app/oracle/flash_recovery_area/BEST/archivelog/archBEST_230_1_715617824.dbf'
    ERROR at line 1:
    ORA-01289: cannot add duplicate logfile
    SYS@BEST AS SYSDBA> alter database register logfile '/u01/app/home/archTEST_230_1_715617824.dbf';
    alter database register logfile '/u01/app/home/archTEST_230_1_715617824.dbf'
    ERROR at line 1:
    ORA-01289: cannot add duplicate logfile
    any other way ????

  • Logical STANDBY creating problem in 9.2

    Hi,
    i've a Physical standby db which is runnig quite well. i just tried to convert it to LOGICAL standby db. but it was asking for recovery. actually i had provided all the logs needed .but still was giving error.
    as i had synchronised physical standby i just changed its control file to normal control file from primary db( alter database backup control file to 'c:\lglstdby.ctl' ) (just created).
    i just paste the steps i did.
    SQL*Plus: Release 9.2.0.1.0 - Production on Sat Apr 12 08:01:09 2008
    Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
    SQL> conn sys@standby as sysdba
    Enter password: ******
    Connected.
    SQL> shut immediate
    ORA-01109: database not open
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup mount pfile=E:\oracle\oradata\pfile\init.ora
    ORACLE instance started.
    Total System Global Area  312024024 bytes
    Fixed Size                   453592 bytes
    Variable Size             159383552 bytes
    Database Buffers          150994944 bytes
    Redo Buffers                1191936 bytes
    Database mounted.
    SQL> alter database open resetlogs;
    alter database open resetlogs
    ERROR at line 1:
    ORA-12571: TNS:packet writer failure
    SQL> /
    alter database open resetlogs
    ERROR at line 1:
    ORA-03114: not connected to ORACLE
    SQL> conn sys@standby as sysdba
    Enter password: ******
    Connected.
    SQL> /
    alter database open resetlogs
    ERROR at line 1:
    ORA-01152: file 1 was not restored from a sufficiently old backup
    ORA-01110: data file 1: 'E:\ORACLE\ORADATA\DATA\SYSTEM01.DBF'
    SQL> recover database using backupcontrol file;
    ORA-01906: BACKUP keyword expected
    SQL>  recover database using backup controlfile;
    ORA-00279: change 567900150 generated at 04/12/2008 07:57:01 needed for thread
    1
    ORA-00289: suggestion : E:\ORACLE\ORA92\RDBMS\1_43090.DBF
    ORA-00280: change 567900150 for thread 1 is in sequence #43090
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    cancel;
    ORA-00308: cannot open archived log 'cancel;'
    ORA-27041: unable to open file
    OSD-04002: unable to open file
    O/S-Error: (OS 2) The system cannot find the file specified.
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    auto
    ORA-00308: cannot open archived log 'E:\ORACLE\ORA92\RDBMS\1_43090.DBF'
    ORA-27041: unable to open file
    OSD-04002: unable to open file
    O/S-Error: (OS 2) The system cannot find the file specified.
    ORA-00308: cannot open archived log 'E:\ORACLE\ORA92\RDBMS\1_43090.DBF'
    ORA-27041: unable to open file
    OSD-04002: unable to open file
    O/S-Error: (OS 2) The system cannot find the file specified.
    SQL> recover database using backup controlfile;
    ORA-00279: change 567900150 generated at 04/12/2008 07:57:01 needed for thread
    1
    ORA-00289: suggestion : E:\ORACLE\ORA92\RDBMS\1_43090.DBF
    ORA-00280: change 567900150 for thread 1 is in sequence #43090
    --here i gave what it needed,but it asks for more...
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    E:\oracle\oradata\Archive\1_43090.DBF
    ORA-00279: change 567900630 generated at 04/12/2008 08:07:30 needed for thread
    1
    ORA-00289: suggestion : E:\ORACLE\ORA92\RDBMS\1_43091.DBF
    ORA-00280: change 567900630 for thread 1 is in sequence #43091
    ORA-00278: log file 'E:\oracle\oradata\Archive\1_43090.DBF' no longer needed
    for this recovery
    ---- it asks for next log as it hasn't generated yet.
    even if cancel recovery it says  file 1 needs media recovery ('E:\ORACLE\ORADATA\DATA\SYSTEM01.DBF' )
    SQL> recover database using backup controlfile;
    ORA-00279: change 567900630 generated at 04/12/2008 08:07:30 needed for thread
    1
    ORA-00289: suggestion : E:\ORACLE\ORA92\RDBMS\1_43091.DBF
    ORA-00280: change 567900630 for thread 1 is in sequence #43091
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    cancel
    Media recovery cancelled.
    SQL> alter database open resetlogs;
    alter database open resetlogs
    ERROR at line 1:
    ORA-01113: file 1 needs media recovery
    ORA-01110: data file 1: 'E:\ORACLE\ORADATA\DATA\SYSTEM01.DBF'Why this is happening dont know ?
    any ideas?
    Thanks & regards!
    Oracle 9.2
    Win 2K Server

    Hi all,
    i managed to open STANDBY DB,but in a different way...
    i had to recreate controlfile .
    SQL> startup nomount pfile=e:\oracle\oradata\pfile\init.ora
    ORACLE instance started.
    Total System Global Area  312024024 bytes
    Fixed Size                   453592 bytes
    Variable Size             159383552 bytes
    Database Buffers          150994944 bytes
    Redo Buffers                1191936 bytes
    SQL> ed
    Wrote file afiedt.buf
      1  CREATE CONTROLFILE REUSE DATABASE "IRCS" RESETLOGS  ARCHIVELOG
      2  --  SET STANDBY TO MAXIMIZE PERFORMANCE
      3      MAXLOGFILES 6
      4      MAXLOGMEMBERS 3
      5      MAXDATAFILES 100
      6      MAXINSTANCES 1
      7      MAXLOGHISTORY 1134
      8  LOGFILE
      9    GROUP 1 (
    10      'E:\ORACLE\ORADATA\REDO\REDO011.LOG',
    11      'D:\ORACLE\ORADATA\REDO\REDO012.LOG'
    12    ) SIZE 4M,
    13    GROUP 2 (
    14      'E:\ORACLE\ORADATA\REDO\REDO021.LOG',
    15      'D:\ORACLE\ORADATA\REDO\REDO022.LOG'
    16    ) SIZE 4M,
    17    GROUP 3 (
    18      'E:\ORACLE\ORADATA\REDO\REDO031.LOG',
    19      'D:\ORACLE\ORADATA\REDO\REDO032.LOG'
    20    ) SIZE 4M,
    21    GROUP 4 (
    22      'E:\ORACLE\ORADATA\REDO\REDO041.LOG',
    23      'D:\ORACLE\ORADATA\REDO\REDO042.LOG'
    24    ) SIZE 4M,
    25    GROUP 5 (
    26      'E:\ORACLE\ORADATA\REDO\REDO51.LOG',
    27      'D:\ORACLE\ORADATA\REDO\REDO52.LOG'
    28    ) SIZE 4M,
    29    GROUP 6 (
    30      'E:\ORACLE\ORADATA\REDO\REDO61.LOG',
    31      'D:\ORACLE\ORADATA\REDO\REDO62.LOG'
    32    ) SIZE 4M
    33  -- STANDBY LOGFILE
    34  DATAFILE
    35    'E:\ORACLE\ORADATA\DATA\SYSTEM01.DBF',
    36    'E:\ORACLE\ORADATA\DATA\UNDOTBS01.DBF',
    37    'E:\ORACLE\ORADATA\DATA\DRSYS.DBF',
    38    'E:\ORACLE\ORADATA\DATA\FIN_DATA.DBF',
    39    'D:\ORACLE\ORADATA\DATA\FIN_IDX.DBF',
    40    'E:\ORACLE\ORADATA\DATA\INDX01.DBF',
    41    'D:\ORACLE\ORADATA\DATA\INV_DATA.DBF',
    42    'E:\ORACLE\ORADATA\DATA\INV_IDX.DBF',
    43    'E:\ORACLE\ORADATA\DATA2\OTHER_DATA.DBF',
    44    'D:\ORACLE\ORADATA\DATA\OTHER_IDX.DBF',
    45    'E:\ORACLE\ORADATA\DATA\PAY_DATA.DBF',
    46    'D:\ORACLE\ORADATA\DATA\PAY_IDX.DBF',
    47    'D:\ORACLE\ORADATA\DATA\SALE_DATA1.DBF',
    48    'D:\ORACLE\ORADATA\DATA\SALE_DATA2.DBF',
    49    'E:\ORACLE\ORADATA\DATA\SALE_IDX.DBF',
    50    'E:\ORACLE\ORADATA\DATA\USER_DATA.DBF',
    51    'E:\ORACLE\ORADATA\DATA\XDB01.DBF'
    52* CHARACTER SET WE8MSWIN1252
    SQL> /
    Control file created.
    SQL> alter database open resetlogs;
    Database altered.actually my db was very much consistent. it was asking for not generated logs.. i tried to make incomplete recovery but was erroring with system file not consistent. so i did recreate controlfile but my purpose to create logical was not solved here as when i opened DB with newly created contrlfile database was errorring like
    SCN not matching with primary database (i forgot to copy the exact error words)
    in alert log it was like
    RFS: Destination database mount ID mismatch [0x821cc13b:0x821e318f]
    can't it then synchronise with primary as physical does with fetching previous logs?
    so stopped that to further process..then again tried open my normal physical standby db with physical standby controlfile...but with physical it gave me a error of wrong pasword file and not able mount standby database.
    ERROR at line 1:
    ORA-01991: invalid password file 'E:\oracle\ora92\DATABASE\PWDircs.ORA'
    can't understandb !!....is this die to i tried to mount a open DB? but when creating a physical standby db we do take consistent back(optinal). so that time it doesn't give such type of error of pwd files....
    can't understand this behavoir?
    Any ideas?
    Regards!

  • Add Datafile in Logical Standby Database

    Hi,
    I have add one datafile in our primary RAC DB. We had logical standby database with file management is equal to manual. Both the primary RAC and logical standby db have the different storage structure. When the archive applied on the logical standby database its throws the error " error in creating datafile 'path'";
    Would appreciate if come to know the steps to add the datafile in this kind of environment. and how can i overcome from this problem now except skip transaction for that ddl.
    Thanks in advance.
    Dewan

    When the archive applied on the logical standby database its throws the error " error in creating datafile 'path'";Can you post the error message with the number.
    From Manual..
    8.3.1.2 Adding a Tablespace and a Datafile When STANDBY_FILE_MANAGEMENT Is Set to MANUAL
    The following example shows the steps required to add a new datafile to the primary and standby database when the STANDBY_FILE_MANAGEMENT initialization parameter is set to MANUAL. You must set the STANDBY_FILE_MANAGEMENT initialization parameter to MANUAL when the standby datafiles reside on raw devices.
    Add a new tablespace to the primary database:
    SQL> CREATE TABLESPACE new_ts DATAFILE '/disk1/oracle/oradata/payroll/t_db2.dbf'
    2> SIZE 1m AUTOEXTEND ON MAXSIZE UNLIMITED;
    Verify the new datafile was added to the primary database:
    SQL> SELECT NAME FROM V$DATAFILE;
    NAME
    /disk1/oracle/oradata/payroll/t_db1.dbf
    /disk1/oracle/oradata/payroll/t_db2.dbf
    Perform the following steps to copy the tablespace to a remote standby location:
    Place the new tablespace offline:
    SQL> ALTER TABLESPACE new_ts OFFLINE;
    Copy the new tablespace to a local temporary location using an operating system utility copy command. Copying the files to a temporary location will reduce the amount of time the tablespace must remain offline. The following example copies the tablespace using the UNIX cp command:
    % cp /disk1/oracle/oradata/payroll/t_db2.dbf
    /disk1/oracle/oradata/payroll/s2t_db2.dbf
    Place the new tablespace back online:
    SQL> ALTER TABLESPACE new_ts ONLINE;
    Copy the local copy of the tablespace to a remote standby location using an operating system utility command. The following example uses the UNIX rcp command:
    %rcp /disk1/oracle/oradata/payroll/s2t_db2.dbf standby_location
    Archive the current online redo log file on the primary database so it will get transmitted to the standby database:
    SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;
    Use the following query to make sure that Redo Apply is running. If the MRP or MRP0 process is returned, Redo Apply is being performed.
    SQL> SELECT PROCESS, STATUS FROM V$MANAGED_STANDBY;
    Verify the datafile was added to the standby database after the archived redo log file was applied to the standby database:
    SQL> SELECT NAME FROM V$DATAFILE;
    NAME
    /disk1/oracle/oradata/payroll/s2t_db1.dbf
    /disk1/oracle/oradata/payroll/s2t_db2.dbf

Maybe you are looking for