Expdp Scheduler objects Open mode Redo logs
Hi,
i) What are the advanced options of expdp that permit exporting database scheduler objects and prevent exp from exporting database scheduler objects?
ii)If the database has to be in Open mode, does RESTRICTED or NON-RESTRICTED mode have any significance here?
AskTom says that DBMS_SCHEDULER commits when scheduling a job. Hence I guess redo logs are generated each time a job is scheduled using DBMS_SCHEDULER. Hence I guess export cannot be done in read-only mode.
Many thanks
Hi,
Here is the scenario mentioned by my DBA. We are using Oracle 10g R2. Maybe we will upgrade to Oracle 11g. My implementation in Oracle 10g is based on DBMS_SCHEDULER.
i)Are you always using Data Pump Utility for Export? Kindly provide me the exact command or statement used if you are executing from command-line. Do you specify EXCLUDE parameter if you want to exclude any of the tables or objects? Do you use MetaData filters available in Data Pump?
ii)Regarding the database mode during export or backup, do you use read-only mode or open mode restricted or quiesced mode?
iii)Kindly specify the exact error message displayed during export.
iv)Based on the database mode used and the error displayed, is it related to redo logs or changes in tables during export using expdp?
i)Expdp parfile=expdp_xx.par
Where expdp_xx.par contains
Directory=directory_name
Dumpfile=expdp_xx.dmp
Logfile=expdp_xx.log
Schemas=SCHEMA_NAME
parallel=4 <- we tried with or without this parameter as well.
ii) Database is running in regular open mode (open for business for all users) while we are running the exp or expdp process.
iii). No error displayed. It just keep running with no end in site.
iv). No.. Oracle tracing saw a repeated sql running on the a table created by expdp process for RULE/RULE SET Objects.
Kindly suggest the steps required to handle the creation of RULE/RULE SET Objects during expdp process. These RULE/RULE SET Objects are created during the creation of CHAIN_RULE objects. My implementation is verifying multi-threading in DBMS_SCHEDULER. We want to check the basic functionalities provided by DBMS_SCHEDULER first. Hence EVENT_CONDITION and QUEUE_SPEC are ruled out. Instead of EVENT_CONDITION, we are using condition attribute of DEFINE_CHAIN_STEP. So jobs are created every second verifying whether the condition attribute of DEFINE_CHAIN_STEP is satisfied. The jobs create chains and hence rules and rule set objects are created.
Given the above scenario, kindly indicate to me how to complete expdp process and how to avoid the RULE/RULE SET Objects creation hampering the expdp process.
Similar Messages
-
Restore in noarchivelog mode ( redo log files have been dropped )
1, A full backup taken using RMAN is available on disk.
2, The current control files were NOT damaged and do not need to be restored.
3, All data files are damaged .
4, The database is in NOARCHIVELOG mode.
I restore database :
1. RMAN> STARTUP MOUNT
2. RMAN> RESTORE DATABASE;
3. RMAN> recover database;
in this step , I got the information about needing redo log files ; but the redo log
files have been dropped , what should i do ?
else
I want to know there is the command 'recover database using backup control file'
in rman or not ?
TksPossibly loss of data (because information in online redo logs is lost):
recover database until cancel;
(cancel immediately)
alter database open resetlogs; (to build a new set of redo logs)
It's not necessary to use a backup controlfile here. -
Can i see dropped object details in redo log files ?
Good morning !
This redo log records all changes made in datafiles.
If i drop any object , How can i check this entry in redo log file ?
Please help me.HI,
You wrote two places this question . Written in response to this form. Please see: https://forums.oracle.com/thread/2598633
Thank you -
Redo log file corupted, database not getting open
I am Oracle Funda-1 student.
Have install standard Oracle 9I on Windows XP pro service pack 2.
I made some changes in sample table & given commit. So log buffer will flush to redo log file.
Then I open current redo log file from OS & selected all junk characters [select all] & deleted same. Save the file. Causing redo file size 0KB.
Then made more changes to table & issue commit. no errors ! every thing working file.
Even chked V$log & V$logfile.
Again I open current redo log file from OS & selected all junk characters [ select all ] & deleted same. Save the file. Causing redo file size 0KB.
Then issue manual log switch. Alter system switch logfile
I got disconnected from database & database was close.
When I reconnected & try to open database in normal mode. Gave error saying redolog_1.log is corrupted & needed for recovery.
Now not even allowing me clear redo group 1. with alter database clear logfile group 1. as database is not coming to open stage.
just able to mount the database. with error rdolog_1 corrupted.
Wasn't oracle suppose to be halted when very 1st time I corrupted redo log file.
Why it disconnected me & got close.
When then one use alter database clear logfile group 1.I may try this ALTER DATABASE OPEN RESETLOGS;
As no backup & not multiplex.
Still looking for explanation why database got close down instead of getting halt.
I have found one more status in V$log, which is not given in Oracle university book or online document.
INVALIDATED
Which come as a result when oracle unable to switch to next on line group due to non availability of next group redo log physical file.
SQL> select group#,members,status from V$log;
GROUP# MEMBERS STATUS
1 1 INVALIDATED
2 1 INACTIVE
4 1 UNUSED
As matter of fact, it's only portion of a big
document which happen to cover what you are testing
in detail.
I would invest time to read the document to
understand how things work instead of getting dirty
quick answers. -
What's the point of redo logs?
Why does Oracle bother writing everything to redo logs? If it's going to write data changes to the disk, why not just write them once to the data files and be done with it? What's the point of doing it twice? And if it's a redundancy thing, why not mirror the data disks?
Hemant K Chitale wrote:
How would you backup a database while it is in use ? You can't lock all the datafiles to prevent writes to them. Yet, transactions may be updating different blocks in different datafiles even as the backup is in progress. Say your backup starts with datafile 1 (or even datafiles 1,2,3,4 in parallel) at time t0. By time t5, it has copied 20% of the datafile to tape or alternate disk backup location. Along comes a transaction that updates the 100th block (somewhere within the 10-11% range) of datafile 1 and also the 60th block of datafile 5. Meanwhile, the backup continues running, already having taken a prior image of the 100th block and not being aware that the block has been changed. At time t25 it completes datafile 1 (or datafiles 1,2,3,4) and starts backing up datafile 5. Now, when it copies the 60th block of datafile 5, it (the backup utility) doesn't know that this block is inconsistent with the backup image of the 100th block of datafile 1.
Instead of 1 transaction imagine 100 or 1000 transactions occurring while the backup is running.
Surely, Oracle must be able to regenerate a consistent image of the whole database when it is restored ?
That is what the Redo stream provides. The Redo stream is written to Archivelogs so that it can be backed up -- no Archivelog file is "in flux" (particularly if you use RMAN to backup the Archivelogs as well !).
Had Oracle been merely writing to the datafiles alone, without a Redo stream, there is no way it could recreate a consistent database -- whether after Crash Recovery OR after Media Recovery.Interesting point about how redo logs facilitate backups. So what you're saying is that the redo logs help keep the data in the actual data files in a consistent state by only writing full transactions to them at a time. Presumably Oracle will either write out the redo log data to the data files before a backup or will at least prevent the redo logs from writing to the data files during a backup. I always wondered how databases got around that problem of keeping the system available for writing during a backup. I wonder how SQL Server does it.
Hemant K Chitale wrote:
Now, approach this from another angle. A database consists of 10 or 100 or 500 datafiles. You have 10 or 100 or 1000 sessions issuing COMMITs to complete their transactions, which could be of 1 row or 100 rows or 1million rows, each transaction of a different size. Should the 1000 sessions be forced to wait while Oracle writes all those updated blocks to disk in different datafiles -- how many blocks can it write in "an instant" ?
But what if Oracle manages to write much less information -- the bare minimum (called "change vectors") to re-play every transaction to a single file serially ? That would be much faster. Imagine writing to 500 datafiles concurrently, having to open the file, progess to the required block address and update the block, for each block changed in each file VERSUS writing much lesser information serially to a single file -- if the file is full, switch to another file, but keep writing serially.As to your second point, I don't really have a good enough understanding about the format of redo logs vs. the data files to follow you totally. Are you saying that it takes more time to write to the data files because you have to find the proper place in the B-Tree before you can write to it? And that doing that is slower than just opening the redo log and always appending new information to the very end? Maybe so, but it seems like all transactions having to write to a single redo log in serial would slow things down since there would be a ton of contention for one file. Whereas with the data files, you could potentially have several transactions writing to different files simultaneously (provided you hardware would support doing that). And it seems to me like a change vector would contain a lot more information than a field value, but, like I said, I'm not really familiar with the format. -
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 -
How to recover from one corrupted redo log file in NOARCHIVE mode?
Oracle 10.2.1.
The redo log file was corrupted and Oracle can't work.
When I use STARTUP mount, I got no error msg.
SQL> startup mount
ORACLE instance started.
Total System Global Area 1652555776 bytes
Fixed Size 1251680 bytes
Variable Size 301991584 bytes
Database Buffers 1342177280 bytes
Redo Buffers 7135232 bytes
Database mounted.
But I have some applications which are depended on Oracle can't be started.
So, I tried STARTUP open. But I got error msg.
SQL> startup open
ORACLE instance started.
Total System Global Area 1652555776 bytes
Fixed Size 1251680 bytes
Variable Size 301991584 bytes
Database Buffers 1342177280 bytes
Redo Buffers 7135232 bytes
Database mounted.
ORA-00368: checksum error in redo log block
ORA-00353: log corruption near block 497019 change 42069302 time 11/07/2007
23:43:09
ORA-00312: online log 4 thread 1:
'G:\ORACLE\PRODUCT\10.2.0\ORADATA\NMDATA\REDO04.LOG'
So, how can I restore and recover my database?
If use RMAN, how to do that?
Any help will be appreciated.
Thanks.Hi, Yingkuan,
Thanks for the helps.
Actually, I have 10 redo log files exists. All of them are here.
I tried your suggestion:
alter database clear unarchived logfile group 4;
The error msg I got is the same as before:
SQL> alter database clear unarchived logfile group 4;
alter database clear unarchived logfile group 4
ERROR at line 1:
ORA-01624: log 4 needed for crash recovery of instance nmdata (thread 1)
ORA-00312: online log 4 thread 1:
'G:\ORACLE\PRODUCT\10.2.0\ORADATA\NMDATA\REDO04.LOG'
Compared to losing all the data, it is OK for me lose some of them.
I have more than 1 TB data stored and 99.9% of them are raster images.
The loading of these data were the headache. If I can save them, I can bear the lost.
I want to grasp the last straw.
But I don't know how set the parameter: allowresetlogs_corruption
I got the error msg:
SQL> set allowresetlogs_corruption=true;
SP2-0735: unknown SET option beginning "_allow_res..."
I have run the command:
Recover database until cancel
Alter database open resetlogs
The error msg I got is the following:
SQL> recover database until cancel
ORA-00279: change 41902930 generated at 11/05/2007 22:01:48 needed for thread 1
ORA-00289: suggestion :
D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\NMDATA\ARCHIVELOG\2007_11_09\O1_MF_
1_1274_%U_.ARC
ORA-00280: change 41902930 for thread 1 is in sequence #1274
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: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\NMDATA\SYSTEM01.DBF'
ORA-01112: media recovery not started
SQL>
From the log file, I got the following:
ALTER DATABASE RECOVER database until cancel
Fri Nov 09 00:12:48 2007
Media Recovery Start
parallel recovery started with 2 processes
ORA-279 signalled during: ALTER DATABASE RECOVER database until cancel ...
Fri Nov 09 00:13:20 2007
ALTER DATABASE RECOVER CANCEL
Fri Nov 09 00:13:21 2007
ORA-1547 signalled during: ALTER DATABASE RECOVER CANCEL ...
Fri Nov 09 00:13:21 2007
ALTER DATABASE RECOVER CANCEL
ORA-1112 signalled during: ALTER DATABASE RECOVER CANCEL ...
Thank you very much. and I am looking forward to your followup input. -
Redo log files in case of NOARCHIVELOG Mode.
Question is related with the oracle architure..
database requires a minimum of two redo log files to guarantee that one is always available for writing while the other is being archived, this sounds perfect when DB is running in ARCHIVELOG mode but at the same time it also forces database to have 2 redo log files even when the DB is running in NOARCHIVELOG mode?
Any particular reason..
I would look for reasons not answers on what redo log is and what information it holds etc..pgoel wrote:
If you had only one file all further changes would have to stop until all changed data blocks had been written to disc. By insisting on a minimum of two log files Oracle can allow the log writer to fill the second log file as the database writer writes out the dirty blocks covered by changes desrcibed in the first log file.What about having a big size redo log file instead of two? Checkppoint being initiated when the redo log file is half filled
I mean, understand the logic, two is better, even best.. but still not getting convinced. I am just trying to think, can not Oracle work with 1 group with 1 big file..specailly when Noarch mode ? Having
Edited by: pgoel on Mar 12, 2011 7:27 PMNo, you still didn't understand and I am not sure how else we can say it. Okay, think about log groups as two buckets which are used to fill the redo content. The LGWR is filling one bucket at a time till it can't accept any more content. Once filled, rather than spilling the content out, it jumps over to the second bucket. Now, taking your statement of big sized redo, Pgoel, it doesn't matter how big sized bucket you bring in, eventually it will fill in. Its not possible that you wont be able to fill it , it just would take more longer than the normal timings. Thats all. So in any case , you need the second bucket. And I am not sure that why you are struck on the archivelog mode. I hope you do understand that its an optional mode. This means, this may or may not be there. If there, its a good thing that before doing the flush of the redo content, Oracle would be able to save the contents in the archived (think about the name, it's very meaning is to preserve, to archive) log file. If not, the redo content wuold be lost and there won't be any record of transactions leaving you to reenter the lost transactions. Its a meaningless point on which you are struck i.e. the archive or no-archivelog mode. Be it whatever, Oracle would still need minimum of the two log groups.
HTH
Aman.... -
Redo log in case of NOARCHIVELOG Mode.
================================================
This post is now available at .. Redo log files in case of NOARCHIVELOG Mode.
================================================
Question is related with the oracle architure..
database requires a minimum of two redo log files to guarantee that one is always available for writing while the other is being archived, this sounds perfect when DB is running in ARCHIVELOG mode but at the same time it also forces database to have 2 redo log files even when the DB is running in NOARCHIVELOG mode?
Any particular reason..
I would look for reasons not answers on what redo log is and what information it holds etc..
Edited by: pgoel on Mar 12, 2011 4:04 PM======================================
SORRY, WRONG FORUM moving it to the corrent forum
======================================
Edited by: pgoel on Mar 12, 2011 4:01 PM -
Db restore non archive mode lost redo log file..restore from controlfile tr
i have a db 11g I had taken non archive backup but failed to take redo log files backup...
so while i restored the db ... after formatting the machine ..the oracle instance wont start.
I create a controlfile trace but when i run it i get errors.
since i dont have the older log files.. how do i get around with this issue
Thanks
Following is the sample of control file trace ..Note i cannot create the redo log file
since db wont be mounted at most it shall be in nonmount mode
and below is my created controlfile ....
CREATE CONTROLFILE REUSE DATABASE "XE" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1
'C:\ORACLEXE\APP\ORACLE\FLASH_RECOVERY_AREA\XE\ONLINELOG\O1_MF_1_80L7C259_.LOG'
SIZE 50M BLOCKSIZE 512,
GROUP 2
'C:\ORACLEXE\APP\ORACLE\FLASH_RECOVERY_AREA\XE\ONLINELOG\O1_MF_2_80L7C375_.LOG'
SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'C:\ORACLEXE\APP\ORACLE\ORADATA\XE\SYSTEM.DBF',
'C:\ORACLEXE\APP\ORACLE\ORADATA\XE\UNDOTBS1.DBF',
'C:\ORACLEXE\APP\ORACLE\ORADATA\XE\SYSAUX.DBF',
'C:\ORACLEXE\APP\ORACLE\ORADATA\XE\USERS.DBF'
CHARACTER SET AL32UTF8
I dont have these 2 files ..what do i do to get around this situation
'C:\ORACLEXE\APP\ORACLE\FLASH_RECOVERY_AREA\XE\ONLINELOG\O1_MF_1_80L7C259_.LOG'
SIZE 50M BLOCKSIZE 512,
GROUP 2
'C:\ORACLEXE\APP\ORACLE\FLASH_RECOVERY_AREA\XE\ONLINELOG\O1_MF_2_80L7C375_.LOG'
SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
Edited by: zycoz100 on Feb 27, 2013 10:57 PMIf you have a cold backup (database shutdown properly) without the redo logs, change this :
CREATE CONTROLFILE REUSE DATABASE "XE" NORESETLOGS NOARCHIVELOGto
CREATE CONTROLFILE REUSE DATABASE "XE" RESETLOGS NOARCHIVELOGYou have to change the NORESETLOGS to RESETLOGS for Oracle to recreate the online redo logs.
Hemant K Chitale -
Redo log content in NOARCHIVELOG mode
I have several servers running Oracle 9i databases in NOARCHIVELOG mode. I know this means that the online redo logs are not archived. I have been tracing the Oracle log writer with truss, and only see I/O going to the Oracle control files. I see no I/O going to the online redo logs. Can someone point me to the Oracle documentation that discusses exactly what gets written to the online redo log files while in NOARCHIVELOG mode? Thanks in advance for any assistance.
Try Oracle Concepts on
http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96524.pdf -
Asynch Hot Log mode does not use hot (online) redo logs
Version 10.2
We have just set up a test of the Asynch Hot Log replication according to Chap 16 of the Data Warehousing guide.
We can see data put into the change table. However, it seems that data gets written to the change table ONLY after a log switch. This would suggest that the capture process is not reading the online logs, but is only reading the archived logs.
I don't think this can be correct behavior because the docs indicate that Oracle "seamlessly switches" between the online and the archived redo logs.
Is there a flag or something to set to cause the online logs to be available to the capture process? Or is this a bug? Has anyone else observed this behavior?
Thanks for any insight.
-- Chris CurzonAccording to the 10g Dataguard docs, section 2.5.1:
"Physical standby databases do not use an online redo log, because physical standby databases are not opened for read/write I/O."yes, those are used when database is open.
You should not perform any changes in Standby. Even if those exist online redo log files, whats the difficulty you have seen?
These will be used whenever you performed switchover/failover. So nothing to worry on this.
Is this a case of the STANDBY needing at least a notion of where the REDO logs will need to be should a failover occur, and if the files are already there, the standby database CONTROLFILE will hold onto them, as they are not doing any harm anyway?Then oracle functionality itself harm if you think in that way. When they not used in open then what the harm with that?
Standby_File_management --> for example if you add any datafile, those information will be in archives/redos once they applied on standby those will be added automatically when it is set to AUTO if its manual, then it creates a unnamed file in $ORACLE_HOME/dbs location later you have to rename that file and recovery need to perform .
check this http://docs.oracle.com/cd/B14117_01/server.101/b10755/initparams206.htm
HTH. -
Whole database offline + redo log backup Scheduling failed
Hi Experts,
In DB13 I have the following Issue, Whole database offline + redo log backup Scheduling failed.
How to solve this.Hi,
Below is the Log details,
BR0120I Control files
File Size Id. Device Link Type
/oracle/PRD/origlogA/cntrl/cntlrPRD.dbf 13975552 0 5578783 NOLINK FILE
/oracle/PRD/origlogB/cntrl/cntrlPRD.dbf 13975552 0 5578784 NOLINK FILE
/oracle/PRD/sapdata1/cntrl/cntrlPRD.dbf 13975552 0 5578772 NOLINK FILE
BR0616I Tablespaces in table TSORA for SAP owner SAPSR3:
PSAPSR3, PSAPSR3700, PSAPSR3USR
BR0227E Not enough disk space in /test123/PRDBK for backup, missing at least 149478.274 MB
BR0056I End of database backup: behzgxph.afd 2012-02-28 03.05.40
BR0280I BRBACKUP time stamp: 2012-02-28 03.05.40
BR0054I BRBACKUP terminated with errors
BR0280I BRBACKUP time stamp: 2012-02-28 03.05.40
BR0291I BRARCHIVE will be started with options '-U -jid ALGOF20110129030500 -d disk -c force -p initPRD.sap -sd'
BR0280I BRBACKUP time stamp: 2012-02-28 03.06.09
BR0292I Execution of BRARCHIVE finished with return code 0 -
Open database if an active online redo log is missing
Hi,
Sorry for the rather long post, but I specified all the steps I performed and couldn't make it shorter :-(
I need an advice on how to open the database if an active online redo log is missing.
For test purposes I intentionally performed a shutdown abort when the redo log group 1 was in active state and then renamed its only member (REDO01.LOG) so that the database couldn't perform crash recovery using it. Then upon startup I obviously got the message:
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: 'H:\ORADATA\TESTDB\REDO01.LOG'
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 2) The system cannot find the file specified.Ok, so I checked the state of the logs:
{noformat}
SQL>SELECT a.GROUP#, first_change#, SEQUENCE#, a.status, SUBSTR(b.MEMBER, 1, 40) MEMBER, b.status mem_status, a.archived
2 FROM v$log a, v$logfile b
3 WHERE a.GROUP# = b.GROUP#
4 ORDER BY a.GROUP#, b.MEMBER;
GROUP# FIRST_CHANGE# SEQUENCE# STATUS MEMBER MEM_STA ARC
1 592134 29 ACTIVE H:\ORADATA\TESTDB\REDO01.LOG YES
2 592268 30 CURRENT C:\ORADATA\TESTDB\REDO02.LOG NO
3 592129 28 ACTIVE C:\ORADATA\TESTDB\REDO03.LOG YES
{noformat}Since opening the database to perform a log switch and thus change the status of the redo log group 1 from ACTIVE to INACTIVE to recreate the member isn't possible, I performed database recovery.
SQL>recover database until cancel;
ORA-00279: change 592129 generated at 02/04/2009 10:31:15 needed for thread 1
ORA-00289: suggestion : C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2009_02_04\O1_MF_1_28_%U_.ARC
ORA-00280: change 592129 for thread 1 is in sequence #28
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
ORA-00279: change 592134 generated at 02/04/2009 10:31:28 needed for thread 1
ORA-00289: suggestion : C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2009_02_04\O1_MF_1_29_%U_.ARC
ORA-00280: change 592134 for thread 1 is in sequence #29
ORA-00278: log file 'C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2009_02_04\O1_MF_1_28_4RLR3JS9_.ARC' no longer needed for this rec
overy
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
'C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2009_02_04\O1_MF_1_29_4RLR4MF3_.ARC'
ORA-00279: change 592268 generated at 02/04/2009 10:32:03 needed for thread 1
ORA-00289: suggestion : C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2009_02_04\O1_MF_1_30_%U_.ARC
ORA-00280: change 592268 for thread 1 is in sequence #30
ORA-00278: log file 'C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TESTDB\ARCHIVELOG\2009_02_04\O1_MF_1_29_4RLR4MF3_.ARC' no longer needed for this rec
overy
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
'C:\ORADATA\TESTDB\REDO02.LOG'
Log applied.
Media recovery complete.
SQL>So for log sequence #28 I accepted the proposed archived redo log in the FRA, for sequence #29 (that's the online redo log that is missing!) I manually specified its archived copy, and for sequence #30 I specified the CURRENT online redo log. And as it seems the media recovery was successful.
Next I tried to open the database but again got the error:
SQL>alter database open noresetlogs;
alter database open noresetlogs
ERROR at line 1:
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: 'H:\ORADATA\TESTDB\REDO01.LOG'
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 2) The system cannot find the file specified.
The status of the log groups and its members is exactly as it was in the first query I wrote above, i.e. the redo log group 1 is still ACTIVE, so it's needed for crash recovery (which I had already done manually if I understand correctly how Oracle works!). I also checked if the datafiles are inconsistent (described in metalink doc id 1015544.102):
SQL>SELECT DISTINCT CHECKPOINT_CHANGE#, FUZZY FROM V$DATAFILE_HEADER;
CHECKPOINT_CHANGE# FUZ
592269 NOSo, everything seems ok as far as datafile consistency is concerned.
My question is: how can I rename/drop/clear/whatever the member of redo log group 1 to open the database?
I tried to rename the log file member, to add another member to it, to open the database with resetlogs, to clear the logfile group 1, but all without success:
1)
SQL>alter database clear logfile group 1;
alter database clear logfile group 1
ERROR at line 1:
ORA-01624: log 1 needed for crash recovery of instance testdb (thread 1)
ORA-00312: online log 1 thread 1: 'H:\ORADATA\TESTDB\REDO01.LOG'
2)
SQL>alter database open resetlogs;
alter database open resetlogs
ERROR at line 1:
ORA-01139: RESETLOGS option only valid after an incomplete database recovery
3)
SQL>alter database rename file 'H:\ORADATA\TESTDB\REDO01.LOG' to 'C:\ORADATA\TESTDB\REDO01.LOG';
alter database rename file 'H:\ORADATA\TESTDB\REDO01.LOG' to 'C:\ORADATA\TESTDB\REDO01.LOG'
ERROR at line 1:
ORA-01511: error in renaming log/data files
ORA-01512: error renaming log file H:\ORADATA\TESTDB\REDO01.LOG - new file C:\ORADATA\TESTDB\REDO01.LOG not found
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 2) The system cannot find the file specified.
4)
SQL>alter database add logfile member 'C:\ORADATA\TESTDB\REDO01.LOG' to group 1;
alter database add logfile member 'C:\ORADATA\TESTDB\REDO01.LOG' to group 1
ERROR at line 1:
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: 'H:\ORADATA\TESTDB\REDO01.LOG'
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 2) The system cannot find the file specified.Sorry again for the long post and thank you in advance for any suggestion.
Regards,
JureYou could check if the recovery was complete by (re)creating the controlfile with the resetlogs option.
<CREATE CONTROLFILE REUSE DATABASE define_db_name RESETLOGS NOARCHIVELOG
...>Thanks for the hint. If possible, could you only check if the steps I'm going to perform are ok.
I did an "alter database backup controlfile to trace;" and then extracted the create controlfile definition part. So in essence I should run the following statements:
CREATE CONTROLFILE REUSE DATABASE "TESTDB" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 'C:\ORADATA\TESTDB\REDO01.LOG' SIZE 20M,
GROUP 2 'C:\ORADATA\TESTDB\REDO02.LOG' SIZE 20M,
GROUP 3 'C:\ORADATA\TESTDB\REDO03.LOG' SIZE 20M
-- STANDBY LOGFILE
DATAFILE
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSTEM01.DBF',
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\UNDOTBS01.DBF',
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\SYSAUX01.DBF',
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\USERS01.DBF'
CHARACTER SET EE8MSWIN1250
ALTER DATABASE OPEN RESETLOGS;
ALTER TABLESPACE TEMP ADD TEMPFILE 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TESTDB\TEMP01.DBF' REUSE;Is that correct?
About the RMAN backups: Wouldn't a 'CATALOG RECOVERY AREA' populate the controlfile with backup information again (I'm not using a recovery catalog in this case)?
Thanks for the help!
Regards,
Jure -
Database in log archive mode and redo log file in mode not archive
Hello,
I have a dabatabase running in archive log mode, recently changed, I have 5 redo log groups and one of them (the current one) shows in the v$log view, that ARC: NO, I mean, no archiving. All redo logs except it shows ARC:Yes
What does it mean?
Am I going to have problems with this redo log file?
ThanksIf you do describe on v$log, you'll find that the full column name is Archived (meaning is it archived yet?).
You could try alter system switch logfile and then check v$log again a few times after.
Use the docu for finding out more about v$ views and so on
http://www.oracle.com/pls/db102/print_hit_summary?search_string=v%24log
Maybe you are looking for
-
How to hook my camera to my laptop?
I got Sony HDV 1080i and i tried to feed the 'easy setup' on my fcp but it wont show the picture. I struggled with it for an hour! please help me!
-
Strange vertical bar at right side of screen.
Booted up in the afternoon after everything being normal in the morning. The logo and loading wheel were slightly to the left on start up and when I went to enter my password, there was a faint line down the right hand side of the screen (about 1.5"
-
Hi, i am really interested in 3D but cant afford a 3DTV. Ive heard their are ways of viewing 3d through reald 3d but not sure how. is their in media players for 3d? i have a set on red on left and cyan on right glasses too... but when watching on you
-
I'm trying to write a report that shows AR bills raised. Then for it to show where they have been credited to e.g. Once the bill is raised a debt goes against the customer but a credit is placed against an account assignment - Cost Centre, Order or P
-
Location for UIModel.xml file
I've a problem storing UIModel.xml files in a package. Right now when ever i create any datapage, everytime the UIModel.xml file is always getting stored in a package structure defined earlier. Basically i just want to know, where exactly i need to s