Redo log question..

my databse is in archivelog mode.
i have 2 redolog files.
one of my redolog file got corrupted .so wat ll happen..
& how to recover the redologfile

Hi,
Good that ur DB is in archive log.
If ur current redo log gets corrupted then u cannot open the DB and hence its archiving is also nt possible. This wud be the case irrespective of the status of the DB (up or shut down) when the redo log got corrupted. Be ready to loose data = amount of redo data written to the current redo log file which now happens to be corrupted.
What u can do is this...
startup mount
ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP <no.>;
alter database open resetlogs;
Plz refer http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14231/onlineredo.htm#i1006568 and search for clear logfile
Later plz do a shu immediate and take a cold and a consistent backup.
-Aditi

Similar Messages

  • Quick Redo Log Question:

    Hi All,
    I am attempting to multiplex redo logs with Enterprise Manager and there is an option to 'reuse file'. I do not see any explanation about what this option does in my manuals and would appreciate if someone could quickly explain the what and why I would want to select this.
    Thanks in advance,
    d.

    Hi All,
    I am attempting to multiplex redo logs with
    Enterprise Manager and there is an option to 'reuse
    file'. I do not see any explanation about what this
    option does in my manuals and would appreciate if
    someone could quickly explain the what and why I
    would want to select this.
    Thanks in advance,
    d.The REUSE option is discussed in the SQL Reference manual under the description of the ADD [STANDBY] LOGFILE MEMBER Clause. You need to use this option if you wish to use existing file(s) for the new multiplexed log file members in the group.

  • Fundamental questions on redo logs and rollbacks

    Hi all,
    Some basic questions, I really want to understand it very clearly.
    Suppose that we have updated few records in a table. We know that the blocks to be updated will be fetched into buffer cache, they will be updated with new value and commited eventually. The questions I have are ,
    1) What exact information will go to redo log ? is it a copy of the block before change and copy of the block after change ?
    2) What exactly goes to rollback segment? is it copy of block before change (for update) and just the rowid for inserted row and the copy of block for a deleted row ?
    3) Whatever we do, is it the whole block that goes to redo or rollback ? Means if there are 10 rows in the block and we update one of them, still whole block goes to redo or rollback ?
    4) If we rollback, what goes where ? Is there anything that goes to redo if we rollback ?
    Please explain.
    Thanks.

    Redo stores changes made in the database, and undo/rollback stores the reverse of those changes. Data blocks may be changed prior to a commit, and recorded in both locations.
    So, when a database is recovered, redo is applied to the backup datafiles, rolling every change forward, and then undo is applied to reverse any uncomitted transactions.
    Undo/rollback can also be used simply to roll back a transaction in an active instance. Redo is only used during instance recovery.
    I don't know if this is tracked via the storage of block images, or if it just stores the change itself.
    -cf

  • Redo log buffer question

    hi masters,
    this seems to be very basic, but i would like to know internal of this process.
    we all know that LGWR writes redo entries to online redo log files on disk. on commit SCN is generated and tagged to transaction. and LGWR writes this to online redo log files.
    but my question is, how these redo entries comes to redo log buffer??? look all required data is fetched into buffer cache by server process. it is modified there, and committed. DBWR writes this to datafiles, but at what point, which process writes this committed transaction (i think redo entry) into log buffer cache????
    does LGWR do this?? what internally happens exactly???
    if you can plz focus some light on internals, i will be thankfull....
    thanks and regards
    VD

    Hi Vikrant,
    DBWR writes this to datafiles, but at what point, which process writes this committed transaction (i think redo entry) into log buffer cache????Remember that, Before DBWR Acts on flushing the dirty Blocks to Data files, Before this server process, makes sure that LGWR finishes the writing Redo Log Buffer to Online Redo Log files. Since as per ORACLE Architecture poting of Recovering data till point of time @ Crash is important and this is achieved by Online Redo Logs files.
    Rest how the data is Updated in to the Redo Log Buffer Aman had stated the clear steps.
    - Pavan Kumar N

  • Question about how Oracle manages Redo Log Files

    Good morning,
    Assuming a configuration that consists of 2 redo log groups (Group A and B), each group consisting of 2 disks (Disks A1 & A2 for Group A and Disks B1 and B2 for group B). Further, let's assume that each redo log file resides by itself in a disk storage device and that the device is dedicated to it. Therefore in the above scenario, there are 4 disks, one for each redo log file and, each disk contains nothing else other than a redo log file. Furthermore, let's assume that the database is in ARCHIVELOG mode and that the archive files are stored on yet another different set of devices.
    sort of graphically:
        GROUP A             GROUP B
          A1                  B1
          A2                  B2The question is: When the disks that comprise Group A are filled and Oracle switches to the disks in Group B, can the disks in Group A be taken offline, maybe even physically removed from the system if necessary, without affecting the proper operation of the database ? Can the Archiver process be temporarily delayed until the disks (that were removed) are brought back online or is the DBA forced to wait until the Archiver process has finished creating a copy of the redo log file into the archive ?
    Thank you for your help,
    John.

    Hello,
    Dropping Log Groups
    To drop an online redo log group, you must have the ALTER DATABASE system privilege. Before dropping an online redo log group, consider the following restrictions and precautions:
    * An instance requires at least two groups of online redo log files, regardless of the number of members in the groups. (A group is one or more members.)
    * You can drop an online redo log group only if it is inactive. If you need to drop the current group, first force a log switch to occur.
    * Make sure an online redo log group is archived (if archiving is enabled) before dropping it. To see whether this has happened, use the V$LOG view.
    SELECT GROUP#, ARCHIVED, STATUS FROM V$LOG;
    GROUP# ARC STATUS
    1 YES ACTIVE
    2 NO CURRENT
    3 YES INACTIVE
    4 YES INACTIVE
    Drop an online redo log group with the SQL statement ALTER DATABASE with the DROP LOGFILE clause.
    The following statement drops redo log group number 3:
    ALTER DATABASE DROP LOGFILE GROUP 3;
    When an online redo log group is dropped from the database, and you are not using the Oracle Managed Files feature, the operating system files are not deleted from disk. Rather, the control files of the associated database are updated to drop the members of the group from the database structure. After dropping an online redo log group, make sure that the drop completed successfully, and then use the appropriate operating system command to delete the dropped online redo log files.
    When using Oracle-managed files, the cleanup of operating systems files is done automatically for you.
    Your Database wont be affected as you can operate with 2 redo log files in each group as The minimum number of redo log files required in a database is two because the LGWR (log writer) process writes to the redo log files in a circular manner. so the process will hang becuase you are having 2 only groups if you want to remove 1 add a third one and make it the current group then remove the one you want to be offline.
    Please refer to:
    http://download.oracle.com/docs/cd/B10500_01/server.920/a96521/onlineredo.htm#7438
    Kind regards
    Mohamed
    Oracle DBA

  • Question on redo log files at the standby

    Oracle version: 10.2.0.5
    Platform : AIX
    We have 2 node RAC primary with 2 node RAC standby
    Primary Instance1 named as cmapcp1
    Primary Instance2 named as cmapcp2
    Standby Instance1 named as cmapcp3
    Standby Instance2 named as cmapcp4At standby side
    SQL> show parameter log_file_name_convert
    NAME                 TYPE                 VALUE
    log_file_name_conver string               cmapcp1, cmapcp3, cmapcp2, cmapcp4
    Despite the value set for log_file_name_convert, I don't see any change in names of Online and Standby redo logs at the Standby site.
    -- From primary
    SQL> select member,type from v$logfile;
    MEMBER                                             TYPE
    +CMAPCP_DATA01/cmapcp/cmapcp_log01.dbf             ONLINE
    +CMAPCP_DATA01/cmapcp/cmapcp_log02.dbf             ONLINE
    +CMAPCP_DATA01/cmapcp/cmapcp_log03.dbf             ONLINE
    +CMAPCP_DATA01/cmapcp/cmapcp_log04.dbf             ONLINE
    +CMAPCP_DATA01/cmapcp/cmapcp_log05.dbf             ONLINE
    +CMAPCP_DATA01/cmapcp/cmapcp_log06.dbf             ONLINE
    +CMAPCP_DATA01/cmapcp/cmapcp_log11.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log12.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log13.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log14.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log15.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log16.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log17.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log18.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log19.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log20.dbf             STANDBY
    16 rows selected.-- From standby
    SQL> select member,type from v$logfile;
    MEMBER                                             TYPE
    +CMAPCP_DATA01/cmapcp/cmapcp_log01.dbf             ONLINE
    +CMAPCP_DATA01/cmapcp/cmapcp_log02.dbf             ONLINE
    +CMAPCP_DATA01/cmapcp/cmapcp_log03.dbf             ONLINE
    +CMAPCP_DATA01/cmapcp/cmapcp_log04.dbf             ONLINE
    +CMAPCP_DATA01/cmapcp/cmapcp_log05.dbf             ONLINE
    +CMAPCP_DATA01/cmapcp/cmapcp_log06.dbf             ONLINE
    +CMAPCP_DATA01/cmapcp/cmapcp_log11.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log12.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log13.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log14.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log15.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log16.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log17.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log18.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log19.dbf             STANDBY
    +CMAPCP_DATA01/cmapcp/cmapcp_log20.dbf             STANDBY
    16 rows selected.--- Another thing I noticed, v$log doesn't list Standby Redo Logs. This is expected behaviour , I guess
    Below is the output from Primary and Standby (it is the same)
    set linesize 200
    set pagesize 50
    col member for a50
    break on INST SKIP PAGE on GROUP# SKIP 1
    select l.thread# inst, l.group#,lf.member, lf.type
        from v$log l , v$logfile lf
        where l.group# = lf.group#
        order by 1,2 ;
          INST     GROUP# MEMBER                                             TYPE
             1          1 +CMAPCP_DATA01/cmapcp/cmapcp_log01.dbf             ONLINE
                        2 +CMAPCP_DATA01/cmapcp/cmapcp_log02.dbf             ONLINE
                        3 +CMAPCP_DATA01/cmapcp/cmapcp_log03.dbf             ONLINE
          INST     GROUP# MEMBER                                             TYPE
             2          4 +CMAPCP_DATA01/cmapcp/cmapcp_log04.dbf             ONLINE
                        5 +CMAPCP_DATA01/cmapcp/cmapcp_log05.dbf             ONLINE
                        6 +CMAPCP_DATA01/cmapcp/cmapcp_log06.dbf             ONLINE

    John_75 wrote:
    Thank you ckpt, mseberg.
    I think log_file_name_convert is set wrongly as you've mentioned. But If I don't want to any change to name of Online or standby redo log files in standby, I don't have to set log_file_name_convert at all. Right ?From Same link
    If you specify an odd number of strings (the last string has no corresponding replacement string), an error is signalled during startup. If the filename being converted matches more than one pattern in the pattern/replace string list, the first matched pattern takes effect. There is no limit on the number of pairs that you can specify in this parameter (other than the hard limit of the maximum length of multivalue parameters).

  • Question on Redo logs in RAC

    DB version:11.2
    Platform : Solaris 10
    We create RAC DBs manually. Below is a log of the DB creation from Node1 . Instance in Node2 is not yet created (only binary is installed in Node2).
    SQL> conn / as sysdba
    Connected to an idle instance.
    SQL> startup nomount pfile=/u03/oracle/11.2/db_1/dbs/initnehprd1.ora
    ORACLE instance started.
    Total System Global Area 1252643278 bytes                                      
    Fixed Size                  2219208 bytes                                      
    Variable Size             771752760 bytes                                      
    Database Buffers          469762048 bytes                                      
    Redo Buffers                8929280 bytes  
    SQL> CREATE DATABASE nehprd MAXINSTANCES 8 MAXLOGFILES 16 MAXLOGMEMBERS 4 MAXDATAFILES 1024
      2  CHARACTER SET AL32UTF8 NATIONAL CHARACTER SET AL16UTF16
      3  DATAFILE '+DG_DATA01/nehprd/nehprd_system01.dbf' SIZE 1000m EXTENT MANAGEMENT LOCAL
      4  SYSAUX DATAFILE '+DG_DATA01/nehprd/nehprd_sysaux01.dbf' SIZE 600m
      5  DEFAULT TEMPORARY TABLESPACE temp
      6  TEMPFILE '+DG_DATA01/nehprd/nehprd_temp01.dbf' SIZE 2000m EXTENT MANAGEMENT LOCAL UNIFORM SIZE 5m
      7  UNDO TABLESPACE undotbs11 DATAFILE '+DG_DATA01/nehprd/nehprd_undotbs1101.dbf' SIZE 700m
      8  LOGFILE
      9          GROUP 1 ('+DG_DATA01/nehprd/nehprd_log01.dbf') SIZE 150m,
    10          GROUP 2 ('+DG_DATA01/nehprd/nehprd_log02.dbf') SIZE 150m,
    11          GROUP 3 ('+DG_DATA01/nehprd/nehprd_log03.dbf') SIZE 150m
    12  /
    Database created.
    Elapsed: 00:00:18.95
    SQL> CREATE UNDO TABLESPACE undotbs12 DATAFILE '+DG_DATA01/nehprd/nehprd_undotbs1201.dbf' SIZE 700m;
    Tablespace created.
    Elapsed: 00:00:01.30
    SQL> ALTER DATABASE ADD LOGFILE thread 2 GROUP 4 '+DG_DATA01/nehprd/nehprd_log04.dbf' SIZE 150m;
    Database altered.
    Elapsed: 00:00:00.25
    SQL> ALTER DATABASE ADD LOGFILE thread 2 GROUP 5 '+DG_DATA01/nehprd/nehprd_log05.dbf' SIZE 150m;
    Database altered.
    Elapsed: 00:00:00.43
    SQL> ALTER DATABASE ADD LOGFILE thread 2 GROUP 6 '+DG_DATA01/nehprd/nehprd_log06.dbf' SIZE 150m;
    Database altered.But after the above activity, the following log files are created in the DB.
    6 log groups for each Instance and they all are on the same location +DG_DATA01/nehprd  !
    INST_ID     GROUP# STATUS  TYPE             MEMBER                                   IS_
             1          1         ONLINE  +DG_DATA01/nehprd/nehprd_log01.dbf             NO
             1          2         ONLINE  +DG_DATA01/nehprd/nehprd_log02.dbf             NO
             1          3         ONLINE  +DG_DATA01/nehprd/nehprd_log03.dbf             NO
             1          4         ONLINE  +DG_DATA01/nehprd/nehprd_log04.dbf             NO
             1          5         ONLINE  +DG_DATA01/nehprd/nehprd_log05.dbf             NO
             1          6         ONLINE  +DG_DATA01/nehprd/nehprd_log06.dbf             NO
             2          1         ONLINE  +DG_DATA01/nehprd/nehprd_log01.dbf             NO
             2          2         ONLINE  +DG_DATA01/nehprd/nehprd_log02.dbf             NO
             2          3         ONLINE  +DG_DATA01/nehprd/nehprd_log03.dbf             NO
             2          4         ONLINE  +DG_DATA01/nehprd/nehprd_log04.dbf             NO
             2          5         ONLINE  +DG_DATA01/nehprd/nehprd_log05.dbf             NO
             2          6         ONLINE  +DG_DATA01/nehprd/nehprd_log06.dbf             NO How was redo log group 4,5,6 created for thread 1 and how was redo log group 1,2,3 created for thread 2 ?

    Hi,
    To make things worse, when you query v$logfile , It will show 6 redo logfiles belonging to 6 redo groups for each instance.The fact that it shows all groups of redo does not mean it belongs to that instance. Try to query v$database or v$datafile, this means that database/datafiles belongs to only one instance, of course not.
    Isn't this a bit of a bug ?Of course not. It's concept.
    To understand it you need understand the difference between instance and database. An database (i.e files) can be opened by many instances.
    An Oracle database server consists of a database and at least one database instance (commonly referred to as simply an instance). Because an instance and a database are so closely connected, the term Oracle database is sometimes used to refer to both instance and database. In the strictest sense the terms have the following meanings:
    Database
    A database is a set of files, located on disk, that store data. These files can exist independently of a database instance.
    Database instance
    An instance is a set of memory structures that manage database files. The instance consists of a shared memory area, called the system global area (SGA), and a set of background processes. An instance can exist independently of database files.
    Database: (v$database)
    CONTROLFILE (v$controlfile)
    DATAFILE (v$datafile)
    ONLINELOG (v$logfile,v$log)
    ARCHIVELOG (v$archivelog)
    SPFILE
    These views above will show the same values in either instance, because if the file (database) is changed it is modified in all instances. That's means you not need use gv$ because the information are the same in all instances, also you not need get info connecting in each instance querying theses v$ because the inf are the same independent of the instance
    Instances: (v$instance)
    PARAMETERS (v$parameter)
    MEMORY STRUCTURE (e.g v$session)
    The view v$session will show information about sessions from that instance only. In RAC each instance have you own info about session so you will need query gv$session because it get information about session from others instances.
    The fact that each instance assign its own REDO/UNDO not mean they are part of the instances, REDO/UNDO are part of Database. They can be write by assigned instance and read by all instance (just it)
    It's not a bug when you query v$datafile, v$logfile, v$controlfile in all instances you will get same result, because it's the DATABASE. (An database (i.e files) can be opened by many instances).
    Levi Pereira

  • Multiplexing Redo Log Files question

    If you are running RAC on ASM on a RAID system, is this required?  We are using an HP autoraid which mirrors at the block level and in the documentation about Multiplexing Redo Log Files it says that you do it to protect against media failure.  The autoraid that we are using gives us multiple levels of redundancy against media failure so I was wondering if Multiplexing would be adding more overhead than is needed.  Thanks for your input.

    ASM is quite compex and I'm not going to outline all the advantages or reasons for ASM, but under ASM you can drop and add devices to maintain your capacity needs online without loosing data, which you cannot do using RAID, which requires a re-initialize, for example, regardless of redundancy. Please see the documentation. ASM, like pretty much everything Oracle will add complexity and you will have to check your requirements. ASM is however pretty much the standard. If you use external RAID, make sure your storage is not using RAID 5 or 0. Regarding logical errors, you could for example overwrite or delete a file by mistake, in which case file redundancy does not protect you. If you are looking for reasons or ways not to use ASM, I'm sure you will find them, but what's the point?

  • REDO LOG GROUP QUESTION

    I was reading an article and it said
    the distance(in bytes) between the checkpoint position in a redolog group and the end of the current redolog group can never be more then 90 % of the size of the smallest redo log group
    Can someone elaborate this

    I'm not sure what you want to elaborate on, but yes, it's true. If your redo logs are 100MB in size, and nothing else causes a checkpoint to take place, you'll have a checkpoint issued when you hit the 90MB mark. The idea is simply that you don't want to sit there doing nothing at all and then bang! the logs switch and you have to go hell-for-leather performing a massive checkpoint, all the while praying more log switches don't mean that you're threatening to catch up with yourself (at which point you'd have the 'thread unable to advance to log...' problem). By implementing the 90% rule, the idea is that your log switch, at worst, will cause a "10%-sized" checkpoint, which should be bearable.
    Of course, the situation is made more complex by the fact that other things DO kick in and cause their own checkpoints, so the interaction between -for example, FAST_START_MTTR_TARGET and the 90% rule can get, er, 'interesting'.

  • Is There a Way to Run a Redo log for a Single Tablespace?

    I'm still fairly new to Oracle. I've been reading up on the architecture and I am getting the hang of it. Actually, I have 2 questions.
    1) My first question is..."Is there a way to run the redo log file...but to specify something so that it only applies to a single tablespace and it's related files?"
    So, in a situation where, for some reason, only a single dbf file has become corrupted, I only have to worry about replaying the log for those transactions that affect the tablespace associated with that file.
    2) Also, I would like to know if there is a query I can run from iSQLPlus that would allow me to view the datafiles that are associated with a tablespace.
    Thanks

    1) My first question is..."Is there a way to run the
    redo log file...but to specify something so that it
    only applies to a single tablespace and it's related
    files?"
    No You can't specify a redolog file to record the transaction entries for a particular tablespace.
    In cas if a file gets corrupted.you need to apply all the archivelogs since the last backup plus the redologs to bring back the DB to consistent state.
    >
    2) Also, I would like to know if there is a query I
    can run from iSQLPlus that would allow me to view the
    datafiles that are associated with a tablespace.Select file_name,tablespace_name from dba_data_files will give you the
    The above will give you the number of datafiles that a tablespace is made of.
    In your case you have created the tablespace iwth one datafile.
    Message was edited by:
    Maran.E

  • Standby Redo Log Files and Directory Structure in Standby Site

    Hi Guru's
    I just want to confirm, i know that if the Directory structure is different i need to mention these 2 parameter in pfile
    on primary site:
    DB_CONVERT_DATAFILE='standby','primary'
    LOG_CONVERT_DATAFILE='standby','primary'
    On secondary Site:
    DB_CONVERT_DATAFILE='primary','standby'
    LOG_CONVERT_DATAFILE='primary','standby'
    But i want to confirm this wheather i need to issue the complete path of the directory in both the above paramtere:
    like:
    DB_CONVERT_DATAFILE='/u01/oracle/app/oracle/oradata/standby','/u01/oracle/app/oracle/oradata/primary'
    LOG_CONVERT_DATAFILE='/u01/oracle/app/oracle/oradata/standby','/u01/oracle/app/oracle/oradata/primary'
    Second Confusion:-
    After transferring Redo Standby log files created on primary and taken to standby on the above mentioned directory structure and after restoring the backup of primary db alongwith the standby control file will not impact the physical standby redo log placed on the above mentioned location.
    Thanks in advance for your help

    Hello,
    Regarding your 1st question, you need to provide the complete path and not just the directory name.
    On the standby:
    db_file_name_convert='<Full path of the datafiles on primary server>','<full path of the datafiles to be stored on the standby server>';
    log_file_name_convert='<Full path of the redo logfiles on primary server>','<full path of the redo logfiles on the standby server>';
    Second Confusion:-
    After transferring Redo Standby log files created on primary and taken to standby on the above mentioned directory structure and after restoring the backup of primary db alongwith the standby control file will not impact the physical standby redo log placed on the above mentioned location.
    How are you creating the standby database ? Using RMAN duplicate or through the restore/recovery options ?
    You can create the standby redo logs later.
    Regards,
    Shivananda

  • Best practice - online redo logs and virtualization

    I have a 10.1.0.4 instance (soon to be migrated to 11gr2) running under Windows Server 2003.
    We use a non-standard disk distribution scheme -
    on the c: drive we have oracle_home as well as directories for control files and online redo logs.
    on the d: drive we have datafiles
    on the e: drive we have archive log files and another directory with online redo logs and another copy of control file
    my question is this:
    is it smart practice to have ANY online redo logs or control file on the same spindle with archive logs?
    Our setup works fairly well but we are in the process of migrating the instance first to ESX server and SAN and then secondly to 11gtr2 64bit under server 2008 64 and when we bring up our instance on the VM for testing we find that benchmarking the ESX server (dual Xeon 3.4ghz with 48gb RAM running against FalconStor NSS SAN with 15k SAS disks over iSCSI) against the production physical server (dual Xeon 2.0ghz with 4gb RAM using direct attached SATA 7200rpm drives) we find that some processes run faster on the ESX box and some run 40-100% slower. Running Statspack seems to identify lots of physical read waits as well as some waits for redo and controlfiles.
    Is it possible that in addition to any overhead introduced by ESX and iSCSI (we are running Jumbo Frames over 1gb) we may have contention because the archive logs are on the same "spindle" (virtual) as the online redo and control files?
    We're looking at multiple avenues to bring the 2 servers in line from a performance standpoint - db configuration, memory allocation, possible move to 10gb network, possible move to SSD storage tray, possible application rewrites. But from the simplest low hanging fruit idea, if these files should not be on the same spindle thats an easy change to make and possibly eke out an improvement.
    Ideas?
    Mike

    Hi,
    "Old" Oracle standard is to use as many spindles as possible.
    It looks to me, you have only 1 disk with several partitions on it ??
    In my honest opinion you should anyway start by physically seperating OS from Oracle, so let the C: drive to the Windows OS
    Take another physical seperate D: drive to install you application.
    Use yet another set of physical drives, preferably in RAID10 setup, for your database and redo logs
    And finally yet another disk for the archive logs.
    We have recently configured a Windows 2008 server with an 11G Db, which pretty much follows the above setup.
    All non RAID10 disks are RAID1 ( mirror ) and we even have some SSD's for hot tables and redo-logs.
    The machine, or must I say the database, operates like a high speed train, very, very fast.
    Ofcourse keep in mind the number of cores ( not only for licensing ) and the amount of memory.
    Try to prevent the system from swapping, because that is a performance killer!
    Edit: And even if you put a virtual layer in between, try to seperate the virtual disks as much as possible over physical disks
    Success!
    FJFranken
    Edited by: fjfranken on 7-okt-2011 7:19

  • Can we use online redo log to recover lost datafile in NOARCHIVE mode?

    I am working on OCA exam and confued about these 2 sample questions. (similar questions with totally different answer)
    Please give me hint about the different between these 2 questions.
    ** If the database is in NOARCHIVELOG mode, and one of the datafile for tablespace USERS is lost, what kind of recovery is possible? (answer: B)
    A. All transactions except those in the USERS tablespace are recoverable up to the loss of the datafile.
    B. Recovery is possible only up to the point in time of the last full database backup.
    C. The USERS tablespace is recoverable from the online redo log file as long as none of the redo log files have been reused since the last backup.
    D. Tablespace point in time recovery is available as long as a full backup of the USERS tablespace exists.
    ** The database of your company is running in the NOARCHIVELOG mode. You perform a complete backup of the database every night. On Monday morning, you lose the USER1.dbf file belonging to the USERS tablespace. Your database has four redo log groups, and there have been two log switches since Sunday night's backup.
    Which is true (answer: B)
    A. The database cannot be recovered.
    B. The database can be recovered up to the last commit.
    C. The database can be recovered only up to the last completed backup.
    D. The database can be recovered by performing an incomplete recovery.
    E. The database can be recovered by restoring only the USER!.dbf datafile from the most recent backup.

    I think Gaurav is correct, you can recover to the last commit even in NOARCHIVELOG, as long as all the changes in the redo logs have not been overwritten. So answer should be B for question 2.
    Here is my test:
    SQL> select log_mode from v$database;
    LOG_MODE
    NOARCHIVELOG
    SQL> select tablespace_name, file_name from dba_data_files;
    TABLESPACE_NAME
    FILE_NAME
    USERS
    C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA101RC\USERS01.DBF
    SYSAUX
    C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA101RC\SYSAUX01.DBF
    UNDOTBS1
    C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA101RC\UNDOTBS01.DBF
    SYSTEM
    C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA101RC\SYSTEM01.DBF
    DATA
    C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA101RC\DATA01.DBF
    SQL> create table names
    2 ( name varchar(16))
    3 tablespace users;
    Table created.
    so this segment 'names' is created in the datafile users01.
    At this point I shut down and mount the DB, then:
    RMAN> backup database;
    channel ORA_DISK_1: backup set complete, elapsed time: 00:00:29
    Finished backup at 06-OCT-07
    SQL>alter database open
    SQL> insert into names values ('pippo');
    1 row created.
    SQL> commit;
    Commit complete.
    SQL>shutdown immediate;
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    At this point I delete datafile users01 and restart:
    SQL> startup
    ORACLE instance started.
    Total System Global Area 167772160 bytes
    Fixed Size 1247900 bytes
    Variable Size 67110244 bytes
    Database Buffers 96468992 bytes
    Redo Buffers 2945024 bytes
    Database mounted.
    ORA-01157: cannot identify/lock data file 4 - see DBWR trace file
    ORA-01110: data file 4: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA101RC\USERS01.DBF'
    restoring the backup taken before inserting the value 'pippo' in table names:
    RMAN> restore database;
    Starting restore at 06-OCT-07
    using channel ORA_DISK_1
    channel ORA_DISK_1: starting datafile backupset restore
    channel ORA_DISK_1: specifying datafile(s) to restore from backup set
    restoring datafile 00001 to C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA101RC\SYSTEM01.D
    BF
    restoring datafile 00002 to C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA101RC\UNDOTBS01.
    DBF
    restoring datafile 00003 to C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA101RC\SYSAUX01.D
    BF
    restoring datafile 00004 to C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA101RC\USERS01.DB
    F
    restoring datafile 00005 to C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA101RC\DATA01.DBF
    channel ORA_DISK_1: reading from backup piece C:\ORACLE\PRODUCT\10.2.0\DB_1\DATA
    BASE\0AITR52K_1_1
    channel ORA_DISK_1: restored backup piece 1
    piece handle=C:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\0AITR52K_1_1 tag=TAG20071006
    T181337
    channel ORA_DISK_1: restore complete, elapsed time: 00:02:07
    Finished restore at 06-OCT-07
    RMAN> recover database;
    Starting recover at 06-OCT-07
    using channel ORA_DISK_1
    starting media recovery
    media recovery complete, elapsed time: 00:00:05
    Finished recover at 06-OCT-07
    SQL> alter database open;
    Database altered.
    SQL> select * from names;
    NAME
    pippo
    SQL>
    enrico

  • Why it automatically recover current redo log in RMAN command window?

    Firstly, I restore controlfile and datafiles from a backupset.
    Then when I recover database in RMAN command window like below:
    RMAN> recover database;
    Starting recover at 15-AUG-13
    using target database control file instead of recovery catalog
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: sid=156 devtype=DISK
    starting media recovery
    archive log thread 1 sequence 9 is already on disk as file /u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_9_90sd0slz_.arc
    archive log thread 1 sequence 10 is already on disk as file
    /u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_10_90sd0tsb_.arc
    archive log thread 1 sequence 11 is already on disk as file
    /u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_11_90sd110b_.arc
    archive log thread 1 sequence 12 is already on disk as file
    /u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_12_90sd2ksr_.arc
    archive log thread 1 sequence 13 is already on disk as file
    /u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_13_90sd2mc6_.arc
    archive log thread 1 sequence 14 is already on disk as file
    /u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_14_90sd2qrm_.arc
    archive log thread 1 sequence 15 is already on disk as file
    /u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_15_90sd2s0w_.arc
    archive log thread 1 sequence 16 is already on disk as file /u01/app/oracle/oradata/lonion/redo03.log
    archive log filename=/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_9_90sd0slz_.arc thread=1 sequence=9
    archive log filename=/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_10_90sd0tsb_.arc thread=1 sequence=10
    archive log filename=/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_11_90sd110b_.arc thread=1 sequence=11
    archive log filename=/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_12_90sd2ksr_.arc thread=1 sequence=12
    archive log filename=/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_13_90sd2mc6_.arc thread=1 sequence=13
    archive log filename=/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_14_90sd2qrm_.arc thread=1 sequence=14
    archive log filename=/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_15_90sd2s0w_.arc thread=1 sequence=15
    archive log filename=/u01/app/oracle/oradata/lonion/redo03.log thread=1 sequence=16
    media recovery complete, elapsed time: 00:00:04
    Finished recover at 15-AUG-13
    RMAN>
    But, when I recover database in SQL*Plus command window like below:
    [oracle@lonion ~]$ uniread sqlplus /nolog
    [uniread] Loaded history (2178 lines)
    SQL*Plus: Release 10.2.0.1.0 - Production on Thu Aug 15 19:25:38 2013
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    SQL> conn /as sysdba
    Connected.
    SQL>
    SQL> recover database;
    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 2147842454 generated at 08/15/2013 18:34:28 needed for thread
    1
    ORA-00289: suggestion :
    /u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_9_%u_.a
    rc
    ORA-00280: change 2147842454 for thread 1 is in sequence #9
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    auto
    ORA-00279: change 2147842651 generated at 08/15/2013 18:40:25 needed for thread
    1
    ORA-00289: suggestion :
    /u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_10_%u_.
    arc
    ORA-00280: change 2147842651 for thread 1 is in sequence #10
    ORA-00278: log file
    '/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_9_90sd
    0slz_.arc' no longer needed for this recovery
    ORA-00279: change 2147842653 generated at 08/15/2013 18:40:26 needed for thread
    1
    ORA-00289: suggestion :
    /u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_11_%u_.
    arc
    ORA-00280: change 2147842653 for thread 1 is in sequence #11
    ORA-00278: log file
    '/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_10_90s
    d0tsb_.arc' no longer needed for this recovery
    ORA-00279: change 2147842656 generated at 08/15/2013 18:40:32 needed for thread
    1
    ORA-00289: suggestion :
    /u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_12_%u_.
    arc
    ORA-00280: change 2147842656 for thread 1 is in sequence #12
    ORA-00278: log file
    '/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_11_90s
    d110b_.arc' no longer needed for this recovery
    ORA-00279: change 2147842684 generated at 08/15/2013 18:41:21 needed for thread
    1
    ORA-00289: suggestion :
    /u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_13_%u_.
    arc
    ORA-00280: change 2147842684 for thread 1 is in sequence #13
    ORA-00278: log file
    '/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_12_90s
    d2ksr_.arc' no longer needed for this recovery
    ORA-00279: change 2147842686 generated at 08/15/2013 18:41:23 needed for thread
    1
    ORA-00289: suggestion :
    /u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_14_%u_.
    arc
    ORA-00280: change 2147842686 for thread 1 is in sequence #14
    ORA-00278: log file
    '/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_13_90s
    d2mc6_.arc' no longer needed for this recovery
    ORA-00279: change 2147842689 generated at 08/15/2013 18:41:27 needed for thread
    1
    ORA-00289: suggestion :
    /u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_15_%u_.
    arc
    ORA-00280: change 2147842689 for thread 1 is in sequence #15
    ORA-00278: log file
    '/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_14_90s
    d2qrm_.arc' no longer needed for this recovery
    ORA-00279: change 2147842691 generated at 08/15/2013 18:41:28 needed for thread
    1
    ORA-00289: suggestion :
    /u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_16_%u_.
    arc
    ORA-00280: change 2147842691 for thread 1 is in sequence #16
    ORA-00278: log file
    '/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_15_90s
    g0or9_.arc' no longer needed for this recovery
    ORA-00279: change 2147842986 generated at 08/15/2013 19:14:29 needed for thread
    1
    ORA-00289: suggestion :
    /u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_17_%u_.
    arc
    ORA-00280: change 2147842986 for thread 1 is in sequence #17
    ORA-00278: log file
    '/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_16_90s
    g0os5_.arc' no longer needed for this recovery
    ORA-00308: cannot open archived log
    '/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_17_%u_
    .arc'
    ORA-27037: unable to obtain file status
    Linux Error: 2: No such file or directory
    Additional information: 3
    SQL> recover database using backup controlfile;
    ORA-00279: change 2147842986 generated at 08/15/2013 19:14:29 needed for thread
    1
    ORA-00289: suggestion :
    /u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_08_15/o1_mf_1_17_%u_.
    arc
    ORA-00280: change 2147842986 for thread 1 is in sequence #17
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    /u01/app/oracle/oradata/lonion/redo01.log        ---- Yon see, proceeding this process, it can't automatically apply the current redo log.
    Log applied.
    Media recovery complete.
    SQL>
    Question Coming:
    Now, my question is that 「Why it automatically recover current redo log in RMAN command window but not in SQL*Plus」?
    BTW: Please pay attention to the red font.

    It also seems not work.
    SQL> recover automatic database using backup controlfile;
    ORA-00279: change 2148632889 generated at 09/26/2013 12:45:22 needed for thread
    1
    ORA-00289: suggestion :
    /u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_09_26/o1_mf_1_48_%u_.
    arc
    ORA-00280: change 2148632889 for thread 1 is in sequence #48
    ORA-00278: log file
    '/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_09_26/o1_mf_1_48_%u_
    .arc' no longer needed for this recovery
    ORA-00308: cannot open archived log
    '/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_09_26/o1_mf_1_48_%u_
    .arc'
    ORA-27037: unable to obtain file status
    Linux Error: 2: No such file or directory
    Additional information: 3
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    auto
    ORA-00308: cannot open archived log
    '/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_09_26/o1_mf_1_48_%u_
    .arc'
    ORA-27037: unable to obtain file status
    Linux Error: 2: No such file or directory
    Additional information: 3
    ORA-00308: cannot open archived log
    '/u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_09_26/o1_mf_1_48_%u_
    .arc'
    ORA-27037: unable to obtain file status
    Linux Error: 2: No such file
    or directory
    Additional information: 3
    SQL>
    It must specify the redo log.
    SQL> recover database using backup controlfile;
    ORA-00279: change 2148632889 generated at 09/26/2013 12:45:22 needed for thread
    1
    ORA-00289: suggestion :
    /u01/app/oracle/flash_recovery_area/LONION/archivelog/2013_09_26/o1_mf_1_48_%u_.
    arc
    ORA-00280: change 2148632889 for thread 1 is in sequence #48
    Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
    /u01/app/oracle/oradata/lonion/redo02.log
    Log applied.
    Media recovery complete.
    SQL>

  • Hoping for a quick response : EXP and Archived REDO log files

    I apologize in advance if this question has been asked and answered 100 times. I admit I didn't search, I don't have time. I'm leaving on vacation tomorrow, and I need to know if I'm correct about something to do with backup / restore.
    we have 10g R2 running a single instance on a single server. The application vendor has "embedded" oracle with their application. The vendor's backup is a batch file using EXP - thus:
    exp system/xpwdxx@db full=y file=D:\Orant\admin\db\EXP\db_full.dmp log=D:\Orant\admin\db\EXP\db_full.txt direct=y compress=y
    This command is executed nightly at midnight. The files are then backed up by our nightly backup to offsite storage media.
    Te database is running in autoarchive mode. The problem is, the archived redo files filled the drive they were being stored on, and it is the drive the database is on. I used OS commands to move 136G of archived redo logs onto other storage media to free the drive.
    My question: Since the EXP runs at midnight, when there is likely NO activity, do I need to run in AutoArchive Mode? From what I have read, you cannot even apply archived redo log files to this type of backup strategy (IMP) Is that true? We are ok losing changes since our last EXP. I have read a lot of stuff about restoring consistent vs. inconsistent, and just need to know: If my disk fails, and I have to start with a clean install of Oracle and nothing else, can I IMP this EXP and get back up and running as of the last EXP? Or do I need the autoarchived redo log files back to July 2009 (136G of them).
    Hoping for a quick response
    Best Regards, and thanks in advance
    Bruce Davis

    Bruce Davis wrote:
    Amardeep Sidhu
    Thank you for your quick reply. I am reading in the other responses that since I am using EXP without consistent=y, I might not even have a backup. The application vendor said that with this dmp file they can restore us to the most recent backup. I don't really care for this strategy as it is untested. I asked them to verify that they could restore us and they said they tested the dmp file and it was OK.
    Thank you for taking the time to reply.
    Best Regards
    BruceThe dump file is probably ok in the sense it is not corrupted and can be used in an imp operation. That doesn't mean the data in it is transactionally consistent. And to use it at all, you have to have a database up and running. If the database is physically corrupted, you'll have to rebuild a new database from scratch before you can even think about using your dmp file.
    Vendors never understand databases. I once had a vendor tell me that Oracle's performance would be intolerable if there were more than 5 concurrent connections. Well, maybe in HIS product ..... Discussions terminated quickly after he made that statement.

Maybe you are looking for