PL/SQL scrpt to automate DATABASE RECOVERY using logical backups com, cum, inc export

Hellow friends,
I am writing a script TO RECOVER MY DATABASE FROM EXPORT BACKUPS IN PL/SQL, which are stored in my folder
F:\ORACLE\ORADATA\BACKUPS.
There are many export backups in this folder comprising of some COMPLETE, CUMULATIVE and INCREMENTAL exports with timestamp embedded in the names.
I want to choose from these files, which file to apply.
can anybody tell me that is there any method available in PL/SQL to handle file.

Refer to any pl/sql 2.3 and higher manual . There is a package called utl.file.

Similar Messages

  • ORA-01610: recovery using the BACKUP CONTROLFILE option must be done

    Hello All,
    I have an instance on my LAB server. To explore more avenues in cloning a DB I did the following.
    1. On my Oracle 10g Instance I fired an large query which would take atleast an hour to execute.
    2. Opened another session and executed shu ABORT to shutdown the above instance abruptly.
    3. Took backup of datafiles, archive logs and redologs [ prior to shu abort, I had issued ALTER DATABASE BACKUP CONTROLFILE TO TRACE]
    Restoration steps:
    NOMOUNT with pfile edited to hold the name of the new DB_NAME
    Create control file script edited to reflect the new paths of datafile and redologs.
    MOunted succesfully.
    ALTER DATABASE OPEN RESETLOGS;
    ERROR at line 1:
    ORA-01194: file 1 needs more recovery to be consistent
    ORA-01110: data file 1:
    'F:\ORACLE\COLD_BACKUP_TRIAL\SET2\DATAFILE\DUPLISYSTEM_553LC8QX_.DBF'
    SQL> recover datafile 'F:\ORACLE\COLD_BACKUP_TRIAL\SET2\DATAFILE\DUPLISYSTEM_553LC8QX_.DBF';
    ORA-00283: recovery session canceled due to errors
    ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
    SQL> recover database using backup controlfile;
    ORA-00279: change 2962256 generated at 09/03/2009 12:06:49 needed for thread 1
    ORA-00289: suggestion :
    F:\ORACLE\COLD_BACKUP_TRIAL\SET2\FLASH_RECOVERY_AREA\DUPLI\ARCHIVELOG\2009_09_23
    \O1_MF_1_2_%U_.ARC
    ORA-00280: change 2962256 for thread 1 is in sequence #2
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    F:\oracle\cold_backup_trial\SET2\ONLINELOG_BK\O1_MF_3_553LGCH3_.log
    ORA-00342: archived log does not have expected resetlogs SCN 2933995
    ORA-00334: archived log:
    'F:\ORACLE\COLD_BACKUP_TRIAL\SET2\ONLINELOG_BK\O1_MF_3_553LGCH3_.LOG'
    I didn't find the file it was suggesting so I tried many combinations of providing the right recovery file name :-- All the latest Archive logs and Redologs in my backup.
    Still the recovery is not successful. Please let me know how can I recover my DATABASE.
    Many thanks in advance.
    Regards,
    Valli

    Greetings,
    If I understood, you basically have a copy of a primary database and the redo log archives of this pretty same database, you have backed up the control file of this primary database, edited it pointing all paths of your datafiles to the new location but renaming the instance name.
    I am assuming that you have edited the first line of your control file to something like "CREATE CONTROLFILE SET DATABASE "DB02" RESETLOGS ARCHIVELOG", in this case are you sure that the redolog archives have not loose the sequence? In this case it will ask more and more archives and it will never end, take a look at the date and time of the thread that your instance is asking for recovery. Is your instance a production database? If it is NOT production and you are SURE that the database is completely recovered and is asking for redolog files that does not even exist you can try to add the ALLOWRESETLOGS_CORRUPTION=TRUE to your init.ora and open the db... This solution is not recommended and you should never use it on production instances... take this hint as a LAST effort to bring your db online.
    Regards,
    Bruno Carvalho

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

  • Database Recovery using Archive files

    Dears,
    Due to some issue our database get crashed.
    We have saturday night offline backup and archive backup till yesterday night.
    We have restored offline backup and system is Up but it is on saturday night state.
    We want to apply these archive files to make the system state to current.
    In restore our control file also get replace with our saturday night control file status.
    We have copied our archive files in oraarch directory.
    Now when using brtools I am applying archive files:
    Command executing in brtools:
    recover from '/oracle/<SID>/oraarch' database
    it shows
    unknow command beginning
    No recovery required
    On sqlplus also when I execute
    sql>recover database;
    It shows no recovery required.
    When I give command:
    sql>recover database using backup control file;
    it ask for some {file name| AUTO | CANCEL}
    I give first file name of oraarch it shows "Can not access the file".
    File permissions are ok.
    I give AUTO, It also then do not do anything.
    Please suggest the correct method to make my system in latest current date.
    Shivam

    Hi Shivam,
    This is absolutely normal that during the restore your control files will be replaced by the old one which were backed up during database backup.
    Logic is that you can not apply the redolgs which are having the timestamps older than your  restored datafile's / controlfile's timestamp.
    If your DB is not yet opened, you can check the status of your database using below command which will tell you, till what timestamp your data is restored or currently available.
    select to_char(CHECKPOINT_TIME,'yyyy-mm-dd:hh24:mi:ss') from v$datafile where file#=1;
    >
    > From command I want to know "from backup control file"....Do SAP take backup of control file as in system only old is
    >
    > available.
    > Shivam
    >
    recover database using backup controlfile.....  this command does not backup the controlfile . this will make use of old controlfile only which came along with the restore  and start the recovery using this controlfile only.
    Its just make use of available controlfile ..No backup will be triggered.
    Please make a note that after DB restore; ..recovery is possible only in case database is not yet opened in OPEN state.
    Cheers !!!
    Ashish

  • Recovery using Hot Backup

    We have to create a new enviornment(pre-prod) using Hot backup (restore from tape of last week) of the current prod DB, we have installed the same version of software as in prod and prepared init file but i am not sure about how we are going to do the recovery from last week backup,it would be a incomplete recovery as they want data till last week only,to my knowledge..we will create a new control file and open the DB using resetlogs...please can somebody help/guide me more on this...please share the steps required.
    Thank You

    We have to create a new enviornment(pre-prod) using Hot backup (restore from tape of last week) of the current prod DB, we have installed the same version of software as in prod and prepared init file but i am not sure about how we are going to do the recovery from last week backup,it would be a incomplete recovery as they want data till last week only,to my knowledge..we will create a new control file and open the DB using resetlogs...please can somebody help/guide me more on this...please share the steps required.If you have backup of one week older, then
    1)startup instance in nomount status
    2) check the logfile of RMAN for controlfile backup piece
    or from Production give below command and check for the backup of the last week controlfile.
    RMAN> list backup of controlfile;
    note the backup piece
    3) again back to pre-prod
    RMAN> restore controlfile from 'backup piece';
    5) SQL> alter database mount;
    6) RMAN> Restore database;
    after restore database open database with resetlogs, If you see any inconsistency apply archives 1/2 or as needed for consistency. and open database with resetlogs.
    Here duplicate from active database wont work as you want 1 week older data.

  • AUXILIARY database update using full backup from target database

    Hi,
    I am now facing the problem with how to implement AUXILIARY database update to be consistent with the target database during a certain period (a week). I did a fully backup on our target database everyday using rman. I know it is possible to use expdp to realize it but i want to use the current fully backup to do it. Does anybody has idea or experience with that? Thanks in advance!
    Regards,
    lik

    That's OK. If you don't use RMAN to clone your database. You can create a database just using the cold backup of the primary database simply.
    Important things are
    1) you must catalog all datafiles as image copy level 0 in the cloned database
    RMAN> connect catalog rman/rman@rcvcat (in host 1)
    RMAN> connect target sys/manager@clonedb (in host 2)
    RMAN> catalog datafilecopy
    '/oracle/oradata/CLONE/datafile/abc.dbf',
    '/oracle/oradata/CLONE/datafile/def.dbf',
    '/oracle/oradata/CLONE/datafile/ghi.dbf'
    level 0 tag 'CLONE';
    2) You need to make incrementals of the primary database to refresh the clone database.Make sure that you need to specify a tag for the incremental and the name of tag is the exactly same as the one used step (1).
    RMAN> connect catalog rman/rman@rcvcat (in host 1)
    RMAN> connect target sys/manager@prod (in host 3)
    RMAN> backup incremental level 1 tag 'CLONE' for recover of copy with tag 'CLONE' database format '/backup/%u';
    3) Copy the newly created incrementals (in host 3) to the clone database site (host 2). Make sure the directory must be exactly same.
    $ rcp /backup/<incr_backup> /backup/
    -- rcp <the loc of a incremental in host 3> <the loc of a incremental in host 2>
    4) Apply incrementals to update the clone database. Make sure you provide the tag you specified.
    RMAN> connect catalog rman/rman@rcvcat
    RMAN> connect target sys/manager@clone
    RMAN> recover copy of database with tag 'CLONE';
    5) After update the clone database, then delete the incremental backups and uncatalog the image copies
    RMAN> delete backup tag 'CLONE';
    RMAN> change copy like '/oracle/oradata/CLONE/datafile/%' uncatalog;
    *** As you can see, you can clone a database using any methods. The key is you have to catalog the clone database when you refresh it. After finishing it, then uncatalog..

  • EBS 11i Disaster Recovery using tape backup on alternate Unix Server.

    Hi,
    I would really appreciate if you could please share with us what is the process to recovery EBS 11i environment to an alternate DR server using the latest tape backup in case any disaster happens to the existing production server.
    I need to prepare and test disaster recovery plan document using the latest tape backups.
    We have single node EBS 11i environment with Apps and DB installed on the same AIX Unix Server.
    We also have full database RMAN backup every night.
    The new alternate DR Unix server will have different hostname and IP address.
    Thanks in advance.
    Regards.

    Please refer to the following docs.
    Business Continuity for Oracle Applications Release 11i, Database Releases 9i and 10g [ID 216212.1]
    Business Continuity for Oracle E-Business Release 11i Using Oracle 11g Physical Standby Database - Single Instance and Oracle RAC [ID 1068913.1]
    Thanks,
    Hussein

  • Database Adapter using Logical Delete Polling Strategy not updating field

    I have an ESB database adapter defined against a table. The adapter is set to use the Logical Delete Polling Strategy, and the table has an extra column defined as the "delete" field. When I register the adapter to the ESB and add a record to the table, the adapter reads the contents of the record as expected. However, 15 seconds later (that being the polling interval) it reads it again, and again 15 seconds after that, ad infinitum.
    I have defined the logical delete field as a single character field and set the Read value for "T" (a record is normally inserted with that field having a null value). Results as outlined in the previous paragraph. I redefined the field as a number and set the Read value to "1" (with a record normally inserted with that field having a value of "0"). Results as outlined in the previous paragraph.
    Apparently the update of the logical delete value to the Read value is not occurring. My question (obviously) is: Why?
    Thanks for your time.

    Here is the adapter WSDL:
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions
    name="Poll_PM_LOG"
    targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/db/Poll_PM_LOG/"
    xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/db/Poll_PM_LOG/"
    xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns:jca="http://xmlns.oracle.com/pcbpel/wsdl/jca/"
    xmlns:pc="http://xmlns.oracle.com/pcbpel/"
    xmlns:top="http://xmlns.oracle.com/pcbpel/adapter/db/top/PollPMLOG"
    xmlns="http://schemas.xmlsoap.org/wsdl/">
    <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://xmlns.oracle.com/pcbpel/adapter/db/top/PollPMLOG"
    schemaLocation="PollPMLOG_table.xsd"/>
    </schema>
    </types>
    <message name="LogCollection_msg">
    <part name="LogCollection" element="top:LogCollection"/>
    </message>
    <portType name="Poll_PM_LOG_ptt">
    <operation name="receive">
    <input message="tns:LogCollection_msg"/>
    </operation>
    </portType>
    <binding name="Poll_PM_LOG_binding" type="tns:Poll_PM_LOG_ptt">
    <pc:inbound_binding/>
    <operation name="receive">
    <jca:operation
    ActivationSpec="oracle.tip.adapter.db.DBActivationSpec"
    DescriptorName="PollPMLOG.Log"
    QueryName="Poll_PM_LOG"
    PollingStrategyName="LogicalDeletePollingStrategy"
    MarkReadFieldName="PROCESSED"
    MarkReadValue="T"
    SequencingFieldName="ID"
    MaxRaiseSize="1"
    MaxTransactionSize="unlimited"
    PollingInterval="15"
    NumberOfThreads="1"
    UseBatchDestroy="false"
    ReturnSingleResultSet="false"
    MappingsMetaDataURL="PollPMLOG_toplink_mappings.xml" />
    <input/>
    </operation>
    </binding>
    <service name="Poll_PM_LOG">
    <port name="Poll_PM_LOG_pt" binding="tns:Poll_PM_LOG_binding">
    <jca:address location="eis/DB/PM"
    UIConnectionName="PM"
    ManagedConnectionFactory="oracle.tip.adapter.db.DBManagedConnectionFactory"
    />
    </port>
    </service>
    <plt:partnerLinkType name="Poll_PM_LOG_plt" >
    <plt:role name="Poll_PM_LOG_role" >
    <plt:portType name="tns:Poll_PM_LOG_ptt" />
    </plt:role>
    </plt:partnerLinkType>
    </definitions>
    The field PROCESSED is defined as CHAR(1), and is normally null when a record is inserted. The value of the field is to be set to 'T' when the record is read by the polling adapter.

  • Database cloning using cold backup

    Hello Guys,
    I am doing cloning of a database from cold backup for testing, actully one datafile has been croupted, so my issue is that, can i exclude tht datafile from controlfile when creating the controlfile and is that poosible that controlfile will created sucessfully and database will open sucessfully.
    Please reply.
    Thanks

    @asif, @ckpt
    With humble, how all you know that corrupted datafile is not belonging to system and undo tablespace? If this case, then do you think we can restore that corrupted cold-backup ? Sorry, but this is not the way to just start providing help without asking OP :
    1.Current Oracle Version ?
    2.Where he want to restore i.e. restoring platform info Oracle version OS ?
    3.After cold backup how he came to know that one datafile is corrupted ?
    4.When and how datafile became corrupted ?
    5.How he taken cold backup ? Was db running fine just before shut immediate for cold backing ?
    6.What he has done so far to restore the cold backup ?
    7.What error he is getting right now ?
    Here problem is corrupted datafile. So, first let come problem clear from OP, ask all missing question in one go, and then start helping is the right way... (my personal opinion, may be wrong!).
    Regards
    Girish Sharma

  • Differences between using Data Pump to back up database and using RMAN ?

    what are differences between using Data Pump to back up database and using RMAN ? what is CONS and PROS ?
    Thanks

    Search for Database backup in
    http://docs.oracle.com/cd/B28359_01/server.111/b28318/backrec.htm#i1007289
    In short
    RMAN -> Physical backup.(copies of physical database files)
    Datapump -> Logical backup.(logical data such as tables,procedures)
    Docs for RMAN--
    http://docs.oracle.com/cd/B28359_01/backup.111/b28270/rcmcncpt.htm#
    Docs for Datapump
    http://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_overview.htm
    Edited by: Sunny kichloo on Jul 5, 2012 6:55 AM

  • Recovery from Online backup

    Hai All,
    I regularly take hot backup via a script. In script copy all datafiles and archivelogs to the backup destination. One conrolfile is created using 'alter database backup control file to c:/backup.ctl' . Thus controlfile is also generated.
    I copy the backup files (includes datafiles and controlfiles) to a test machine . In test machine I created a database with the same name of production database. I replace the present files with the hot backup files (keep existing redo log files). When I open the database, recovery asked... I apply the backup archive log files. Even when reach the maximum archive files in my hand. recvery not stop... . This is the problem .. How It happened ? How to open the database with the backup files in my hand only.
    I copy the remaining archive log files and redo log files from production database and apply. then I open the database with resetlogs . It works fine......
    How to resolve the mentioning problem in second paragraph?
    Please help?
    Shiju

    How do you backup your database? Do you using RMAN to backup your database? or you use ALTER TABLESPACE BEGING BCKUP method to backup your database?
    Which version of Oracle are you using? Is there anything wrong configure autobackup of controlfile to avoid explicitly taking controlefile bakup?
    If you want to test your bakcup or wanted to create another copy (clone) of the database using your valid backup, why did you create the second database and did the other fuss?
    You can simply, bring up the instance, restore and recovery using your backups.
    I guess, the problem was with redo log files. You have overwritten all the datafiles, controlfile, but not redo log files, may be the redo log sequence mismatch cuased this behaviour.
    Jaffar

  • Do I need to shut DB when using Veritas Backup Exec 10d w/ Oracle agent?

    Hi All,
    Do I need to shutdown oracle when we back up the database server using Veritas Backup Exec 10d with the Oracle agent?
    thanks.

    Not required !!

  • Doubt about database point in time recovery using rman

    Hi Everyone,
    I have been practising various rman restore and recovery scenarios . I have a doubt regarding database point in time recovery using rman. Imagine i have a full database backup including controlfile scheduled to run at 10 PM everyday. today is 20th dec 2013. imagine i want to restore the database to a prior point in time ( say 18th dec till 8 AM). so i would restore all the datafiles  from 17th night's backup and apply archives till 8 AM of 18th dec . in this scenario should i restore the controlfile too from 17th dec bkp ( i am assuming yes we should ) or can we use the current controlfile ( assuming it is intact). i found the below from oracle docs.
    Performing Point-in-Time Recovery with a Current Control File
    The database must be closed to perform database point-in-time recovery. If you are recovering to a time, then you should set the time format environment variables before invoking RMAN. The following are sample Globalization Support settings:
    NLS_LANG = american_america.us7ascii
    NLS_DATE_FORMAT="Mon DD YYYY HH24:MI:SS"
    To recover the database until a specified time, SCN, or log sequence number:
    After connecting to the target database and, optionally, the recovery catalog database, ensure that the database is mounted. If the database is open, shut it down and then mount it:
    2.  SHUTDOWN IMMEDIATE;
    3.  STARTUP MOUNT;
    4. 
    Determine the time, SCN, or log sequence that should end recovery. For example, if you discover that a user accidentally dropped a tablespace at 9:02 a.m., then you can recover to 9 a.m.--just before the drop occurred. You will lose all changes to the database made after that time.
    You can also examine the alert.log to find the SCN of an event and recover to a prior SCN. Alternatively, you can determine the log sequence number that contains the recovery termination SCN, and then recover through that log. For example, query V$LOG_HISTORY to view the logs that you have archived. 
    RECID      STAMP      THREAD#    SEQUENCE#  FIRST_CHAN FIRST_TIM NEXT_CHANG
             1  344890611          1          1      20037 24-SEP-02      20043
             2  344890615          1          2      20043 24-SEP-02      20045
             3  344890618          1          3      20045 24-SEP-02      20046
    Perform the following operations within a RUN command:
    Set the end recovery time, SCN, or log sequence. If specifying a time, then use the date format specified in the NLS_LANG and NLS_DATE_FORMAT environment variables.
    If automatic channels are not configured, then manually allocate one or more channels.
    Restore and recover the database.
      The following example performs an incomplete recovery until November 15 at 9 a.m. 
    RUN
      SET UNTIL TIME 'Nov 15 2002 09:00:00';
      # SET UNTIL SCN 1000;       # alternatively, specify SCN
      # SET UNTIL SEQUENCE 9923;  # alternatively, specify log sequence number
      RESTORE DATABASE;
      RECOVER DATABASE;
    If recovery was successful, then open the database and reset the online logs:
    5.  ALTER DATABASE OPEN RESETLOGS;
    I did not quiet understand why the above scenario is using current controlfile as the checkpoint scn in the current controlfile and the checkpoint scn in the datafile headers do not match after the restore and recovery. Thanks in Advance for your help.
    Thanks
    satya

    Thanks for the reply ... but what about the checkpoint scn in the controlfile . my understanding is that unless the checkpoint scn in the controlfile and datafiles do not match the database will not open. so assuming the checkpoint scn in my current controlfile is 1500 and i want to recover my database till scn 1200. so the scn in the datafiles (which is 1200) is not not matching with the scn in the controlfile(1500). so will the database open in such cases.
    Thanks
    Satya

  • Run Multiple SQL's in one Database and record there counts automatically.

    Hi ,
    I have to run 33 Sql's in three databases seperately and then have to match there counts, manually if i do it takes 3+ hours, is there any way to automate this in Toad i.e all 33 Sql's run in different databases and in the end i get the result count of all of them and then i compare the results.
    The 33 queries are:-
    select count(*),'FND_LOOKUP_VALUES' as TABLE_NAME from FND_LOOKUP_VALUES a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'CSF_DEBRIEF_HEADERS' as TABLE_NAME from CSF_DEBRIEF_HEADERS a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'CSF_DEBRIEF_LINES' as TABLE_NAME from CSF_DEBRIEF_LINES a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'CS_INCIDENTS_AUDIT_B' as TABLE_NAME from CS_INCIDENTS_AUDIT_B a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'CS_INCIDENT_LINKS' as TABLE_NAME from CS.CS_INCIDENT_LINKS a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'CS_INCIDENT_SEVERITIES_TL' as TABLE_NAME from CS_INCIDENT_SEVERITIES_TL a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'CS_INCIDENT_STATUSES_TL' as TABLE_NAME from CS_INCIDENT_STATUSES_TL a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'CS_INCIDENT_TYPES_TL' as TABLE_NAME from CS_INCIDENT_TYPES_TL a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'CS_INCIDENT_URGENCIES_TL' as TABLE_NAME from CS_INCIDENT_URGENCIES_TL a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'CS_INCIDENTS_ALL_B' as TABLE_NAME from CS_INCIDENTS_ALL_B a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'CS_HZ_SR_CONTACT_POINTS' as TABLE_NAME from CS_HZ_SR_CONTACT_POINTS a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'CS_INCIDENTS_ALL_TL' as TABLE_NAME from CS_INCIDENTS_ALL_TL a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'CSI_ITEM_INSTANCES' as TABLE_NAME from CSI_ITEM_INSTANCES a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'JTF_RS_GROUPS_B' as TABLE_NAME from JTF_RS_GROUPS_B a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'JTF_TASK_REFERENCES_B' as TABLE_NAME from JTF_TASK_REFERENCES_B a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'OKC_K_LINES_B' as TABLE_NAME from OKC_K_LINES_B a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'OKC_K_ITEMS' as TABLE_NAME from OKC_K_ITEMS a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'HZ_RELATIONSHIPS' as TABLE_NAME from HZ_RELATIONSHIPS a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'HZ_CONTACT_POINTS' as TABLE_NAME from HZ_CONTACT_POINTS a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'HZ_PARTY_SITES' as TABLE_NAME from HZ_PARTY_SITES a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'MTL_SYSTEM_ITEMS_TL' as TABLE_NAME from MTL_SYSTEM_ITEMS_TL a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'JTF_TASK_ASSIGNMENTS' as TABLE_NAME from JTF_TASK_ASSIGNMENTS a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'JTF_TASK_PRIORITIES_TL' as TABLE_NAME from JTF_TASK_PRIORITIES_TL a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'JTF_TASK_PRIORITIES_B' as TABLE_NAME from JTF_TASK_PRIORITIES_B a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'JTF_TASK_STATUSES_TL' as TABLE_NAME from JTF_TASK_STATUSES_TL a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'JTF_TASKS_B' as TABLE_NAME from JTF_TASKS_B a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'JTF_OBJECTS_TL' as TABLE_NAME from JTF_OBJECTS_TL a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'JTF_TASK_TYPES_TL' as TABLE_NAME from JTF_TASK_TYPES_TL a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'JTF_TASK_AUDITS_B' as TABLE_NAME from JTF_TASK_AUDITS_B a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'JTF_TASK_ASSIGNMENTS' as TABLE_NAME from JTF_TASK_ASSIGNMENTS a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*),'EMCCS_SRLOG_ADD_AUDIT_COLMS' as TABLE_NAME from EMCCS_SRLOG_ADD_AUDIT_COLMS a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*), 'cs_incident_statuses_b' as TABLE_NAME from cs.cs_incident_statuses_b a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    select count(*), 'jtf_task_statuses_b' as TABLE_NAME from jtf.jtf_task_statuses_b a
    where a.creation_date > to_date('08/06/2010','mm/dd/yyyy')
    and a.creation_date <= to_date('08/07/2010','mm/dd/yyyy');
    Thanks in Advance.

    Hi,
    From TOAD you can connect to three different databases- that is different sessions with different DB's
    make a use of union operator and execute the queries.
    You can see the output in - output window.
    Select the output and right click save to excel sheet.
    Parallely you can run 33 sql in other sessions, do the same process as stated above and save to the same excel sheet but different instance (different sheet of excel)
    Now compare -- its demo for how to utilize the tool.
    Other way around, Create one table with two columns table_name, count.
    execute the select queries with union Operator and directly insert into the table.
    Perform the same above two steps in different databases.
    Now, from one database - create database link to other two dabases and provide select privilege on that table in order to access.
    Now, write a query to compare two tables using dblink.
    HTH
    - Pavan Kumar N
    OCP- Oracle 9i/10g
    http://oracleinternals.blogspot.com

  • SQL Server Virus Attack - Recover main database (MDF) using log (LDF) file

    Hi ! My server was hit by some unknown virus which seems to have corrupted header information for many of our files including an important databases and some of its backups.  However the log file (.LDF) for the live DB was not affected. I also have
    a relatively old .BAK backup file.  Is it possible to bring the DB (.MDF) in the old backup to Live standard using the new/latest Log file? If so, how?
    Any help is truly appreciated.

    Hello,
    Yes, that is theoretically possible if
    - database is in "Full" recovery mode
    - since the "old backup" no other backups were done (beside copy-only)
    Run a log backup, then you can restore full + log backup, as it's best as a new database to keep the old (damaged) one for safety.
    See
    Restore a Database Backup (SQL Server Management Studio)
    Restore a Transaction Log Backup (SQL Server)
    And for the future:
    MS Support: How to choose antivirus software to run on computers that are running SQL Server
    Olaf Helper
    [ Blog] [ Xing] [ MVP]

Maybe you are looking for

  • Standard report for leading prod. order with variance  value  & qty.

    Hi Gurus, I am searching for  a standard Tcode to get the variance value/Qty against all the leading production orders which are settled in a particular period. Note: If a leading production order contains more than one sub orders then the qunatity o

  • Please help ! "Oracle Reports Server CGI - Reports Server name is not specified."

    Hello Gurus, I have an html form that allows putting in a parameter. Upon submit the form, it'll pass a string URL with the parameter to a new browser. My url: http://localhost/servlet/oracle.reports.rwcgi.RWServlet? diary&14252 I also used keymap lo

  • How do I change iWeb language and disable auto-correct feature?

    I am trying to capture some elements from an iWeb page with a screen capture tool, but when I write in a different language than English the words are underlined in red. Is there a way to eliminate this effect? Thank you!

  • SHelp me stop a video on loading webpage

    I've imported a video to my library, added buttons for play/pause/stop (actionscript) to the stage. The video should not start playing before the user presses playbutton. How do I prevent the movie from start playing on loading the webpage?

  • CREATE_COLLECTION_FROM_QUERY performannce

    I'm using the following CREATE_COLLECTION_FROM_QUERY function to populate a query as this saves effort as the resultset is available for the user to work with. PROCEDURE CREATE_COLLECTION_FROM_QUERY_B Argument Name Type In/Out Default? P_COLLECTION_N