At a test database instance of Oracle 11g (11.2.0.3.0) at CentOS 6 i've imported a tablespace from another instance to test my backup strategy.
First i've done a fullbackup with RMAN:
----------
# rman target /
RMAN> BACKUP DATABASE PLUS ARCHIVELOG DELETE INPUT;
----------
Then i thought to test the database i could delete something and restore and recover the database from the backup. So i deleted a table in the imported tablespace:
----------
# sqlplus / as sysdba
SQL> drop table TESTTABLE;
----------
After that i would start the restore and recover process by restoring and recovering the tablespace in which I deleted the table with RMAN. At first i've set the tablespace offline:
----------
SQL> alter tablespace TESTTABLESPACE offline immediate;
----------
Then I go to RMAN and start the restoring:
----------
RMAN> restore tablespace TESTTABLESPACE;
----------
Now there is a problem when i execute the recover command. The recover command includes the recovering from the redolog files, right? As I dropped the table from the tablespace this operation was written in the redolog files. So when i make a :
----------
RMAN> recover tablespace TESTTABLESPACE;
----------
The dropped tablespace would be dropped also, because the last redolog file told RMAN to drop the table. So i think I have to restore and recover my tablespace from an older timestamp, so RMAN would ignore the dropping of the table in the redolog file. Is that right so?
And when it is right how can i restore a tablespace from an older date so RMAN would ignore the dropping?
I'm using Oracle Standard edition 11gR2, actually that's why I'm posting this thread because I can't use TRANSPORT TABLESPACE feature.
I need to restore and recover two tablespaces, backed up in source database in another database. The destination db has been duplicated from the source db a couple of days ago so the structure is identical.
I cannot use Data Pump on this specific tablespace, because it causes some strange behavior in our application. So I took a backup from tablespaces and now I'm looking for a solution to restore and recover it in another db.
Is there any command to restore a tablespace from a specific file? I googled a lot and no luck so far..
P.S: I use controlfile instead of recovery catalog.
I am doing some test, seeking your expert opinion.I have a database and have the following backup strategy.
1) Database running in archive log mode. 2) First I backup all the table space excluding one tablespace 'DP_TS_LOB'.
RMAN> CONFIGURE EXCLUDE FOR TABLESPACE 'DP_TS_LOBS'; RMAN> BACKUP DATABASE;
3) I take a separate Backup of DP_TS_LOB tablespace.
RMAN> BACKUP TABLESPACE DP_TS_LOB;
4) I backup all the archived redo logs.
RMAN> SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT'; RMAN> backup archivelog all delete input;
Now I wanted to restore the database from the backup excluding the DP_TS_LOB and bring it up and running. DP_TS_LOB is huge and used only on certain work flows. I don't want the database to be down until we restore DP_TS_LOB. I wanted to restore all the other tablespace and bring the database up operational and restore and recover the DP_TS_LOB tablespace datafile's in background taking the datafiles of DP_TS_LOB tablespace offline.I tried the following but unsuccessful.
RMAN> restore controlfile to 'g:ctl_bckctl_01' from autobackup; RMAN> restore spfile to 'g:ctl_bckspfile' from autobackup; RMAN> sql "create PFILE = ''G:ctl_bckPFILE'' from SPFILE = ''G:ctl_bckSPFILE''";
Update the new parameter with new control file name. Copied the control file and parameter file to corresponding location.
First I assumed "Recover Database" will only recover online database files. But got the following error.
RMAN> recover database;
Starting recover at 27-JUL-11 using channel ORA_DISK_1 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of recover command at 07/27/2011 18:23:03 RMAN-06094: datafile 8 must be restored
Then I tried recovering data file separately, but same error.
RMAN> recover datafile 1;
Starting recover at 27-JUL-11 using channel ORA_DISK_1
RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of recover command at 07/27/2011 18:24:30 RMAN-06067: RECOVER DATABASE required with a backup or created control file
recover database until cancel using backup controlfile; and alter database recover automatic until cancel;
1. in user managed and server managed backups. What would be the location of the controlfile which is used in (recover database until cancel using backup controlfile;) .
2. why user first option and why use second option.
I started database in mount state;startup mount; alter tablespace users offline;
I tried to make tablespace offline In another case online but showing error database not open same for command alter tablespace begin backup; do think we can make tablespace offline in mount...
How many times i can do recover (TSPITR) a tablespace ? While trying to recover tspitr tablespace on 2nd time i got error message ORA-01178 file 13 created before last create controlfile,but first time it was success.
I have to perform the TSPITR of a tablespace to recover it to a time 03-apr-2011 5 pm.Now I have done that.
Now I find that I need to actually recover it ti 04-apr-2011.Can I again recover the tablespace to 04-Apr after recovering it to 03-Apr by mistake I am not usng recovery catalog;
When i am writing a function (Stand alone or inside a Package) i know what i am writing, i know weather i am changing a Package state or weather i am changing a Database State. So what is the use for giving a PRAGMA RESTRICT_REFERENCE?
as for the other PRAGMAs EXECPTION_INIT is needed to Specify an error name to a specifiec error number so that i can use the error name to handle the exception. AUTONOMOUS_TRANSACTION is used to execute the SQL Operation inside a Block as a child Transaction.SERIALLY_REUSABLE states that a package variable doesnot persists throughout the session.
RESTRICT_REFERENCE states that the code should not do the following RNPS : Read no package state, WNPS : Write no package state RNDS : Read no database state WNDS : Write no database state
what is there to state as i know what my code is doing.
without specifing EXECPTION_INIT, AUTONOMOUS_TRANSACTION or SERIALLY_REUSABLE i cannot get a handler for an exception which doesnot have a handler, i cannot execute SQL Operations from inside the CODE autonomously or i cannot reuse the package variable, but without the RESTRICT_ REFERENCE is can ensure that my code in not doing (RNPS,WNPS,RNDS,WNDS).
I want to know if there is any reflection on the standby database states when it's primary is down or not reachable? I want to use this information from standby node to determine if I can programmatically execute (dgmgrl) failover operation or not? This is considering that the broker configuration has no fast-start failover and no observer enabled/configured.
While trying to copy a database, i used the command: RECOVER DATABASE USING BACKUP CONTROLFILE until cancel; it gave:
ORA-00279: change 7866782806751 generated at 07/12/2010 19:39:23 needed for thread 1 ORA-00289: suggestion : /moteurs/oracle/r11110/R11110/archivelog/2010_07_13/o1_mf_1_1158_%u_.arc ORA-00280: change 7866782806751 for thread 1 is in sequence #1158
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: '/data01/oracle/r11110/data/SYSTEM01.dbf'
ORA-01112: media recovery not started what can i do in this case of issue?
i took the backup database with dump file.. today morning database is crashed but i have only yesterdays backup dump file. How can i recover the full database?
I had a problem starting up my database but was able to get it up and running. The only difference in my two scenarios was that I added a "recover database" statement, which seemed to do the trick.
I was under the impression during startup Oracle implicity does a recover if needed. If that is the case, how come I needed to use the "recover database" step. why the first scenario did not work and the second did.
STARTUP DID NOT WORK ================
Total System Global Area 3775086592 bytes Fixed Size 2159192 bytes Variable Size 1694502312 bytes Database Buffers 2013265920 bytes Redo Buffers 65159168 bytes Database mounted. SQL> alter database open; alter database open [code]...
I have an oracle 8i recovery scenario. I have database cold backups of MONDAY and WEDNESDAY evenings. backup contains control files, data files, redo files
Database runs in Archive log mode and all archives of the month are available. Hard disk crashed on SATURDAY
all archive logs are still available at different location. Control files are not backed up to trace or file name or automatically means no backup control file (except ones in cold backups described above)
restoring all files from cold backup of either MONDAY or WEDNESDAY (I recovered to Wednesday) leaves nothing to recover. Querying V$RECOVER_FILE returns nothing. All log sequences higher to the number nnn displayed as result of ARCHIVE LOG LIST are present at correct location in correct format
My question is how do i ROLL Forward the Database from WEDNESDAY to SATURDAY in the above scenario.
i have one question regarding archivelog and backup if i take just backup excluding archivelogs like = RMAN>backup database; (not plus archivelog ) now when even i recover database using backup , will it also recover changes that was in archives?
I create a test database which is duplicate of my production server and after every 15 or 20 days I need to synchronize test db with production db.So I clone it and it takes about a day.I have to remove all datafiles from test and move from production to there on test server and I applied restore and recover.So it is very time consuming process.
I want to know is there any process which makes my work less like I just need to apply all rest of the logs which are new after synchronize last time from production server that need restore and recover.
I have the following situation: a customer sent me a group of files, that he said to be a "backup" of an old database, that is no longer online (he doesn´t use our software anymore). However, he needs to recover the data in this database. The person at the company who generate these files doesn´t work there anymore, so we don´t have any of the following information:
- Database version, connection details, service names, user names neither tablespace names.
We were just told that these files were recorded in a DVD, and is que only source remaining. The files he sent are the following:
Currently my DB is running on 10g Archivelog mode. All the archive logs being generated at /u04/dbarch/.The server crashed yesterday. Now when I want to start my instance it throwing the error ORA-01110 and ORA-01113-- system01.dbf need more recovery.The below are the command I fired from sql prompt:-
SQL>STARTUP MOUNT; SQL>RECOVER DATABASE UNTIL CANCEL; But still oracle suggesting that system01.dbf need more recovery.
We have lost some datafiles and some archivelogs. We have backup of whole database taken on Dec 20 and archivelogs until Dec 23.So we dont have 1 day worth of archivelogs which can lead to incomplete recovery.
Now question is do we need to restore all datafiles or only lost datafiles for incomplete recovery since we dont have all archivelogs ? lost datafiles belong to different tablespaces.
Datafiles which are still intact are with current SCN and we restore lost datafiles only and recover unitl our last available archivelog it will have different SCN. Will we be able to open database or we need to resotre whole database for this scenario?
multiple disk failure, the database was open at the time.We have managed to recover the data from the disk and have put it on another disk.We have got a new server with oracle 9 running.
A blank database has been created.I have copied the control files and redo files onto the new server and left the datafiles , (.dbf,.ora) on a seperate external disk F drive (this is because the original database resided on F drive)I can mount the database , however when I try to open it I get the following
ORACLE instance started.
Total System Global Area 135338868 bytes Fixed Size 453492 bytes Variable Size 109051904 bytes Database Buffers 25165824 bytes Redo Buffers 667648 bytes Database mounted. ORA-01122: database file 1 failed verification check ORA-01110: data file 1: 'F:ORACLEORADATALCMPROSYSTEM01.DBF' ORA-01207: file is more recent than controlfile - old controlfile
We have faced database(10.2.0) issue cause incomplete recovery and have performed open resetlogs. This DB is of 12Tb. In 10g opening database with reset logs do not invalidate previous backups. we have another replica(no reset state)of this database which we sync using archives.how we can apply those archives(reset database)to previous database?
the need to use 9i Oracle ODBC drivers with 11g? What issues might be raised with this? Our application is using a very old technology and has issues, in certain functional areas, with 11g ODBC, and we found by reverting the driver to 9.0.0.2 it works.
I have problem with moving old DB to the new (the same DB 10.2.0 in Win 2003, first in 32 bit, second in 64 bit). I want move DB from 32 to 64 bit. Problem is that all objects in old DB were created in SYSTEM schema by SYS. I can't export that objets (with data) because impdp nor imp don't touch this objects (tables with indexes). I can't use export import procedure. I'm looking for another method to transfer data, which will be the best and the fastest? Maybe files copy on OS? I suppose it will be problems with configuration files, database have other tablespaces.
In my catalog for the "source" database (rman target db), I have the backupsets for a full database backup ended at Feb. 7, 03:43:37. These are online backups. So, there are archived redo logs being generated while it runs and the following archived redo logs finished at Feb. 7, 04:00:24.
We duplicate databases all the time. So, this is not a new concept for us. The one thing that has changed is that we now back up to disk (using the flashback recovery area) and then later on, initiate a backup to tape. Prior to this go-live, we did all of our backups directly to tape. The catalog does not seem confused. It knows it needs to go to tape because it's beyond the retention for disk backups. The only problem is that it is going to the backup prior to the backupset I want, only for a couple of files.
In the past, when all went directly to tape, we would do a set until time 'Feb. 7, 03:43:37' and it would automatically restore the backupset that finished then and apply archived redo logs as necessary to make a consistent copy. Now, if I use the same model, it's going to a backup set from the prior date for 3 particular files. If I change the time to when the archived redo logs ended their backup, 04:00, it still goes back to the day before, but only for 2 files.
I can list a backup of each specific file and see that the file is in the backupset for which I expect RMAN to pull. How can I figure out a date/time to go back to if not using the method of reviewing the catalog entries and timestamps?