Database Recovery

We have a Live 9i database with archive logging.
We now want to setup a standby 9i database, so in case anything happens on Live system we will switch on standby.
What are the differences between using a physical standby setup or a logical standby setup?
Which gives faster recovery and which consumes less resources on normal operation of primary?
James

>
What are the differences between using a physical
standby setup or a logical standby setup?
Logs are applied directly in Physical and in Logical it is converted to sql statement and applied. When Physical is opened for read only, log applying will be stopped. However in Logical you can operate the db when the logs are applied.
Which gives faster recovery and which consumes less
resources on normal operation of primary?
Physical standby is faster, infact much faster than logical. We had a bitter experience with logical where standby not able to catch up the speed of primary and we forced to rebuild logical every alternate month.
Regards,
Satheesh Babu.S

Similar Messages

  • Questions About Database Recovery (-30975)

    Hello,
    In Berkeley 4.5.20, we are seeing the following error sporadically, but more frequently than we'd like (which is, to say, not at all): "BerkeleyDbErrno=-30975 - DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery"
    This exception is being thrown mostly, if not exclusively, during the environment open call. Still investigating.
    I will post my environment below, but first some questions.
    1. How often should a database become become corrupt?
    2. What are the causes of this corruption? Can they be caused by "chance?" (I.e. app is properly coded.) Can they be caused by improper coding? If so, is there a list of common things to check?
    3. Does Oracle expect application developers to create their own recovery handlers, especially for apps that require 100% uptime? E.g. using DB_ENV->set_event_notify or filtering on DB_RUNRECOVERY.
    Our environment:
    Windows Server 2003 SP2
    Berkeley DB 4.5.20
    set_verbose(DB_VERB_WAITSFOR, 1);
    set_cachesize(0, 65536 * 1024, 1);
    set_lg_max(10000000);
    set_lk_detect(DB_LOCK_YOUNGEST);
    set_timeout(60000000, DB_SET_LOCK_TIMEOUT);
    set_timeout(60000000, DB_SET_TXN_TIMEOUT);
    set_tx_max(100000);
    set_flags(DB_TXN_NOSYNC, 1);
    set_flags(DB_LOG_AUTOREMOVE, 1);
    set_lk_max_lockers(10000);
    set_lk_max_locks(10000);
    set_lk_max_objects(10000);
    open(sPath, DB_CREATE | DB_INIT_LOCK | DB_INIT_LOG | DB_INIT_MPOOL | DB_THREAD | DB_INIT_TXN | DB_RECOVER, 0);
    set_pagesize     (4096);
    u_int32_t dbOpenFlags = DB_CREATE | DB_AUTO_COMMIT;
    pDbPrimary->open(NULL, strFile, NULL, DB_HASH, dbOpenFlags, 0);
    We also have a number of secondary databases.
    One additional piece of information that might be relevant is that the databases where this happens (we have 8 in total managed by our process,) seem to be the two specific databases that at times aren't opened until well after the process is up and running due to the nature of their data. This is to say that 6 of the other databases are normally opened during startup of our service. We are still investigating this to see if this is consistently true.

    Here is the output from the error logs (we didn't have this properly set up until now) when this error opening the environment happens:
    12/17/2007 17:18:12 (e64/518) 1024: Berkeley Error: CDbBerkeley MapViewOfFile: Not enough storage is available to process this command.
    12/17/2007 17:18:12 (e64/518) 1024: Berkeley Error: CDbBerkeley PANIC: Not enough space
    12/17/2007 17:18:12 (e64/518) 1024: Berkeley Error: CDbBerkeley DeleteFile: C:\xxxxxxxx\Database\xxxJOB_OAT\__db.003: Access is denied.
    12/17/2007 17:18:12 (e64/518) 1024: Berkeley Error: CDbBerkeley MapViewOfFile: Not enough storage is available to process this command.
    12/17/2007 17:18:12 (e64/518) 1024: Berkeley Error: CDbBerkeley PANIC: Not enough space
    12/17/2007 17:18:12 (e64/518) 1024: Berkeley Error: CDbBerkeley PANIC: DB_RUNRECOVERY: Fatal error, run database recovery
    12/17/2007 17:18:30 (e64/518) 1024: Berkeley Error: CDbBerkeley unable to join the environment
    12/17/2007 17:18:30 (e64/518) 1024: Berkeley Error: CDbBerkeley DeleteFile: C:\xxxxxxxx\Database\xxxJOB_OAT\__db.003.del.0547204268: Access is denied.
    12/17/2007 17:18:30 (e64/518) 1024: Berkeley Error: CDbBerkeley DeleteFile: C:\xxxxxxxx\Database\xxxJOB_OAT\__db.003: Access is denied.
    12/17/2007 17:19:18 (e64/518) 1024: Database EInitialize failed. (C:\xxxxxxxx\Database\xxxJOB_OAT: BerkeleyDbErrno=-30975 - DbEnv::open: DB_RUNRECOVERY: Fatal error, run database recovery)
    The last line is generated by a DbException and was all we were seeing up until now.
    I also set_verbose(DB_VERB_RECOVERY, 1) and set_msgcall to the same log file. We get verbose messages on the 1st 7 database files that open successfully, but none from the last one, I assume because they output to set_errcall instead.
    There is 67GB of free space on this disk by the way, so not sure what "Not enough space" means.
    Thanks again for your help.

  • Problem in performing multiple Point-In-Time Database Recovery using RMAN

    Hello Experts,
    I am getting an error while performing database point in time recovery multiple times using RMAN. Details are as follows :-
    Environment:
    Oracle 11g, ASM,
    Database DiskGroups : DG_DATA (Data files), DG_ARCH(Archive logs), DG_REDO(Redo logs Control file).
    Snapshot DiskGroups :
    Snapshot1 (taken at 9 am): SNAP1_DATA, SNAP1_ARCH, +SNAP1_REDO
    Snapshot2 (taken at 10 am): SNAP2_DATA, SNAP2_ARCH, +SNAP2_REDO
    Steps performed for point in time recovery:
    1. Restore control file from snapshot 2.
         RMAN> RESTORE CONTROLFILE from '+SNAP2_REDO/orcl/CONTROLFILE/Current.256.777398261';
    2. For 2nd recovery, reset incarnation of database to snapshot 2 incarnation (Say 2).
    3. Catalog data files from snapshot 1.
    4. Catalog archive logs from snapshot 2.
    5. Perform point in time recovery till given time.
         STARTUP MOUNT;
         RUN {
              SQL "ALTER SESSION SET NLS_DATE_FORMAT = ''dd-mon-yyyy hh24:mi:ss''";
              SET UNTIL TIME "06-mar-2013 09:30:00";
              RESTORE DATABASE;
              RECOVER DATABASE;
              ALTER DATABASE OPEN RESETLOGS;
    Results:
    Recovery 1: At 10.30 am, I performed first point in time recovery till 9:30 am, it was successful. Database incarnation was raised from *2* to *3*.
    Recovery 2: At 11:10 am, I performed another point in time recovery till 9:45 am, while doing it I reset the incarnation of DB to *2*, it failed with following error :-
    Starting recover at 28-FEB-13
    using channel ORA_DISK_1
    starting media recovery
    media recovery failed
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure of recover command at 03/06/2013 11:10:57
    ORA-00283: recovery session canceled due to errors
    RMAN-11003: failure during parse/execution of SQL statement: alter database recover if needed
    start until time 'MAR 06 2013 09:45:00'
    ORA-00283: recovery session canceled due to errors
    ORA-00313: open failed for members of log group 1 of thread 1
    ORA-00312: online log 1 thread 1: '+DG_REDO/orcl/onlinelog/group_1.257.807150859'
    ORA-17503: ksfdopn:2 Failed to open file +DG_REDO/orcl/onlinelog/group_1.257.807150859
    ORA-15012: ASM file '+DG_REDO/orcl/onlinelog/group_1.257.807150859' does not exist
    Doubts:
    1. Why did recovery failed 2nd time, but not 1st time and why is RMAN looking for online redo log group_1.257.807150859 in 2nd recovery ?
    3. I tried restoring control file from AutoBackup, in that case both 1st and 2nd recovery succeeded.
    However for this to work, I always need to keep the AutoBackup feature enabled.
    How reliable is control file AutoBackup ? Is there any alternative to using AutoBackup, can I restore control file from snapshot backup only ?
    4. If I restore control file from AutoBackup, then from what point of time/SCN does RMAN restores the control file ?
    Please help me out in this issue.
    Thanks.

    992748 wrote:
    Hello experts,
    I'm little newbie to RMAN recovery. Please help me in these doubts:
    1. If I have datafiles, archive logs & control files backup, but current online REDO logs are lost, then can I perform incomplete database recovery ?yes, if you have backups of everything else
    2. Till what maximum time/scn can incomplete database recovery be performed ??Assuming the only thing lost is the redo logs, you can recover to the last scn in the last archivelog.
    3. What is role of online REDO logs in incomplete database recovery ? They provide the final redo changes - the ones that have not been written to archivelogs
    Are they required for incomplete recovery ?It depends on how much incomplete recovery you need to do.
    Think of all of your changes as a constant stream of redo information. As a redolog fills, it is copied to archive, then (eventually) reused. over time, your redo stream is in archivelog_1, continuing into archvivelog_2, then to 3, and eventually, when you get to the last archivelog, into the online redo. A recovery will start with the oldest necessary point in the redo stream and continue forward. Whether or not you need the online redo for a PIT recovery depends on how far forward you need to recover.
    But you should take every precaution to prevent loss of online redo logs .. starting with having multiple members in each redo group ... and keeping those multiple members on physically separate disks.

  • "Fatal error, run database recovery " when there are no txns to recover.

    Hi, all.
    I have a DB file containing multiple databases. Without using DBEnvironments, I can open it to get the dbnames. I can open the databases RDONLY,
    and see that their contents are correct. I can open them RW, and everything works.
    But when I try to create a new one, I get this:
    D = bsddb3.db.DB()
    D.open('test.db',dbname='test',dbtype=B.DB_BTREE,flags=B.DB_CREATE)Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    bsddb3.db.DBRunRecoveryError: (-30974, 'DB_RUNRECOVERY: Fatal error, run database recovery -- PANIC: fatal region error detected; run recovery')
    Note that this is in the non-transactional case. There is no Env, and there are no logfiles or __db files. So the error code mystifies me.
    Strace shows that the file is opened RW, and read through.
    B.DB_VERSION_STRING'Berkeley DB 4.8.24: (August 14, 2009)'
    >>>
    So, where to proceed? Many thanks for any and all help.

    Hmm. Other thing to note:
    [tradedesk@vader 2010-05-06.test]$ /usr/local/BerkeleyDB.4.8/bin/db_verify foo.db
    db_verify: Subdatabase entry references page 266 of invalid type 13
    db_verify: Page 0: non-invalid page 40 on free list
    db_verify: trading.db: DB_VERIFY_BAD: Database verification failed
    Not sure how that came about or how to prevent it, but it might have to do wit this issue.

  • Failure during database recovery on Homogeneous System Copy

    Dear all,
    i am trying to do system copy, and it fails after the execution step:  database recovery
    MaxDB: 7.6.5.15
    SAP Netweaver 7 Ehp 1
    apparantly this is something to do with LOAD_SYSTAB.
    I could run load_systab [-u <sysdba_user>,<sysdba_user_password>] manually, but the Log file of SAPinst shows the following:
    WARNING[E] 2009-09-28 17:17:57.328
               CJSlibModule::writeError_impl()
    The dbmcli call for action LOAD_SYSTAB failed. SOLUTION: Check the logfile XCMDOUT.LOG.
    TRACE      2009-09-28 17:17:57.546 [iaxxejsbas.hpp:408]
               handleException<ESAPinstJSError>()
    Converting exception into JS Exception EJSException.
    TRACE      2009-09-28 17:17:57.562
    Function setMessageIdOfExceptionMessage: dbmodada.actorext.dbmcliCallFailed
    WARNING[E] 2009-09-28 17:17:57.562
               CJSlibModule::writeError_impl()
    The dbmcli call for action LOAD_SYSTAB failed. SOLUTION: Check the logfile XCMDOUT.LOG.
    TRACE      2009-09-28 17:17:57.562 [iaxxejsbas.hpp:483]
               EJS_Base::dispatchFunctionCall()
    JS Callback has thrown unknown exception. Rethrowing.
    ERROR      2009-09-28 17:17:57.781 [sixxcstepexecute.cpp:950]
    FCO-00011  The step sdb_instance_load_systables with step key |NW_ABAP_OneHost|ind|ind|ind|ind|0|0|NW_Onehost_System|ind|ind|ind|ind|1|0|NW_CreateDBandLoad|ind|ind|ind|ind|10|0|NW_CreateDB|ind|ind|ind|ind|0|0|NW_ADA_DB|ind|ind|ind|ind|6|0|SdbPreInstanceDialogs|ind|ind|ind|ind|4|0|SdbInstanceDialogs|ind|ind|ind|ind|1|0|SDB_INSTANCE_CREATE|ind|ind|ind|ind|0|0|sdb_instance_load_systables was executed with status ERROR .
    TRACE      2009-09-28 17:17:58.93 [iaxxgenimp.cpp:752]
                CGuiEngineImp::showMessageBox
    <html> <head> </head> <body> <p> An error occurred while processing option SAP NetWeaver 7.0 including Enhancement Package 1 Support Release 1 > Software Life-Cycle Options > System Copy > MaxDB > Target System Installation > Central System > Based on AS ABAP > Central System. You can now: </p> <ul> <li> Choose <i>Retry</i> to repeat the current step. </li> <li> Choose <i>View Log</i> to get more information about the error. </li> <li> Stop the option and continue with it later. </li> </ul> <p> Log files are written to C:\Program Files/sapinst_instdir/NW701/LM/COPY/ADA/SYSTEM/CENTRAL/AS-ABAP/. </p> </body></html>
    TRACE      2009-09-28 17:17:58.109 [iaxxgenimp.cpp:1255]
               CGuiEngineImp::acceptAnswerForBlockingRequest
    Waiting for an answer from GUI
    XCMDOUT.LOG shows only the SAP users data from the source system, and not for the target system which is having the error.
    Could somebody please advise me what to do?
    Thank you,
    Mariana

    Dear Christian,
    yes, I solved this LOAD_SYSTAB problem.
    This is what I did:
    1. check XCMDOUT.LOG
    2. However in my case, I did not see any clue there, so I read this link about LOAD_SYSTAB http://maxdb.sap.com/doc/7_7/45/11cbd6459d7201e10000000a155369/content.htm
    I tried it manually, and it worked: dbmcli u2013d <DB_ID> u2013u DBMUser,password1 load_systab u2013u superdba,password2
    From there, I know that I entered the wrong SYSADM User (superdba) password, this password was in my case the same one a SAPinst Master Password.
    According to https://websmp130.sap-ag.de/sap(bD1kZSZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=25591
    a new installation of MaxDB database, by default, the credential for SYSADM is: "superdba,admin"
    So, accordingly, the solution is:
    change the SYSADM for the <DB_ID> in DBMGUI: D7D - Configuration - Database User area, exactly as the SAPinst Master Passwort.
    Hope this helps.
    Regards,
    Mariana

  • Database recovery (online redolog ?)

    hi all,
    Been awhile since i touch on oracle db, i have been reading around and the emphasis for recovery is always on the backup and archivelog, but i think its wrong.
    can i check ->
    q1) for full database recovery, do i need the online redo log as well ?
    q2) if the answer to q1) is yes, how do i duplicate online redo log to standby site ? (i don't think rsync will work as it cannot sure consistency in the redolog)
    will oracle dataguard sync online redolog as well ?
    q3) for archivelog, beside manual rsyncing, LOG_ARCHIVE_DEST_2 = 'SERVICE=standby1'
    do i need the enterprise edition for the above ?
    Regards,
    Alan

    q1) For a complete recovery, yes you need online redolog as well. Without online redolog,its still considered incomplete recovery since u lose data resides in online redolog
    q2) You no need to synch online redo log manually. Once the backup is restored to the DR dataguard site and MRP process initiated, Oracle will synch online redolog/archivelog automatically based on protection mode specified
    q3) Oracle dataguard applies to Enterprise Edition only. Without Enterprise Edition, we can configure log shipping (manual way).
    Regards,
    Ilan

  • DB_RUNRECOVERY: Fatal error, run database recovery

    I am getting this error when trying to add data to QUEUE. But after I restart my app, this error does not happen anymore.
    2009-08-16 10:27:12.558990 [ERR] mod_cdr_bdb.c:370 Unable to add cdr to Queue. Error=DB_RUNRECOVERY: Fatal error, run database recovery
    Does anyone know what could be the cause of the error?

    Hi,
    Do you know the steps that lead up to this error? Can you reproduce it?
    Were there any error messages sent to the error log file? Can you confirm that you have verbose error messages turned on by always initializing one of the error callback interfaces in your environment. This will provide verbose error messages:
    DB_ENV->set_errcall, DB_ENV->set_errfile, DB_ENV->set_errpfx, and DB_ENV->set_verbose.
    What flags are you using when opening the environment and the database?
    The procedure you have to follow when you receive this error is described here: [DB_RUNRECOVERY|http://www.oracle.com/technology/documentation/berkeley-db/db/ref/program/errorret.html#DB_RUNRECOVERY]
    DB_RUNRECOVERY:
    There exists a class of errors that Berkeley DB considers fatal to an entire Berkeley DB environment. An example of this type of error is a corrupted database page. The only way to recover from these failures is to have all threads of control exit the Berkeley DB environment, run recovery of the environment, and re-enter Berkeley DB. (It is not strictly necessary that the processes exit, although that is the only way to recover system resources, such as file descriptors and memory, allocated by Berkeley DB.)
    When this type of error is encountered, the error value DB_RUNRECOVERY is returned. This error can be returned by any Berkeley DB interface. Once DB_RUNRECOVERY is returned by any interface, it will be returned from all subsequent Berkeley DB calls made by any threads of control participating in the environment.
    Applications can handle such fatal errors in one of two ways: first, by checking for DB_RUNRECOVERY as part of their normal Berkeley DB error return checking, similarly to DB_LOCK_DEADLOCK or any other error. Alternatively, applications can specify a fatal-error callback function using the DB_ENV->set_event_notify method. Applications with no cleanup processing of their own should simply exit from the callback function.Thanks,
    Bogdan Coman

  • Object Level Recovery or Whole Database recovery

    I'm hoping someone may know how to advise me on the following;
    On a datawarehouse db (10.2.0.1.0) a team member removed records from three tables, and I have since attempted flashback recovery without success. The database is in Archivelog mode, with Flashback enabled, but no Flashback logging enabled. The rows were removed on Friday afternoon (it is now Monday). I attempted to get flashback logging enabled by tagging the "Enable Flashback Database" tag in the Flash Recovery region of Recovery settings, and restarting the database. The database when restarted went into mount state, and subsequently on restarting (from mount - I did not dismount the db), it still has Flashback logging disabled. I attempted flashback again but the team member states the record stil arn't there. EM however had given the message 'The select tables...X X....have been flashed back'. However I can see also that Em says flashback logging is still disabled.
    I now consider I might be better off to perform a 'Whole Database Recovery', as I simply want to get the tables recovered. I'm not sure if this will mean re-keying though. Can anyone advise? Thanks in advance. DW
    Message was edited by:
    David_W

    The first step you should try is flashback query. Because using flashback query your database will remain intact, you don't lose anything from your database. Of course most likely it's too late for you now. Just for future reference.
    Flashback database is only available after you configured Flash Recovery Area and turn it on. Sound like it's does apply here as well. Remember even you could successful flashback your database to the point before deletion, you will lost all data changes after that point. Flashback database only buy you sometime, because you don't need to restore datafile from backup.
    The third option would be restore from your last backup, ( the latest one before deletion happen) and do incomplete restore to the point in time right before the incident.

  • Database Recovery Scripts

    Does anyone have a set of database recovery scripts for various scenarios for 8i and 9i databases running on Windows 2000 and 2003?
    Cheers,
    Derek.

    >>
    We do a cold backup each night and have archive on. The scenarios are any that may occur i.e., media failure, dropped tables, lost control files etc.
    >>
    Hey Derek, the problem with cold backup is incase of media recovery required, you can't simply resotre the datafile/s which have/has problems. You need to restore complete database.
    Its difficult to have incomplete reocvery or point-in-time recovery having cold backups.
    I strongly recommend you start thinking about online backups. You need to assess your business requirements, and much you can efforts to loose?
    jaffar

  • Database Recovery Time

    Hi
    How to calculate Database recovery time in 10g? On what factors does it depend on?
    Regards
    JIL

    JIL wrote:
    Hi
    How to calculate Database recovery time in 10g? On what factors does it depend on?
    Regards
    JILIts depend on:-
    (1)Your backup stratergy.
    (2)How much work you need to do during recovery like, number of archive log file/incremental backup needed for recovery.
    (3)Whether require archive log file on disk or on tape.
    (4)Whther you store baclup as file copy or backupset.
    (5)And most important is, Your expertise on backup and recovery.

  • Need help on Database recovery

    Hi All,
    My Development system got crashed, I want to do the database recovery. i tried to do it, but it didn't work. Some of the data files got corrupted. can any one helps me out in this.
    Thanks,
    Swetha.

    thx

  • Incomplete Database Recovery

    Can anyone help me how to do a Incomplete recovery database recovery (Change/Time/Cancel) based.
    I tried by looking documentation , but always I end up with error.
    Many Thanks
    -Prabhu

    Hi,
    Would you please post what you do and what error you have?
    Michel

  • Database Recovery in NOARCHIVELOG Mode

    Hi All,
    I was trying to 'startup' my database & encountered the following error in the alert.log
    ORA-01242: data file suffered media failure: database in NOARCHIVELOG mode
    ORA-01122: database file 469 failed verification check
    ORA-01110: data file 469: '/ora/ctcm_uat02/CMOLP1/undo/CMOLP1_undots_30.dbf'
    ORA-01209: data file is from before the last RESETLOGS
    I then looked up on the internet and since the error was related to the UNDO TABLESPACE, i did the following:
    sql>startup mount
    sql>alter database datafile '/ora/ctcm_uat02/CMOLP1/undo/CMOLP1_undots_30.dbf' offline drop;
    sql>alter database open
    Thereafter the database kept on erroring on all the datafiles belonging to the undo tablespaces and i dropped all the datafiles belonging to the undo tablespace using the above command. (alter database datafile ....offline drop).
    Next, i tried to open the database and got the following error from the alert log:
    Tue May 12 18:15:24 2009
    alter database open
    Tue May 12 18:15:33 2009
    Beginning crash recovery of 1 threads
    Tue May 12 18:15:33 2009
    Started redo scan
    Tue May 12 18:15:33 2009
    Completed redo scan
    21 redo blocks read, 3 data blocks need recovery
    Tue May 12 18:15:33 2009
    Started recovery at
    Thread 1: logseq 252, block 2, scn 1917.14626262
    Tue May 12 18:15:33 2009
    Recovery of Online Redo Log: Thread 1 Group 3 Seq 252 Reading mem 0
    Mem# 0 errs 0: /ora/ctcm_dev/CMOLP1/redo/CMOLP1_redo03a.dbf
    Tue May 12 18:15:33 2009
    Completed redo application
    Tue May 12 18:15:33 2009
    Ended recovery at
    Thread 1: logseq 252, block 23, scn 1917.14646284
    3 data blocks read, 3 data blocks written, 21 redo blocks read
    Crash recovery completed successfully
    Tue May 12 18:15:35 2009
    Thread 1 advanced to log sequence 253
    Thread 1 opened at log sequence 253
    Current log# 4 seq# 253 mem# 0: /ora/ctcm_dev/CMOLP1/redo/CMOLP1_redo04a.dbf
    Successful open of redo thread 1
    Tue May 12 18:15:38 2009
    LOG_CHECKPOINT_INTERVAL was set when MTTR advisory was switched on.
    Tue May 12 18:15:38 2009
    SMON: enabling cache recovery
    Tue May 12 18:15:38 2009
    Successfully onlined Undo Tablespace 1.
    Tue May 12 18:15:39 2009
    SMON: enabling tx recovery
    Tue May 12 18:15:39 2009
    Database Characterset is US7ASCII
    Tue May 12 18:15:39 2009
    SMON: about to recover undo segment 1
    Can someone please help me on this issue? Thanks and Regards

    Hi ERROR,
    I think i figured out the hidden parameter that you were referring to.
    (1) I set the allowresetlogs_corruption=TRUE and commented undo_management. Then opened the database using--> alter database open resetlogs;
    But still was not able to start the database. The alert log entries are as below:
    ALTER DATABASE   MOUNT
    Thu May 14 18:11:56 2009
    Successful mount of redo thread 1, with mount id 4113112614
    Thu May 14 18:11:56 2009
    Database mounted in Exclusive Mode.
    Completed: ALTER DATABASE   MOUNT
    Shutting down instance: further logons disabled
    Shutting down instance (immediate)
    License high water mark = 2
    Thu May 14 18:12:05 2009
    ALTER DATABASE CLOSE NORMAL
    ORA-1109 signalled during: ALTER DATABASE CLOSE NORMAL...
    Thu May 14 18:12:05 2009
    ALTER DATABASE DISMOUNT
    Completed: ALTER DATABASE DISMOUNT
    ARCH: Archiving is disabled
    Shutting down archive processes
    Archiving is disabled
    Archive process shutdown avoided: 0 active
    ARCH: Archiving is disabled
    Would be great if you can help me further on this.
    Regards,
    Fuzzy

  • Problem in Database Recovery..

    I m working at Test Environment, My database is running in ArchiveLogMode. I have current backup and old backup (one month old),
    For practice of Backup & Recovery, I deleted the control files, online redo logs and data files and restored from old backup(one month old).
    Note: I want to let you know that I have all the ArchivedRedoLog files and I have also created one tablespace (tablespace: abamco_test)that is not available in old backup.
    Is it possible to recover that tablespace with only ArchivedRedoLog files (No datafile backup)??????????
    =========================================================================
    SQL> select name from v$database;
    NAME
    ROCK
    SQL> shutdown immediate
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    <><> deleted all the datafiles, redologs, and control files.
    <><> copied & pasted all the redologs, and control files from one month old backup
    SQL> startup
    ORACLE instance started.
    Total System Global Area 167772160 bytes
    Fixed Size 1247876 bytes
    Variable Size 83887484 bytes
    Database Buffers 75497472 bytes
    Redo Buffers 7139328 bytes
    ORA-00205: error in identifying control file, check alert log for more info
    SQL> shutdown immediate
    ORA-01507: database not mounted
    ORACLE instance shut down.
    <><> COpied One month old control file and pasted in OraData folder.
    SQL> startup
    ORACLE instance started.
    Total System Global Area 167772160 bytes
    Fixed Size 1247876 bytes
    Variable Size 83887484 bytes
    Database Buffers 75497472 bytes
    Redo Buffers 7139328 bytes
    Database mounted.
    ORA-01157: cannot identify/lock data file 1 - see DBWR trace file
    ORA-01110: data file 1: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ROCK\SYSTEM01.DBF'
    SQL> shutdown immediate
    ORA-01109: database not open
    Database dismounted.
    ORACLE instance shut down.
    <><> Copied all the datafiles, oneline redo log files from one month Old backup.
    SQL> startup
    ORACLE instance started.
    Total System Global Area 167772160 bytes
    Fixed Size 1247876 bytes
    Variable Size 83887484 bytes
    Database Buffers 75497472 bytes
    Redo Buffers 7139328 bytes
    Database mounted.
    ORA-01113: file 1 needs media recovery
    ORA-01110: data file 1: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ROCK\SYSTEM01.DBF'
    SQL> recover database;
    ORA-00283: recovery session canceled due to errors
    ORA-01110: data file 6: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ROCK\ABAMCO_TEST01.DBF'
    ORA-01157: cannot identify/lock data file 6 - see DBWR trace file
    ORA-01110: data file 6: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ROCK\ABAMCO_TEST01.DBF'
    SQL> shutdown immediate
    ORA-01109: database not open
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup
    ORACLE instance started.
    Total System Global Area 167772160 bytes
    Fixed Size 1247876 bytes
    Variable Size 83887484 bytes
    Database Buffers 75497472 bytes
    Redo Buffers 7139328 bytes
    Database mounted.
    ORA-01122: database file 1 failed verification check
    ORA-01110: data file 1: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ROCK\SYSTEM01.DBF'
    ORA-01207: file is more recent than control file - old control file
    SQL> recover database;
    ORA-00283: recovery session canceled due to errors
    ORA-01122: database file 1 failed verification check
    ORA-01110: data file 1: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ROCK\SYSTEM01.DBF'
    ORA-01207: file is more recent than control file - old control file
    SQL> shutdown immediate;
    ORA-01109: database not open
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup nomount;
    ORACLE instance started.
    Total System Global Area 167772160 bytes
    Fixed Size 1247876 bytes
    Variable Size 83887484 bytes
    Database Buffers 75497472 bytes
    Redo Buffers 7139328 bytes
    SQL> alter database backup controlfile to trace;
    alter database backup controlfile to trace
    ERROR at line 1:
    ORA-01507: database not mounted
    SQL> alter database mount;
    Database altered.
    SQL> alter database backup controlfile to trace;
    Database altered.
    SQL> shutdown immediate;
    ORA-01109: database not open
    Database dismounted.
    ORACLE instance shut down.
    <><> copied the (contents) from generated file and saved in controlfile_recover.sql script.
    STARTUP NOMOUNT
    CREATE CONTROLFILE REUSE DATABASE "ROCK" NORESETLOGS ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
    LOGFILE
    GROUP 1 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ROCK\REDO01.LOG' SIZE 50M,
    GROUP 2 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ROCK\REDO02.LOG' SIZE 50M,
    GROUP 3 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ROCK\REDO03.LOG' SIZE 50M
    -- STANDBY LOGFILE
    DATAFILE
    'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ROCK\SYSTEM01.DBF',
    'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ROCK\UNDOTBS01.DBF',
    'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ROCK\SYSAUX01.DBF',
    'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ROCK\USERS01.DBF',
    'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ROCK\SYSTEM03.DBF',
    'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ROCK\ABAMCO_TEST01.DBF'
    CHARACTER SET WE8MSWIN1252
    SQL> @D:\controlfile_recover.sql
    ORACLE instance started.
    Total System Global Area 167772160 bytes
    Fixed Size 1247876 bytes
    Variable Size 83887484 bytes
    Database Buffers 75497472 bytes
    Redo Buffers 7139328 bytes
    CREATE CONTROLFILE REUSE DATABASE "ROCK" RESETLOGS ARCHIVELOG
    ERROR at line 1:
    ORA-01503: CREATE CONTROLFILE failed
    ORA-01565: error in identifying file 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ROCK\ABAMCO_TEST01.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-01507: database not mounted
    ALTER DATABASE OPEN RESETLOGS
    ERROR at line 1:
    ORA-01507: database not mounted
    ALTER TABLESPACE TEMP ADD TEMPFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ROCK\TEMP01.DBF' REUSE
    ERROR at line 1:
    ORA-01109: database not open
    SQL> alter tablespace ABAMCO_TEST offline;
    alter tablespace ABAMCO_TEST offline
    ERROR at line 1:
    ORA-01109: database not open
    SQL>
    SQL>
    SQL> shutdown immediate;
    ORA-01507: database not mounted
    ORACLE instance shut down.
    <><> I removed one line 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ROCK\ABAMCO_TEST01.DBF' from controlfile_recover.sql
    SQL> @D:\controlfile_recover.sql
    ORACLE instance started.
    Total System Global Area 167772160 bytes
    Fixed Size 1247876 bytes
    Variable Size 83887484 bytes
    Database Buffers 75497472 bytes
    Redo Buffers 7139328 bytes
    CREATE CONTROLFILE REUSE DATABASE "ROCK" RESETLOGS ARCHIVELOG
    ERROR at line 1:
    ORA-01503: CREATE CONTROLFILE failed
    ORA-01163: SIZE clause indicates 12800 (blocks), but should match header 1536
    ORA-01110: data file 5: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ROCK\SYSTEM03.DBF'
    ORA-01507: database not mounted
    ALTER DATABASE OPEN RESETLOGS
    ERROR at line 1:
    ORA-01507: database not mounted
    ALTER TABLESPACE TEMP ADD TEMPFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ROCK\TEMP01.DBF' REUSE
    ERROR at line 1:
    ORA-01109: database not open
    SQL> SHUTDOWN IMMEDIATE;
    ORA-01507: database not mounted
    ORACLE instance shut down.
    SQL> @D:\controlfile_recover.sql
    ORACLE instance started.
    Total System Global Area 167772160 bytes
    Fixed Size 1247876 bytes
    Variable Size 83887484 bytes
    Database Buffers 75497472 bytes
    Redo Buffers 7139328 bytes
    CREATE CONTROLFILE REUSE DATABASE "ROCK" RESETLOGS ARCHIVELOG
    ERROR at line 1:
    ORA-01503: CREATE CONTROLFILE failed
    ORA-01163: SIZE clause indicates 16384 (blocks), but should match header 1536
    ORA-01110: data file 5: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ROCK\SYSTEM03.DBF'
    ORA-01507: database not mounted
    ALTER DATABASE OPEN RESETLOGS
    ERROR at line 1:
    ORA-01507: database not mounted
    ALTER TABLESPACE TEMP ADD TEMPFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ROCK\TEMP01.DBF' REUSE
    ERROR at line 1:
    ORA-01109: database not open
    SQL> shutdown immediate;
    ORA-01507: database not mounted
    ORACLE instance shut down.
    SQL> @D:\controlfile_recover.sql
    ORACLE instance started.
    Total System Global Area 167772160 bytes
    Fixed Size 1247876 bytes
    Variable Size 83887484 bytes
    Database Buffers 75497472 bytes
    Redo Buffers 7139328 bytes
    CREATE CONTROLFILE REUSE DATABASE "ROCK" RESETLOGS ARCHIVELOG
    ERROR at line 1:
    ORA-01503: CREATE CONTROLFILE failed
    ORA-01163: SIZE clause indicates 32768 (blocks), but should match header 1536
    ORA-01110: data file 5: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ROCK\SYSTEM03.DBF'
    ORA-01507: database not mounted
    ALTER DATABASE OPEN RESETLOGS
    ERROR at line 1:
    ORA-01507: database not mounted
    ALTER TABLESPACE TEMP ADD TEMPFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ROCK\TEMP01.DBF' REUSE
    ERROR at line 1:
    ORA-01109: database not open
    SQL> shutdown immediate;
    ORA-01507: database not mounted
    ORACLE instance shut down.
    SQL> @D:\controlfile_recover.sql
    ORACLE instance started.
    Total System Global Area 167772160 bytes
    Fixed Size 1247876 bytes
    Variable Size 83887484 bytes
    Database Buffers 75497472 bytes
    Redo Buffers 7139328 bytes
    CREATE CONTROLFILE REUSE DATABASE "ROCK" RESETLOGS ARCHIVELOG
    ERROR at line 1:
    ORA-01503: CREATE CONTROLFILE failed
    ORA-01163: SIZE clause indicates 65536 (blocks), but should match header 1536
    ORA-01110: data file 5: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ROCK\SYSTEM03.DBF'
    ORA-01507: database not mounted
    ALTER DATABASE OPEN RESETLOGS
    ERROR at line 1:
    ORA-01507: database not mounted
    ALTER TABLESPACE TEMP ADD TEMPFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ROCK\TEMP01.DBF' REUSE
    ERROR at line 1:
    ORA-01109: database not open
    SQL>
    Any suggestions? what should I do now?

    Here's what I found on Metalink :
    Subject: ORA-1163 creating a controlfile
    Doc ID: Note:377933.1 Type: PROBLEM
    Last Revision Date: 24-JUL-2006 Status: REVIEWED
    Problem Description:
    ====================
    You are attempting to recreate your controlfile after a clean shutdown ( shutdown normal or immediate)
    Upon running the create controlfile script you receive:
    CREATE CONTROLFILE REUSE DATABASE "PRODAB" NORESETLOGS ARCHIVELOG
    ERROR at line 1:
    ORA-01503: CREATE CONTROLFILE failed
    ORA-01163: SIZE clause indicates 12800 (blocks), but should match header 240160
    ORA-01110: data file X: '<full path of datafile>'
    Problem Explanation:
    ====================
    Sample controlfile.sql
    CREATE CONTROLFILE REUSE DATABASE "PRODAB" NORESETLOGS ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 454
    LOGFILE
    GROUP 1 '/oradata/PROD/redo01.log' SIZE 10M,
    GROUP 2 '/oradata/PROD/redo02.log' SIZE 10M,
    GROUP 3 '/oradata/PROD/redo03.log' SIZE 10M
    -- STANDBY LOGFILE
    DATAFILE
    '/oradata/PROD/system01.dbf',
    '/oradata/PROD/undotbs01.dbf',
    '/oradata/PROD/sysaux01.dbf',
    '/oradata/PROD/users01.dbf', <----------------Notice the extra comma after thelast datafile.
    CHARACTER SET WE8ISO8859P1
    Search Words:
    =============
    create controlfile ORA-1503 ORA-1163 ORA-1110
    Solution Description:
    =====================
    This extra comma is causing the create controlfile to raise this unexpected error as seen above.
    Solution Explanation:
    =====================
    This is a syntax error and by removing the trailing comma the create control should bypass this error.
    Wow ! Oracle made a syntax error ! why am i not surprised ? :)
    Thanks Khurram for your help !

  • Exchange 2010 - Mail Database Recovery after Database Portability Applied

    Background:
    We had a city-wide power failure  at Office A and as a result Exchange Server A (ES-A) was taken offline for an extended period of time.  The last good backup of ES-A-DB was from the previous business day.  The DR plan was enacted and the
    ES-A mailbox database (ES-A-DB) was recovered to Exchange Server B (ES-B) as ES-B-DB2.  Keeping in mind that a days worth of emails still reside on ES-A-DB.
    Process:
    I employed the database portability method when restoring the ES-A-DB to ES-B-DB2 at Office B.  I rehomed the exchange users in active directory to now use ES-A-DB2.  Users are working fine, activesync worked without issue.  All is well.
    I now face the situation where power has been restored to Office A and the server is available.  I have NOT turned this server on yet as I am not sure what the net affect will be on ES-A and ES-A-DB.
    The primary goal of the business is to recover the mail items from the missing day that was not backed up and recovered to ES-B-DB2.  What would be the best way to do achieve this objective?  
    This is what I am thinking, though its all theoretical since I've never been in this situation.
    - boot the Exchange Server with the network card disconnected
    - Dismount ES-A-DB from ES-A
    - Remove ES-A-DB from Exchange Org on ES-B
    - Process logs and put the ES-A-DB in a Clean state
    - mount as recovery database
    - copy differential mail items to ES-B-DB2 mailboxes
    Anyone have insight on this?
    Thanks for your help in advance.

    No need to dismount , remove from the org or boot the server w/o a NIC. The association between Exchange and the user is in AD and you already changed that when you set the new database with database portability.
    I would just follow the instructions for restoring back to their current production mailboxes (DB2).
    http://exchangeserverpro.com/restoring-mailbox-exchange-server-2013-recovery-database/
    Try it with a sample mailbox or two and see how it handles the conflict resolution for duplicates.
    Twitter!: Please Note: My Posts are provided “AS IS” without warranty of any kind, either expressed or implied.

  • Exchange 2010 Databases' recovery point volume is too large.

    I have DPM 2012 SP1 backing up exchange databases exclusively.
    One protection group is for Exchange 2010 and the other is for exchange 2013. EseUtil.exe is only working for 2013.
    The 2010 databases have gigantic recovery volumes (40 GB for a 95 GB database!) while it is less than 1 GB used for Exchange 2013 ones (55 GB replica)
    The 2010 sync every one hour and the 2013 sync every 15 minutes. both have express backup at 8 PM and retention for 1 day.
    is there any explanation for this behavior??
    the capacity on the DPM server is limited.

    Hi,
    It could be page zeroing in Exchange 2010.
    See this blog:
    http://blogs.technet.com/b/timmcmic/archive/2013/05/20/exchange-2010-page-zeroing-and-vss-based-backups.aspx
    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. Regards, Mike J. [MSFT]
    This posting is provided "AS IS" with no warranties, and confers no rights.

Maybe you are looking for