Redo logs full - how to remove
Hello!
From time to time our database redo logs get full (oracle is running), we go to rman and delete them and everything is fine again.
This time it is the first time we experience this problem when oracle is NOT running.
When we want to start in sqlplus with "startup", oracle DOES NOT start up - we get the error message:
ORA-03113: end-of-file on communication channel
The alert log shows the message:
ORA-19815: WARNING: db_recovery_file_dest_size of 4070572032 bytes is 100.00% used, and has 0 remaining bytes available.
ORA-19809: limit exceeded for recovery files
This time we cannot use RMAN. The problem is, that rman (rman - connect TARGET sys/orac@orcl) only functions with a running database, otherwise we get the error message:
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
So we deleted the redo logs manually and rebooted, but oracle seems to does not "SEE" this manual deletion. The error message
stays the same.
We wanted to convert our spfile to a pfile, change the redo logs max value to a higher value, and convert this back to a spfile, but this
is also only functionning when the database is running.
Does anybody has a solution for this problem?
Thanks for your help in advance
Wolfgang
Hi,
Its more of a backup policy issue than a technical problem, I would like to go like this....
1. Check if I really need archive logs (in case of Test/Dev environment only export backup should be enough)
2. if you can afford to loose archives better change DB in no arch mode (But you will not be able to take online backup of DB through RMAN)
2. If you need Archives for sure, try getting more space allocated to your archive dest Drive/FS.
Normally we have a practice of keeping the size of arch dest Drive 2 times larger than DB generates in the duration of backup cycle...i.e. if you take arch backup once every day, I would keep archive dest FS size to be able to keep 2 days of archives.
Regards
Rahul
Similar Messages
-
ORA-00257: archiver error. Full - how to remove with Streams
So, I have not run a backup in about two weeks.
With Oracle GUI (OEM) saves my life since I am not a dba.
Now, I have filled up my archive logs drive slice. It is at 100%.
We are running Oracle streams, and I can not automatically delete backed up archive logs after a backup because streams may still be using it.
So how do I fix the problem!!!
Oracle 10.2.0.2
So can I delete the archive logs... Well, no, because if I remove them from the OS, Oracle will still think they are there or should be there...
OK command line mode, RMAN backup, yikes, not at that level yet.
Then how to remove the archive logs...
Question:
I read a document on streams...
How to identify redo logs that streams no longer needs:
SELECT name
FROM v$archived_log
WHERE next_change# < (SELECT first_scn FROM dba_capture);
Does this mean these can be deleted?
Identify redo logs that Streams has purged:
SELECT file_name
FROM dba_logmnr_purged_log;
Again, does this mean these can be deleted?
The numbers are not the same.Rman should take care of that. It is aware of which archived logs are needed by streams.
-
DB Cache Full or Redo Log Full?
Is there any way that Oracle can write to datafiles in the middle of a transaction?
Iam reading, processing and writing very large sized lobs which gives error that "no free buffers available in buffer pool".
When in lobs, a lob is not written until the whole tranaction finishes - but in my case the lob size is large than the size of the data buffer cache.
The error is "ORA-00379: no free buffers available in buffer pool DEFAULT for block size 8K"
Exact question I would like to know now is that which buffer is full; data_buffer_cache or the redo log buffer?
If data_buffer cache, then is there a mechanism which allows to write data to dtafiles in the middle of a transaction as i have to do processing with lobs - which are 3 to 4 times the size of the db cache size.
I am referring to the same problem outlined in an earlier thread.
ThanksIs there any way that Oracle can write to datafiles
in the middle of a transaction?
r.- Oracle writes to the datafiles only commited transactions according to some elements
Iam reading, processing and writing very large sized
lobs which gives error that "no free buffers
available in buffer pool".
r.- You have to increase the size of the buffer Pool
When in lobs, a lob is not written until the whole
tranaction finishes - but in my case the lob size is
large than the size of the data buffer cache.
The error is "ORA-00379: no free buffers available in
buffer pool DEFAULT for block size 8K"
Exact question I would like to know now is that which
buffer is full; data_buffer_cache or the redo log
buffer?
data_buffer_cache. In what version you are ?
If data_buffer cache, then is there a mechanism which
allows to write data to dtafiles in the middle of a
transaction as i have to do processing with lobs -
which are 3 to 4 times the size of the db cache
size.
r.- Oracle does not write to the datafiles in that way
I am referring to the same problem outlined in an
earlier thread.
Thanks Joel Pérez
http://www.oracle.com/technology/experts -
Commit Completes although current online redo log file have been removed.
Although i have removed current online redo log file in linux os (Oracle Linux),when i type "commit" it says that "commit complete".
Is this fair for this princip?*:" if Only when all redo records associated with a given transaction are safely on disk in the online logs is the user process notified that the transaction has been committed."*
I think that it can lead to loss of data in some cases..I'm using Oracle 11g R2 on OEL (x64)..
Can anyone explain me ? I'm getting stuck in this situation..
P.S : I haven't multiplexed current ORL group files...Javid wrote:
Although i have removed current online redo log file in linux os (Oracle Linux),when i type "commit" it says that "commit complete".
Is this fair for this princip?*:" if Only when all redo records associated with a given transaction are safely on disk in the online logs is the user process notified that the transaction has been committed."*
I think that it can lead to loss of data in some cases..I'm using Oracle 11g R2 on OEL (x64)..
Can anyone explain me ? I'm getting stuck in this situation..
In *nix, a file that is open by a process isn't really deleted until the process that has it completes. So even though you 'deleted' a redo log, oracle is still holding it. As soon as you stop your database (maybe even as soon as the db does a log switch) the redo will really be gone and no longer available. consider the implications for archive logging.
P.S : I haven't multiplexed current ORL group files...You need to fix that. the online logs are the achilles heel of the database. That's why it is standard practice to multiplex them. -
Whole Database Online + redo log backup: How Long?
Hi gurus,
There's something I want to ask about online backup with redo log.
If i'm correct, redo log file is created everytime there's operation that change datafile right?
If i schedule this type of backup everyday, it means it will backup all datafiles, along with redo log file when transaction take places, at my pre-defined hours, right?
Then here's what i'm confused about. When will this backup process finished? Is it when all the datafiles have been backed up? Then how about the redo log files? If there are users that keep making transaction (therefore make change to datafiles), new redo log files will be created on disk, and that will prevent the backup process to finish. Then when will this cycle come to an end?
Please confirm if my grasp about oracle online backup is correct or not, and provide explanation to satisfy my curiousity.
Thanks gurus,
Edited by: Bobby Gunawan on Jan 6, 2009 10:16 AMHello Fidel,
i am feeling honored
> Keep in mind that the only thing where a DBA cannot make mistakes is restore/recovery and this depends on your backups
In general i would say you are right, but i have seen already one case where this statement is not true.
Some time ago i got a call from a colleague where his database crashed, the online redolog files were corrupted and the recovery was not working.
If you don't look really close at this point you are in trouble and can not continue the recovery. Let explain this on a example.
This demonstration is done on an oracle 10.2.0.4, but it work on every other version too.
Let's simulate a crash
SQL> shutdown abort;
Corrupt/delete a specifc redolog file
SQL> startup
ORA-00313: open failed for members of log group 3 of thread 1
ORA-00312: online log 3 thread 1: '/oracle/TST/oradata/redolog/redo03.log'
ORA-27037: unable to obtain file status
Ok - so far so good, lets check the groups and files
SQL> select GROUP#, STATUS, MEMBER from v$logfile where TYPE = 'ONLINE';
GROUP# STATUS MEMBER
1 /oracle/TST/oradata/redolog/redo01.log
2 /oracle/TST/oradata/redolog/redo02.log
3 /oracle/TST/oradata/redolog/redo03.log
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM
1 1 95 52428800 1 NO CURRENT 5117817 06-JAN-09
3 1 94 52428800 1 YES ACTIVE 5117814 06-JAN-09
2 1 93 52428800 1 YES ACTIVE 5112855 15-DEC-08
What's the situation?
The online redolog file of group 3 is lost/corrupted and this group is needed to perform a complete recovery (see status ACTIVE).
But you are lucky, because of this group 3 is already archived - so you can perform a complete recovery.
Now let's perform a complete recovery but with UNTIL clause (because we need to jump between the online and archived redologfiles)
SQL> recover database until cancel;
ORA-00279: change 5116194 generated at 01/06/2009 21:06:48 needed for thread 1
ORA-00289: suggestion : /oracle/TST/oraarch/TST_1_93_6b8c0516_666969185.arc
ORA-00280: change 5116194 for thread 1 is in sequence #93
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
ORA-00279: change 5117814 generated at 01/06/2009 21:08:47 needed for thread 1
ORA-00289: suggestion : /oracle/TST/oraarch/TST_1_94_6b8c0516_666969185.arc
ORA-00280: change 5117814 for thread 1 is in sequence #94
ORA-00278: log file '/oracle/TST/oraarch/TST_1_93_6b8c0516_666969185.arc' no longer needed for this recovery
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
ORA-00279: change 5117817 generated at 01/06/2009 21:08:51 needed for thread 1
ORA-00289: suggestion : /oracle/TST/oraarch/TST_1_95_6b8c0516_666969185.arc
ORA-00280: change 5117817 for thread 1 is in sequence #95
ORA-00278: log file '/oracle/TST/oraarch/TST_1_94_6b8c0516_666969185.arc' no longer needed for this recovery
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/oracle/TST/oradata/redolog/redo01.log
Log applied.
Media recovery complete.
Now execute an OPEN NORESETLOGS accidentally (maybe the dba think it is not necessary because of the complete recovery) and try an OPEN RESETLOGS after:
SQL> alter database open noresetlogs;
alter database open noresetlogs
ERROR at line 1:
ORA-00313: open failed for members of log group 3 of thread 1
ORA-00312: online log 3 thread 1: '/oracle/TST/oradata/redolog/redo03.log'
ORA-27037: unable to obtain file status
SQL> alter database open resetlogs;
alter database open resetlogs
ERROR at line 1:
ORA-01139: RESETLOGS option only valid after an incomplete database recovery
So now you are lost.. you can't execute an UNTIL CANCEL anymore which would be needed to perform a successful OPEN RESETLOGS.
In this special case you can do mistakes and you have to restore the whole database and perform the same recovery again and end with OPEN RESETLOGS.
Just for information
Regards
Stefan -
Logical standby | archive log deleted | how to remove gap ???
hi gurus...
i have problem on logical standby
by mistake standby log coming to logical standby has been deleted , now how to fill up the gap ???
ON STANDBY
SEQUENCE# FIRST_CHANGE# NEXT_CHANGE# APPLIED
228 674847 674872 YES
229 674872 674973 CURRENT
230 674973 674997 NO
231 674997 675023 NO
232 675023 675048 NO
233 675048 675109 NO
234 675109 675135 NO
235 675135 675160 NO
236 675160 675183 NO
237 675183 675208 NO
238 675208 675232 NO
239 675232 675257 NO
240 675257 675282 NO
241 675282 675382 NO
242 675382 675383 NO
243 675383 675650 NO
244 675650 675652 NO
245 675652 675670 NO
246 675670 675688 NO
247 675688 675791 NO
248 675791 678524 NO
archive log are shipping to standby location also and getting registered
ALERT LOG OF STANDBY
Fri May 7 12:25:36 2010
Primary database is in MAXIMUM PERFORMANCE mode
RFS[21]: Successfully opened standby log 5: '/u01/app/oracle/oradata/BEST/redo05.log'
Fri May 7 12:25:37 2010
RFS LogMiner: Registered logfile [u01/app/oracle/flash_recovery_area/BEST/archivelog/archBEST_248_1_715617824.dbf] to LogMiner session id [1]
but i dont have standby log after 229 sequence ...
ON PRIMARY
SYS@TEST AS SYSDBA> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/app/oracle/flash_recovery_area/TEST/standlogOldest online log sequence 247
Next log sequence to archive 249
Current log sequence 249
what to do next to apply sequences and bring both in sync.
please help me ,,,,
Edited by: user12281508 on May 7, 2010 9:45 AMthanks for response.
no its pure logical standby
i have tried to ftp the archive logs of primary to standby and applied manually
SYS@BEST AS SYSDBA> alter database register logfile '/u01/app/oracle/flash_recovery_area/BEST/archivelog/archBEST_230_1_715617824.dbf';
alter database register logfile '/u01/app/oracle/flash_recovery_area/BEST/archivelog/archBEST_230_1_715617824.dbf'
ERROR at line 1:
ORA-01289: cannot add duplicate logfile
SYS@BEST AS SYSDBA> alter database register logfile '/u01/app/home/archTEST_230_1_715617824.dbf';
alter database register logfile '/u01/app/home/archTEST_230_1_715617824.dbf'
ERROR at line 1:
ORA-01289: cannot add duplicate logfile
any other way ???? -
Redo logs lost - how can i recover?
My redo01.log and redo02.log have been accidentally deleted. Please - Is there a way to recreate them or recover them without recreating the whole database?
My Oracle originally 8.05 upgraded to 8.1.7 on Windows NT 4.0
Olav TorvundI had Group 1 , 3 and 4 besides the difficult group 2.
When I do a select * from V$log; Group 2 is the current and the other 3 have status 'unused'.
the database is mounted but not open.
I tried what you said last:
ALTER DATABASE DROP LOGFILE GROUP 2;
and Oracle says:
ORA-01623: log 2 is current log for thread 1 - cannot drop
ORA-00312: online log 2 thread 1: 'D:\ORADATA\DATA2\REDO02.LOG'
so it still points to the non-existing file.
Anything else i can try?
Appreciate your help -
How to increase the size of Redo log files?
Hi All,
I have 10g R2 RAC on RHEL. As of now, i have 3 redo log files of 50MB size. i have used redo log size advisor by setting fast_start_mttr_target=1800 to check the optimal size of the redologs, it is showing 400MB. Now, i want to increase the size of redo log files. how to increase it?
If we are supposed to do it on production, how to do?
I found the following in one of the article....
"The size of the redo log files can influence performance, because the behavior of the database writer and archiver processes depend on the redo log sizes. Generally, larger redo log files provide better performance, however it must balanced out with the expected recovery time.Undersized log files increase checkpoint activity and increase CPU usage."
I did not understand the the point however it must balanced out with the expected recovery time in the above given paragraph.
Can anybody help me?
Thanks,
Praveen.You dont have to shutdown the database before dropping redo log group but make sure you have atleast two other redo log groups. Also note that you cannot drop active redo log group.
Here is nice link,
http://www.idevelopment.info/data/Oracle/DBA_tips/Database_Administration/DBA_34.shtml
And make sure you test this in test database first. Production should be touched only after you are really comfortable with this procedure. -
Hi,
By mistake the redo log files have been removed.
Hence we tried to create the redo log files.
After creating it when select * from v$log is done, it is as follows
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS
FIRST_CHANGE# FIRST_TIM
1 1 0 1073741824 1 YES UNUSED
0
3 1 0 1073741824 1 YES UNUSED
0
2 1 0 1073741824 1 NO CURRENT
179433372 20-NOV-10
Due to this, whatever alter command we use, it is not working.
For ex.
SQL> alter database open resetlogs;
alter database open resetlogs
ERROR at line 1:
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/alcatel/oracle/oradata/SNM/system01.dbf'
SQL> alter database mount;
alter database mount
ERROR at line 1:
ORA-01100: database already mounted
SQL> alter system switch logfile;
alter system switch logfile
ERROR at line 1:
ORA-01109: database not open
SQL> ALTER DATABASE OPEN;
ALTER DATABASE OPEN
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
WE want to change the status in v$log table from Current to ACTIVE and UNUSED to INACTIVE.
How can we do that?
Can anyone help us?
Regards
SriniHi ,
WE have tried those but in vain..
Please find the error logs
SQL> alter system switch logfile;
alter system switch logfile
ERROR at line 1:
ORA-01109: database not open
SQL> alter database open resetlogs;
alter database open resetlogs
ERROR at line 1:
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/alcatel/oracle/oradata/SNM/system01.dbf'
SQL> ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/alcatel/oracle/oradata/SNM/system01.dbf'SP2-0734: unknown command beginning "ORA-01194:..." - rest of line ignored.
SQL> ^C
SQL> recover database until cancel;
ORA-00283: recovery session canceled due to errors
ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
SQL> alter database open resetlogs;
alter database open resetlogs
ERROR at line 1:
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/alcatel/oracle/oradata/SNM/system01.dbf'
SQL> recover database until cancel using backup controlfile;
ORA-00279: change 179433372 generated at 11/20/2010 18:00:10 needed for thread
1
ORA-00289: suggestion : /alcatel/oracle/admin/SNM/arch/arch_1_635_666206692.arc
ORA-00280: change 179433372 for thread 1 is in sequence #635
Srini -
Ora-00333 redo log read error block on 11g express
Hi all
I have error
ora-00333 redo log read error block
is there any solution for this?
And I was type
SQL> recovery database until cancel;
but error still exist?
any idea
regards
Gordan1. Check the OS for performance issues > CentOS 5.6 64 bytes (Space use 9Gbytes of 250gBytes) (Virtual Machine )
decrease the size of the redo logs > ? How to do this? -- any reference
set disk_async_io= false in the pfile > ? How to do this? -- any reference
regards
Gordan
Edited by: useruseruser on Oct 25, 2011 9:24 PM
Edited by: useruseruser on Oct 25, 2011 9:25 PM -
REDO log files lost!!!!!
Hi,
I lost my REDO log files, How i can recover???
Thanks
Ashish JainIt failes at the recovery! Is there anything else i can do? Btw Thanks for helping me with this problem!
SQL> recover database until cancel;
ORA-00283: recovery session canceled due to errors
ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
ORA-00905: missing keyword
SQL> recover database using backup controlfile until cancel
ORA-00279: change 21344768 generated at 09/10/2008 11:54:49 needed for thread 1
ORA-00289: suggestion :
/u01/app/oracle/infrastructure/flash_recovery_area/ASDBDEV/archivelog/2008_09_11
/o1_mf_1_2545_%u_.arc
ORA-00280: change 21344768 for thread 1 is in sequence #2545
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/u02/oradata/asdbdev/asdbdev/system01.dbf'
ORA-01112: media recovery not started -
I'm new to the oracle and trying to understand functionality of redo logs. So can someone put information about redo logs and how to recover using redo logs?
regards
chanaka843833 wrote:
I'm new to the oracle and trying to understand functionality of redo logs. So can someone put information about redo logs and how to recover using redo logs?
regards
chanaka
Overview of the Online Redo Log
http://download.oracle.com/docs/cd/E11882_01/server.112/e16508/physical.htm#CNCPT11302
Oracle is going to use them to do the roll forward which means to reapply the changes over the blocks after, for example, a crashed instance restarts.
HTH
Aman.... -
How we can check the time or Redo log swith, how i can check how much time it takes to fill one log file
Hello,
I am not sure if the user originally wanted to dicuss performance aspect of redo-log switch. He was probably more interested in knowing what can influence redo-log switch.
The reason I am replying the the latest update, is to further add to what kmcswain has commented on this thread. Its really important how often redo-log switch takes place. Switching definately have overhead on the CPU and the disk i/o, but if you do-not switch too often, there are two main concerns
1. When switch would take place, it would require more resources, as the CPU/Disk i/o would go higher in comparision to switching more often
2. Archiving would not be done till the redolog switch takes place. So there are more chances of loosing data
What I have found more pratical is to see your average CPU and disk utilizations. If you have more CPU resources available and disk i/o contention is not there, having a big redo-log would not negatiely effect your db performance. If your CPU utlilzation has fluctuations, and peak reaches anything above 90%, then investigate the fluctuations by reducing the redolog size. The fluctuations should flaten
Hope that make sense
Cheers
Sudhanshu -
Hi Experts,
I want to remove a wrong redo log file from 10G R2 database in window.
how to do that without loss data?
my steps as
1. alter system switch logfile;
2. select * from v$log;
which ARC and sataus do I can drop redo log file based on above SQL
no archive and active status?
ALso Which account should I do above action?
fExamp, system account added redo log file, i only
can drop by system? how about sys?
Thanks help in detail steps
Jim
Edited by: user589812 on Dec 23, 2008 4:35 PMJim,
Check this link out for how to drop a redo log file
Make sure a redo log group is archived (if archiving is enabled) before dropping it. To see whether this has happened, use the V$LOG view.
http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/onlineredo.htm#i1006489
SELECT GROUP#, ARCHIVED, STATUS FROM V$LOG;
GROUP# ARC STATUS
1 YES ACTIVE
2 NO CURRENT
3 YES INACTIVE
4 YES INACTIVE
Drop a 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; -
Removing Redo Log Files? What's Normal?
Hello,
I'm new to Oracle and I've been using Informix for years. We currently have Oracle 9.2 running on Windows 2000 Server machine and apparently the redo log files keep filling up the disk drives they reside on. This is happening about every two weeks since we go out and delete the files when we remember.
My question is does Oracle have a "normal" way of removing old redo logs automatically rather than having to remove them manually? In the Informix world I can set the logical logs so that they write over previously used logs once they are no longer used. Is there a similar way to configure Oracle?
Thanks for helping out.
Gregg WalkerDo not delete your old log files: you need them.
That's how Oracle does recovery when you lose a datafile or a drive. You copy over the missing stuff from your back-up and then Oracle re-applies the chnages from the REDO logs thereby bringing your database back up to date. No work lost. Result!
Of course, if you don't take up a backup then holding on to REDO logs is pointless. In which case, set the database to run in NOARCHIVELOG mode.
However, I strongly advise you to run in ARCHIVELOG mode. You may find this part of the administrator's guide informative: http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96521/archredo.htm#4553
Cheers, APC
Maybe you are looking for
-
Truncate slower than delete on table of XMLTYPE
Hi, Why is a truncate of a XMLTYPE table which is based on a registered XML schema, so much slower than doing a delete? Usually it is the other way around. Is this caused by the number of objects actually underlying the table? Thanks Pete
-
my ipod wont turn on, it wont turn on when you plug it in to charge it, and it wont turn on when i plug it into my computer it doesnt do anything. anyone have any suggestions how what to do?
-
Hi Folks, This may be a Bug as i understand from my previous readings in the forum or misconfiguration in the ibots The Cache seeding technique is not working for Users on dashboard pages users mean who are not part of RPD and Presentation server Adm
-
Is it possible to change the Registered user name on a Developer key?
We are looking for a solution for a person that has a name change and has a developer key? Do you have to create a new key for this or can the name be changed?
-
Foreach -parallel in sequence.
Is there a way to run foreach –parallel in sequence? I tried this but it won't run in sequence. workflow test $servers = "servers.txt" foreach -parallel ($server in $servers) sequence { Test-Connection -ComputerName $server test