Partial recovery in RMAN 8i
Hi,
I'm looking for an example of partial recovery (a table only, or a tablespace or some rows in a table) in RMAN 8i.
I deleted some rows from a table and I recovered its tablespace I did not find the rows.
Many thanks.
What you actually performed was a complete recovery of a tablespace. You must perform a TSPITR (TableSpace Point In Time Recovery):
http://www.csee.umbc.edu/help/oracle8/server.815/a67773/rmantspi.htm
Similar Messages
-
Partial Recovery - Skip UNDO Tablespace
Hi,
I was performing a partial database recovery using skip tablespace option using RMAN. I was wondering if I can skip undo tablespace.
I was not able to conclude whether I can do that? If not, why?
As per my understanding,
1. Datafiles are restored - If they have any uncommited data, then archive logs which will be applied for media recovery, will have the undo data to perform those roll backward.
2. While performing media reccovery using archive logs, it will generate it's own undo data.
Why do we need the stale undo data (generated till datafiles restoration point)?
Thanks,
Janak AgrawalSoli,
Thread that you have specified, talks about datafiles which does not have any uncommitted data (As the database was normally shutdown). In this case, we can drop and recreate the undo tablespace.
But I am talking about a past point-in-time recovery using RMAN, where the datafiles which will be restored may have the uncommitted data. To rollback these uncommited trnasactions, will we have data in next archivelogs, which will be used for media recovery or the data (needed to rollback) will have only in undo tablespace. Let me give you an example.
At 9 am I want to restore the datbase till 8.15 AM. Full backup is available till 8 AM and then from 8 to 8:15 arvhive logs are available. While doing recovery, datafiles will be restored till 8 AM. If at 8 AM there is some uncommitted data in datafiles, will it require data from undo tablespace to rollback or first archive log after 8 AM w'd take care of roll back? If archive logs can take care of rollback, why can't I skip the undo tablespace while doing recovery?
Santosh,
As you mentioned, UNDO data will require for read-consistency. But the same data will be available in archive logs (which will require after datafiles restore) which can generate their own UNDO data.
Please clarify. I am sorry if I am missing anything here.
Thanks,
Janak Agrawal -
Problem in performing multiple Point-In-Time Database Recovery using RMAN
Hello Experts,
I am getting an error while performing database point in time recovery multiple times using RMAN. Details are as follows :-
Environment:
Oracle 11g, ASM,
Database DiskGroups : DG_DATA (Data files), DG_ARCH(Archive logs), DG_REDO(Redo logs Control file).
Snapshot DiskGroups :
Snapshot1 (taken at 9 am): SNAP1_DATA, SNAP1_ARCH, +SNAP1_REDO
Snapshot2 (taken at 10 am): SNAP2_DATA, SNAP2_ARCH, +SNAP2_REDO
Steps performed for point in time recovery:
1. Restore control file from snapshot 2.
RMAN> RESTORE CONTROLFILE from '+SNAP2_REDO/orcl/CONTROLFILE/Current.256.777398261';
2. For 2nd recovery, reset incarnation of database to snapshot 2 incarnation (Say 2).
3. Catalog data files from snapshot 1.
4. Catalog archive logs from snapshot 2.
5. Perform point in time recovery till given time.
STARTUP MOUNT;
RUN {
SQL "ALTER SESSION SET NLS_DATE_FORMAT = ''dd-mon-yyyy hh24:mi:ss''";
SET UNTIL TIME "06-mar-2013 09:30:00";
RESTORE DATABASE;
RECOVER DATABASE;
ALTER DATABASE OPEN RESETLOGS;
Results:
Recovery 1: At 10.30 am, I performed first point in time recovery till 9:30 am, it was successful. Database incarnation was raised from *2* to *3*.
Recovery 2: At 11:10 am, I performed another point in time recovery till 9:45 am, while doing it I reset the incarnation of DB to *2*, it failed with following error :-
Starting recover at 28-FEB-13
using channel ORA_DISK_1
starting media recovery
media recovery failed
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 03/06/2013 11:10:57
ORA-00283: recovery session canceled due to errors
RMAN-11003: failure during parse/execution of SQL statement: alter database recover if needed
start until time 'MAR 06 2013 09:45:00'
ORA-00283: recovery session canceled due to errors
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: '+DG_REDO/orcl/onlinelog/group_1.257.807150859'
ORA-17503: ksfdopn:2 Failed to open file +DG_REDO/orcl/onlinelog/group_1.257.807150859
ORA-15012: ASM file '+DG_REDO/orcl/onlinelog/group_1.257.807150859' does not exist
Doubts:
1. Why did recovery failed 2nd time, but not 1st time and why is RMAN looking for online redo log group_1.257.807150859 in 2nd recovery ?
3. I tried restoring control file from AutoBackup, in that case both 1st and 2nd recovery succeeded.
However for this to work, I always need to keep the AutoBackup feature enabled.
How reliable is control file AutoBackup ? Is there any alternative to using AutoBackup, can I restore control file from snapshot backup only ?
4. If I restore control file from AutoBackup, then from what point of time/SCN does RMAN restores the control file ?
Please help me out in this issue.
Thanks.992748 wrote:
Hello experts,
I'm little newbie to RMAN recovery. Please help me in these doubts:
1. If I have datafiles, archive logs & control files backup, but current online REDO logs are lost, then can I perform incomplete database recovery ?yes, if you have backups of everything else
2. Till what maximum time/scn can incomplete database recovery be performed ??Assuming the only thing lost is the redo logs, you can recover to the last scn in the last archivelog.
3. What is role of online REDO logs in incomplete database recovery ? They provide the final redo changes - the ones that have not been written to archivelogs
Are they required for incomplete recovery ?It depends on how much incomplete recovery you need to do.
Think of all of your changes as a constant stream of redo information. As a redolog fills, it is copied to archive, then (eventually) reused. over time, your redo stream is in archivelog_1, continuing into archvivelog_2, then to 3, and eventually, when you get to the last archivelog, into the online redo. A recovery will start with the oldest necessary point in the redo stream and continue forward. Whether or not you need the online redo for a PIT recovery depends on how far forward you need to recover.
But you should take every precaution to prevent loss of online redo logs .. starting with having multiple members in each redo group ... and keeping those multiple members on physically separate disks. -
Doubt about database point in time recovery using rman
Hi Everyone,
I have been practising various rman restore and recovery scenarios . I have a doubt regarding database point in time recovery using rman. Imagine i have a full database backup including controlfile scheduled to run at 10 PM everyday. today is 20th dec 2013. imagine i want to restore the database to a prior point in time ( say 18th dec till 8 AM). so i would restore all the datafiles from 17th night's backup and apply archives till 8 AM of 18th dec . in this scenario should i restore the controlfile too from 17th dec bkp ( i am assuming yes we should ) or can we use the current controlfile ( assuming it is intact). i found the below from oracle docs.
Performing Point-in-Time Recovery with a Current Control File
The database must be closed to perform database point-in-time recovery. If you are recovering to a time, then you should set the time format environment variables before invoking RMAN. The following are sample Globalization Support settings:
NLS_LANG = american_america.us7ascii
NLS_DATE_FORMAT="Mon DD YYYY HH24:MI:SS"
To recover the database until a specified time, SCN, or log sequence number:
After connecting to the target database and, optionally, the recovery catalog database, ensure that the database is mounted. If the database is open, shut it down and then mount it:
2. SHUTDOWN IMMEDIATE;
3. STARTUP MOUNT;
4.
Determine the time, SCN, or log sequence that should end recovery. For example, if you discover that a user accidentally dropped a tablespace at 9:02 a.m., then you can recover to 9 a.m.--just before the drop occurred. You will lose all changes to the database made after that time.
You can also examine the alert.log to find the SCN of an event and recover to a prior SCN. Alternatively, you can determine the log sequence number that contains the recovery termination SCN, and then recover through that log. For example, query V$LOG_HISTORY to view the logs that you have archived.
RECID STAMP THREAD# SEQUENCE# FIRST_CHAN FIRST_TIM NEXT_CHANG
1 344890611 1 1 20037 24-SEP-02 20043
2 344890615 1 2 20043 24-SEP-02 20045
3 344890618 1 3 20045 24-SEP-02 20046
Perform the following operations within a RUN command:
Set the end recovery time, SCN, or log sequence. If specifying a time, then use the date format specified in the NLS_LANG and NLS_DATE_FORMAT environment variables.
If automatic channels are not configured, then manually allocate one or more channels.
Restore and recover the database.
The following example performs an incomplete recovery until November 15 at 9 a.m.
RUN
SET UNTIL TIME 'Nov 15 2002 09:00:00';
# SET UNTIL SCN 1000; # alternatively, specify SCN
# SET UNTIL SEQUENCE 9923; # alternatively, specify log sequence number
RESTORE DATABASE;
RECOVER DATABASE;
If recovery was successful, then open the database and reset the online logs:
5. ALTER DATABASE OPEN RESETLOGS;
I did not quiet understand why the above scenario is using current controlfile as the checkpoint scn in the current controlfile and the checkpoint scn in the datafile headers do not match after the restore and recovery. Thanks in Advance for your help.
Thanks
satyaThanks for the reply ... but what about the checkpoint scn in the controlfile . my understanding is that unless the checkpoint scn in the controlfile and datafiles do not match the database will not open. so assuming the checkpoint scn in my current controlfile is 1500 and i want to recover my database till scn 1200. so the scn in the datafiles (which is 1200) is not not matching with the scn in the controlfile(1500). so will the database open in such cases.
Thanks
Satya -
Problem in database recovery thru RMAN
I am completely new to RMAN.
I took full backup thru RMAN and as per suggested by some document, I deleted controlfile, datafile and SPfile in order to learn recovery thru RMAN.
now, when I try to connect to RMAN catalog I'm getting the following error "
RMAN> connect catalog rman/rman@test9i
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-04004: error from recovery catalog database: ORA-01033: ORACLE initializat
on or shutdown in progress"
can anybody help me in connecting and recovering the database.I thinnk there may be user connected while performing a shutdown.Disconnect the user and stop the listner then you perform the recovery
correct me if i am wrong -
BACKUP AND RECOVERY USING RMAN
제품 : ORACLE SERVER
작성날짜 : 2003-08-04
BACKUP AND RECOVERY USING RMAN
==============================
1. Backup Method
1.1 backing up in noarchivelog mode
SVRMGR> shutdown;
SVRMGR> startup mount
rman을 가동시킨 후 다음을 수행
run {
# backup the database to disk
allocate channel dev1 type disk;
backup (database format '/oracle/backups/bp_%s_%p'); }
1.2 Backing up databases and tablespaces in archivelog mode >
- database 단위 backup script
run {
allocate channel dev1 type 'sbt_tape';
backup skip offline (database format '/oracle/backups/%d_%u');
release channel dev1;
- tablespace 단위 backup script
run {
allocate channel dev1 type disk;
backup
(tablespace system,tbs_1,tbs_2,tbs_3,tbs_4,tbs_5
format '/oracle/backups/bp_%s_%p');
- datafile 단위 backup script
run {
allocate channel dev1 type disk;
backup
(datafile '?/dbs/t_dbs1.f'
format '/oracle/backups/%d_%u');
- control file backup script
control file은 system datafile의 첫번째 화일을 백업받을 때 백업되며 다음과
같은 방법으로도 백업받을 수 있다.
run {
allocate channel dev1 type 'sbt_tape';
backup
(tablespace tbs_5 include current controlfile
format '%d_%u');
- archived logs backup script
NLS_LANG=american
NLS_DATE_FORMAT='Mon DD YYYY HH24:MI:SS'
run {
allocate channel dev1 type 'sbt_tape';
backup
(archivelog from time 'Nov 13 1996 20:57:13'
until time 'Nov 13 1996 21:06:05'
all
format '%d_%u');
run {
allocate channel dev1 type 'sbt_tape';
backup
(archivelog low logseq 288 high logseq 301 thread 1
all delete input
format '%d_%u');
- copying datafiles
run {
allocate channel dev1 type disk;
copy datafile '?/dbs/tbs_01.f/dbs/tbs_01.f' to '?/copy/temp3.f';
- incremental backups
새로운 데이타화일이 추가되거나 테이블스페이스가 추가된다면 level 0의 backup을
반드시 수행한다.
run {
allocate channel dev1 type 'sbt_tape';
backup incremental level 0
(database
format '%d_%u');
run {
allocate channel dev1 type 'sbt_tape';
backup incremental level 1
(database
format '&d_%u');
2. Recovery Method
- tablespace recovery
run {
allocate channel dev1 type disk;
allocate channel dev2 type 'sbt_tape';
sql "alter tablespace tbs_1 offline immediate" ;
set newname for datafile 'disk7/oracle/tbs11.f'
to 'disk9/oracle/tbs11.f' ;
restore (tablespace tbs_1) ;
switch datafile all ;
recover tablespace tbs_1 ;
sql "alter tablespace tbs_1 online" ;
release channel dev1;
release channel dev2;
- point-in-time recovery
TBS_1 테이블스페이스는 두 개의 데이타 화일 소유. TEMP1은 백업이 없으나 user
data는 없는 temporary segemnt만 가지고 있음.
NLS_LANG=american
NLS_DATE_FORMAT='Mon DD YYYY HH24:MI:SS'
SVRMGR> shutdown abort;
SVRMGR> startup nomount;
run {
# recover database until 3pm after restoring tbs_1 to a new location
allocate channel dev1 type disk;
allocate channel dev2 type 'sbt_tape';
set until time 'Nov 15 1996 15:00:00'
set newname for datafile '/vobs/oracle/dbs/tbs_11.f'
to '?/dbs/temp1.f' ;
set newname for datafile '?/dbs/tbs_12.f'
to '?/dbs/temp2.f' ;
restore controlfile to '/vobs/oracle/dbs/cf1.f' ;
replicate controlfile from '/vobs/oracle/dbs/cf1.f';
sql "alter database mount" ;
restore database skip tablespace temp1;
switch datafile all;
recover database skip tablespace temp1;
sql "alter database open resetlogs";
sql "drop tablespace temp1";
sql "create tablespace temp1 datafile '/vobs/oracle/dbs/temp1.f' size 10M";
release channel dev1;
release channel dev2;
- 전체 데이타베이스를 복구하려 할때
current redologfile이 존재할때 다음과 같은 작업으로 전체 데이타베이스를 복구할
수 있다.
replace script restore_recover_db_cf {
execute script restore_cf;
sql 'alter database mount';
execute script restore_db;
execute script recover_db;
sql 'alter database open resetlogs';
replace script alloc_1_disk {
allocate channel d1 type disk;
setlimit channel d1 kbytes 2097150 maxopenfiles 32 readrate 200;
replace script rel_1_disk {
release channel d1;
replace script restore_cf {
execute script alloc_1_disk;
restore
controlfile to '/private/db_files/twih/dbf/ctrl_twih_1.ctl';
replicate
controlfile from '/private/db_files/twih/dbf/ctrl_twih_1.ctl';
execute script rel_1_disk;
replace script restore_db {
execute script alloc_1_disk;
restore
(database);
execute script rel_1_disk;
replace script recover_db {
execute script alloc_1_disk;
recover
database;
execute script rel_1_disk;
Reference Documents
<Note:104796.1>Hi Alok,
why there is a need for standby here? you mean to say standby db?
what i exactly need is , whether i will be making use of archivelogs which are all archived during that backup period (in mount stage) after some days, if i face any problem with the PRODUCTION Database.. -
ORACLE8: RECOVERY MANAGER 사용 방법(RMAN)
제품 : ORACLE SERVER
작성날짜 : 1997-11-17
Oracle 8 NEW : Recovery manager 란 ?
====================================
- 소개
Oracle 8 은 새로운 backup와 recovery 방법인 Recovery manager 를 제공한다.
Recovery manager(이하 RMAN) 는 backup,restore,recover process를 관리하는
tool 이다. Oracle Enterprise Manager 를 통해 GUI mode 로 가능하고,
rman 이라는 command line interface 를 함께 제공한다.
특히, OS device control 기능이 보완 되었기 때문에, 현재 backup catalog 를
유지하고, 이 정보를 이용해 OS level 에서 file 을 auto-restore 해 주기
때문에, database recovery 전에 file 을 manual 하게 restore 할 필요가
없어졌다.
Incremental backup 을 제공하고, backup 이나 restore 중에 current block
detection 을 해 주며(v$backup_corruption, v$copy_corruption 또는 alert
log 에 report), Rman 작업시에 parallelization 을 제공하며, open database
backup 동안 특별한 redo 를 발생하지 않는다.
- 구조
Recovery
manager in OEM(oracle
enterprise ---> Database
manager) <--- (catalog)
or RMAN
/| |
| |/
DATABASE ---> OS
(target to backup) <--- Device
- 구성 요소 설명
1) recovery manager
Command 를 해석하고, backup, restore, recover 를 실행하기 위해 target
database 로 command 를 전달한다. recovery catalog 를 update 한다. 실행
과정을 조정, 모니터링 한다.
2) Target database
backup,restore,recovery action 이 수행될 데이타베이스
3) Recovery Catalog
Information 저장장소. 즉, target database 의 물리적 스키마, datafile 과
archivelog 의 backup sets 과 pieces, backup script 등을 포함하고 있음.
rman 작업시 recovery catalog 정보를 이용한다.
4) channel
allocation channel 은 target database 의 backup,restore,recover 에 대한
server process 초기화를 한다. 즉, 이 channel 은 disk 를 포함 기타 OS
device 를 지정하게 되며, 이 갯수에 따라 parallelization 의 degree 가 결정
된다.
- recovery catalog 를 사용할 것인지를 결정하기
catalog 없이 RMAN 을 사용할 때의 단점은 recovery catalog 의 overhead 가
없는 대신, Point-In-Time recovery 를 쉽게 할 수 없다. 또한, control file
손상시에 recovery 할 수 없고, stored script 를 사용할 수 없다.
(datafile 이 20개 이상일 경우에는 recovery catalog 사용을 권장한다.)
- Setup
가. Recovery catalog 생성
1. Backup(target) db 외의 별도의 db 생성 (8.0.3 이상)
2. catalog DB 에 분리된 tablespace 생성
create tablespace rcvcat datafile '/oracle/rcvcat/rcvcat01.dbf'
size 20 M;
3. catalog 의 owner 생성과 권한부여
create user rman identified by rman
temporary tablespace temp
default tablespace rcvcat;
grant dba,connect,resource,recovery_catalog_owner to rman;
4. catalog 저장에 필요한 object 생성
cd $ORACLE_HOME/rdbms/admin
sqlplus rman/rman
@catrman
나. Recovery manager 기동
1. recovery catalog DB 를 사용하는 경우
rman target \"system/manager\" rcvcat \"rman/rman@orabeta1\"
(orabeta1 은 catalog DB 로 접속하는 tnsname 입니다.
즉, sqlplus rman/rman@orabeta1 하면, catalog db 와 접속되어야 합니다.)
2. recovery catalog DB 를 사용하지 않는 경우
rman target system/manager@target nocatalog
위 경우 모두, target database 를 catalog 에 등록해야 한다.
RMAN> register database;
다. Backup 시작
- Backup 은 database 가 open 또는 close(close 후에는 반드시 mount
상태이어야 한다)
- Backup 의 단위
full database
tablespace
datafile
control file
archived logs
- Backup 의 예
--full database
run {
allocate channel dev1 type disk;
allocate channel dev2 type disk;
backup full filesperset 2
(database format '/user7/ora8/backup.%n_%p') ;
release channel dev1;
release channel dev2;
-- tablespace
run {
allocate channel dev_1 type disk ;
backup incremental level 0
filesperset 1
(tablespace system channel dev_1 format '/vol312/net8%d_%u');
release channel dev_1;
-- datafile
run{
allocate channel dev1 type disk;
copy datafile "/vo3/orabeta6/backup/copy_tools.dbf"
to "/vo3/orabeta6/oradata/orabeta6/tools01.dbf"
tag "org_tools";
release channel dev1;
-- archived logs
create script beta_arch_full {
allocate channel dev1 type disk;
allocate channel dev2 type disk;
backup full filesperset 10
(archivelog all delete input
format '/vo3/orabeta6/backup/beta_arch.%s_%p') ;
release channel dev1;
release channel dev2;
-- backup to tape
run {
allocate channel t1 type 'sbt_tape';
backup
format 'dbfull_sunday_s%s_t%t'
tag 'Sunday full backup'
(database);
라. Restore
- Backup 으로 부터 원래 위치로 복원
- Archive log file 은 manual 하게 restore 할 수도 있고, 필요하다면
recovery 시 자동으로 restore 된다.
restore (archivelog all| like <filename | <archivelog range>);
- restore 명령
database : restore (database);
tablespace : restore (tablespace <name>,...,<name>);
datafile : restore (datafile <name>,...,<name>);
control file : restore control file to location;
- recovery 시에 database 는 어떤 상태에 있어야 하는가 ?
1) control file restore - not mount
SVRMGRL> startup nomount
2) whole database, or system tablespace - not open
SVRMGRL> startup mount
3) tablespace or datafile - open but tablespace or datafile offline
SVRMGRL> alter tablespace user_data offline temporary;
SVRMGRL> alter database datafile '/oracle/file/user_data1.dbf' offline;
마, Recovery
- Recoervy 는 file restore 후의 과정이다.
1) Archive log mode : complete recovery, incomplete recovery 가 가능하다
2) No archive log mode : consistent whole database backup 으로 부터
restore 하는 것이 유일한 option 이다.
- whole database recovery 의 예
svrmgrl
connect internal
shutdown abort
startup mount
rman target \"system/manager\" rcvcat \"rman/rman@orabeta1\"
run {
allocate channel dev1 type disk;
allocate channel dev2 type disk;
restore database;
recover database;
release channel dev1;
release channel dev2;
or
run {
allocate channel dev1 type disk;
allocate channel dev2 type disk;
restore tablespace 'SYSTEM';
restore tablespace 'USERS';
recover tablespace 'SYSTEM';
recover tablespace 'USERS';
sql "alter database open ";
release channel dev1;
release channel dev2;
- datafile 하나가 사용할 수 없을 경우의 recovery
가정) full backup set 이 있을 경우
ORA-01157: cannot identify data file 3 - file not found
ORA-01110: data file 3: '/user7/ora8/oradata/ORA8/temp01.dbf'
SVRMGR> startup mount
rman target \"system/manager\" rcvcat \"rman/rman@orabeta1\"
RMAN> run {
allocate channel dev1 type disk;
restore database;
recover database;
release channel dev1;
};Check the TSM logs for errors, the error stack here doesn't show any useful information (only informational messages and an undefined exit code). This is an 8i problem, later releases transfer much better messages from the media management software.
-
Hi,
in order to test RMAN I did this :
1-CREATE TABLESPACE "RMAN_TS_DATA" DATAFILE
'/d01/devdata/data/rman_ts_data0.dbf’ size 50M;
2-I backuped my Dtabase fully.
3-I droped the tablespce :
DROP TABLESPACE ALK_TS_DATA INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
Tablespace dropped.
4-I tried to restore that tablespace by RMAN :
Run {
allocate channel t1 type disk;
restore tablespace ALK_TS_DATA;
recover tablespace ALK_TS_DATA;
sql "alter tablespace TBS_DATA online;";
But I received :
RMAN-06004: ORACLE error from recovery catalog database: RMAN-20202: tablespace not found in the recovery catalog
RMAN-06019: could not translate tablespace name "ALK_TS_DATA"
Would you be so kind to say what is wrong please ?
Many thanks.you should be able to recover your dropped object. Isn't it ?No, backup is not for recvoering DROPPED objects instead it is from there for recovering form failure. When you drop tablespace the reference of TS get deleted from control file also and and the DB was in sync. Now also your DB is in sync with controlfile and logically there should not be any TS at all. If the datafiles belongs to that TS get deleted then you should have tried restoring it from backup. Right now when you say restore tablespace you controlfile doesn't know anything about that TS and if you want to do this then you have to use TSPITR, in which you have to restore the old controlfile first which KNOW about your dropped TS and the you can restore the whole backup and do an incomplete recovery and open it before you dropped the TS. Then if you want that TS backup in your main DB the use transport tablespace feature.
There is a HUGE difference between DROP and FAILURE
Daljit Singh -
Can you help me? I meet errors when I do incomplete recovery with RMAN
In recover step, There are following errors:
RMAN-11001: Oracle Error: ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: '/d/db/oradata/db01/system01.dbf'
question:
1. Should I restore archive log files generated on July 16th back to orignal archive directory in order to avoid to recover failure?
2. Or Should I add the command "sql 'alter system archive log current'" in the backup script in order to avoid to recover failure?
The following is the detail information:
The database is ok when I try to do incomplete recovery database that was fully backed up on July,16th,2004. The database is oracle 8.1.7 and is in the archive mode:
The following is the backup script:
run {
allocate channel 'dev_0' type 'sbt_tape'
parms 'ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=db01,OB2BARLIST=ora8i_online)';
backup incremental level 0 filesperset 1
format 'ora8i_online<db01_%s:%t:%p>.dbf'
database
include current controlfile
archivelog all delete input;
I use it to do a full backup on July 16th,17th successfully.
And I use the following scripts to do incomplete recovery:
run {
allocate channel 'dev_0' type 'sbt_tape'
parms 'ENV=(OB2BARTYPE=ORACLE8,OB2APPNAME=db01)';
sql "alter database mount";
set until time ='17.07.2004';
restore database;
recover database;
sql "alter database open resetlogs";
sql "alter database open";
There script is successful in restore step. But there are some errors in recover step. The detail information is showing in following log:
RMAN-03022: compiling command: allocate
RMAN-03023: executing command: allocate
RMAN-08030: allocated channel: dev_0
RMAN-08500: channel dev_0: sid=13 devtype=SBT_TAPE
RMAN-08526: channel dev_0: HP OpenView OmniBack II A.04.10/176
RMAN-03022: compiling command: sql
RMAN-06162: sql statement: alter database mount
RMAN-03023: executing command: sql
RMAN-03022: compiling command: set
RMAN-03022: compiling command: restore
RMAN-03022: compiling command: IRESTORE
RMAN-03023: executing command: IRESTORE
RMAN-08016: channel dev_0: starting datafile backupset restore
RMAN-08502: set_count=2056 set_stamp=531622798 creation_time=16.07.2004
RMAN-08089: channel dev_0: specifying datafile(s) to restore from backup set
RMAN-08016: channel dev_0: starting datafile backupset restore
RMAN-08502: set_count=2180 set_stamp=531623409 creation_time=16.07.2004
RMAN-08089: channel dev_0: specifying datafile(s) to restore from backup set
RMAN-08523: restoring datafile 00001 to /d/db/oradata/db01/system01.dbf
RMAN-08023: channel dev_0: restored backup piece 1
RMAN-08511: piece handle=netace_ora8i_online<db01_2180:531623409:1>.dbf tag=null params=NULL
RMAN-08024: channel dev_0: restore complete
RMAN-08023: channel dev_0: restored backup piece 1
RMAN-08511: piece handle=netace_ora8i_online<db01_2212:531623994:1>.dbf tag=null params=NULL
RMAN-08024: channel dev_0: restore complete
RMAN-03022: compiling command: recover
RMAN-03022: compiling command: recover(1)
RMAN-03022: compiling command: recover(2)
RMAN-03022: compiling command: recover(3)
RMAN-03023: executing command: recover(3)
RMAN-08054: starting media recovery
RMAN-03022: compiling command: recover(4)
RMAN-03026: error recovery releasing channel resources
RMAN-11001: Oracle Error: ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: '/d/db/oradata/db01/system01.dbf'
RMAN-08031: released channel: dev_1
RMAN-08031: released channel: dev_2
RMAN-08031: released channel: dev_0
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure during compilation of command
RMAN-03013: command type: recover
RMAN-03002: failure during compilation of command
RMAN-03013: command type: recover(4)
RMAN-06003: ORACLE error from target database: ORA-01220: file based sort illegal before database is open
ORA-06512: at "SYS.X$DBMS_RCVMAN", line 7220
ORA-06512: at "SYS.X$DBMS_RCVMAN", line 5053
ORA-06512: at line 1
I repeat my questions:
1. Should I restore archive log files generated on July 16th back to original archive directory in order to avoid to recover failure?
2. Or Should I add the command "sql 'alter system archive log current'" in the backup script in order to avoid to recover failure?
Can you help me ? Thank you.which o.s u are using i can't help you as i never worked on ver 8i,i can tell you incomplete recovery on oracle 9i on win 2000 server.
thanks : alok kumar -
Can you help me? I meet some errors when I do incomplete recovery with RMAN
In recover step, There are following errors:
RMAN-11001: Oracle Error: ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: '/d/db/oradata/db01/system01.dbf'
question:
1. Should I restore archive log files generated on July 16th back to orignal archive directory in order to avoid to recover failure?
2. Or Should I add the command "sql 'alter system archive log current'" in the backup script in order to avoid to recover failure?
The following is the detail information:
The database is ok when I try to do incomplete recovery database that was fully backed up on July,16th,2004. The database is oracle 8.1.7 and is in the archive mode:
The following is the backup script:
run {
allocate channel 'dev_0' type 'sbt_tape'
parms 'ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=db01,OB2BARLIST=ora8i_online)';
backup incremental level 0 filesperset 1
format 'ora8i_online<db01_%s:%t:%p>.dbf'
database
include current controlfile
archivelog all delete input;
I use it to do a full backup on July 16th,17th successfully.
And I use the following scripts to do incomplete recovery:
run {
allocate channel 'dev_0' type 'sbt_tape'
parms 'ENV=(OB2BARTYPE=ORACLE8,OB2APPNAME=db01)';
sql "alter database mount";
set until time ='17.07.2004';
restore database;
recover database;
sql "alter database open resetlogs";
sql "alter database open";
There script is successful in restore step. But there are some errors in recover step. The detail information is showing in following log:
RMAN-03022: compiling command: allocate
RMAN-03023: executing command: allocate
RMAN-08030: allocated channel: dev_0
RMAN-08500: channel dev_0: sid=13 devtype=SBT_TAPE
RMAN-08526: channel dev_0: HP OpenView OmniBack II A.04.10/176
RMAN-03022: compiling command: sql
RMAN-06162: sql statement: alter database mount
RMAN-03023: executing command: sql
RMAN-03022: compiling command: set
RMAN-03022: compiling command: restore
RMAN-03022: compiling command: IRESTORE
RMAN-03023: executing command: IRESTORE
RMAN-08016: channel dev_0: starting datafile backupset restore
RMAN-08502: set_count=2056 set_stamp=531622798 creation_time=16.07.2004
RMAN-08089: channel dev_0: specifying datafile(s) to restore from backup set
RMAN-08016: channel dev_0: starting datafile backupset restore
RMAN-08502: set_count=2180 set_stamp=531623409 creation_time=16.07.2004
RMAN-08089: channel dev_0: specifying datafile(s) to restore from backup set
RMAN-08523: restoring datafile 00001 to /d/db/oradata/db01/system01.dbf
RMAN-08023: channel dev_0: restored backup piece 1
RMAN-08511: piece handle=netace_ora8i_online<db01_2180:531623409:1>.dbf tag=null params=NULL
RMAN-08024: channel dev_0: restore complete
RMAN-08023: channel dev_0: restored backup piece 1
RMAN-08511: piece handle=netace_ora8i_online<db01_2212:531623994:1>.dbf tag=null params=NULL
RMAN-08024: channel dev_0: restore complete
RMAN-03022: compiling command: recover
RMAN-03022: compiling command: recover(1)
RMAN-03022: compiling command: recover(2)
RMAN-03022: compiling command: recover(3)
RMAN-03023: executing command: recover(3)
RMAN-08054: starting media recovery
RMAN-03022: compiling command: recover(4)
RMAN-03026: error recovery releasing channel resources
RMAN-11001: Oracle Error: ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: '/d/db/oradata/db01/system01.dbf'
RMAN-08031: released channel: dev_1
RMAN-08031: released channel: dev_2
RMAN-08031: released channel: dev_0
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure during compilation of command
RMAN-03013: command type: recover
RMAN-03002: failure during compilation of command
RMAN-03013: command type: recover(4)
RMAN-06003: ORACLE error from target database: ORA-01220: file based sort illegal before database is open
ORA-06512: at "SYS.X$DBMS_RCVMAN", line 7220
ORA-06512: at "SYS.X$DBMS_RCVMAN", line 5053
ORA-06512: at line 1
I repeat my questions:
1. Should I restore archive log files generated on July 16th back to original archive directory in order to avoid to recover failure?
2. Or Should I add the command "sql 'alter system archive log current'" in the backup script in order to avoid to recover failure?
Can you help me ? Thank you.You are correct. In RMAN8i, you should add the "alter system archive log current; command before you backup the archive logs.
You are running into the case where Oracle needs additional redo to make the database consistent that was located in the current online log at the time of the backup.
If you set UNTIL TIME to an earlier time does the recover work?
In Oracle9i, if you issue the command, "backup database plus archive logs", RMAN will automatically archive the current online log before performing the archive log backups.
Thanks, Tammy -
Problem in recovery from RMAN backup in case of disk failure
Hi
I have Oracle 9.2.0.1.0 on Windows. Full Hot RMAN backup of database is scheduled on daily basis. I am taking backup on disks. And then i do manually copy them on tapes. If any disk failure occurs than can i recover database completely in this scenario. If tried restoing that backup on different machine as given below
set ORACLE_SID=<name>
rman target sys/<pwd>@ORACLE_SID nocatalog
startup nomount
restore spfile
create pfile from spfile
startup nomount pfile
alter database mount
restore database
Everything worked fine till above steps. Now i will execute last step.
recover database
Here it gives error:-RMAN-06054: media recovery requesting unknown log: thread 1 scn 264750
Still i typed
alter database open resetlogs
Now i can open my database, But is it recovered completely? Or there is loss of some data? Why it is giving this error?
Thanks in advance. Waiting for reply.I can understand the confusion with this whole concept.
What I meant by all archivelogs is all the archivelogs that were backed up with the backup itself. Again, it is essential to ensure that you archive the current redo log AFTER the backup is performed and then back those archivelogs too. Good thing is, RMAN will take care of this for you if you backup the archivelogs with the BACKUP DATABASE command and/or backup the archivelogs AFTER you run the BACKUP DATABASE command.
Once you've mounted the controlfile and CATALOG the archivelogs, you can go into SQL*Plus and issue the following query:
select SEQUENCE#, FIRST_CHANGE#, NEXT_CHANGE# from v$archived_log
order by FIRST_TIME;This will tell you what archivelog is the latest. Logs generated during the backup may also provide the necessary information. Performing Disaster Recovery should help to understand the full process.
The ONLINELOG directory in FRA is only populated if you've configured your redo logs to be stored there. However, you are on 9i...right? If so 9i doesn't utilize a FRA.
HTH
Edited by: ebrian on Oct 3, 2008 1:08 PM -
Difference between redundancy & recovery window, rman
Hi All,
i want to know the difference between following two commands i.e.
1. configure retention policy to redundancy 1;
2. configure retention policy to recovery window of 1 days;
we are taking rman based FULL backup every night, so just want to keep one day old backup, would like to know which one of the above is more appropriate.
Regards,Nayyares,
You should read this section of the docs,
http://download.oracle.com/docs/cd/B19306_01/backup.102/b14191/rcmconc1.htm#i1008093
Redundanc is nothing but the number of copies. So you decide that you want to keep all the time , 3 copies of the backup of your db, you are going to use this. This serves the purpose that you can use this backup for whatever period of time in the past. Any copies before than these mentioned copies, will be marked obsolete by oracle. So if the number is 2 and , for example, you took first backups with tags A, B. Now when you will take the next backup with TAG C , A will be marked as obsolete. The most recent number of copies are kept irrespective of the time.
Recovery window is that for how long , you want to go back in the past and be assured that the backup you have is sufficient for the recovery of db. This puts no limitations on the number of copies as like the Redundancy setting. So depending on your SLA, you may use the window timings.
Both the settings are mutually exclusive so you don't have the liberty to go for both of them. As per your requirement, recovery window should work.
As Sybrand mentioned, this all what I wrote is already in the docs(link mentioned by me above) so take some time and read it. Also, I would like to point you to this presentation which should make use of RMAN more clear.
http://blogs.oracle.com/alejandroVargas/gems/RmanHandsOn.pdf
HTH
Aman.... -
Need help with Backup Recovery using Rman - Point in Time.
Hi all,
I am trying to recover my database to a certain point in time. Here are the details below.
Oracle database version is. 11G R1. on 2 Node RAC. OS is AIX.
Database name is Sales.
Due to a mistake by the Application team, the database is written over by bad data. Now I have to restore the database in to a point in time, where the database was good.
For this, i took a whole (full) RMAN backup, everything, all the archivelog files and Controlfiles as well.
After doing this, i dropped the entire database. So now everything is clean.
Now i have to restore and recover the database to this point in time.. 03/16/2011 12:45:00
Please guide.
The backups are located at.. /backup/sales/rman/
I am trying various things, but each time i get the msg..
ORA-01507: database not mounted
I understand.. the reason for this message is the controlfile does not exist.. as the database is in mount mode. But as i said.. i have dropped the database in order to proceed with entire restoration.
But i have taken a whole backup.. which also includes the controlfiles + archivefiles.
Please guide.. with proper steps and commands.Hi,
Priror to start with restore and recovery - Try to restore the control file from backups "/backup/sales/rman/"
Then further you can mount the db and further carry on with recovery (catalog the backups prior to recovery)
- Pavan Kumar N -
Recovery with RMAN in case of complete lost of all files
Hi,
I am using RMAN in nocatalog mode to backup my databases to tape using the RMAN-Module for Legato.
I4ve read that in case of loosing all my controlfiles i cannot easily restore the controlfiles.
Lets assume the following scenario:
I am performing a daily full backup with RMAN in nocatalog mode. Approx. 2 hours after the completed backup my machine crashes and all files (i.e. OS-Files, Database, Controlfiles) are lost.
Now I have to reinstall the OS, reinstall Oracle and restore the backup.
Due to backups made with RMAN in nocatalog mode i have the restore the controlfies prior to restore the database. Metalink says restoring the controlfile from RMAN in nocatalog mode is not that easy.
Is there any way to restore the controlfile from RMAN in nocatalog mode in case of complete crash ??
Thanks.
Ronny.RESTORE CONTROLFILE FROM 'filename...' doesn't appear to be supported in 8i.
What are the options for 8i?.
I have the backup sets with me from my previous installation before crash which also contains Control files.
However I am unclear as to how to proceed wit RMAN recovery with those files. There seems to be no way to point RMAN to those backupsets since RMAN apparently reads its information from catalog or the control file in case of nocatalog.
I think if there is a way to atleast restore the control file from the backup set, RMAN can proceed since it will find all the other backup details there.
Any help is greatly appreciated.
thanks
RP -
Block Media Recovery and RMAN Incremental Level 1 backup
Hi
I have read somewhere that Block Media Recovery will not work if a database is backed up using rman incremental 1. Is this true, and if so is there a work around?
I cannot seem to find this in oralce's documentation.
Regards
MeHi,
1) is Full Backup = Incremental level 0 backup?
Yes
2) When oralce say BMR does not work with incremental, will it work in the case I put forward. becuase Im doing an incremental 0...
But does you have the Archive logs available.. ?? If yes then it will Support.
3) Im my case will BMR work...that is use Incr level 0 on Sunday and then use archive logs for mon, tues etc
Yes, I believe.
@Hemanth .. am I right.. ?? Wait for your inputs...
- Pavan Kumar N
Maybe you are looking for
-
Multiple iframes on One Page Trigger One from Another
So I am creating multiple animations on a single page. The page is a PHP page and was built long ago. I am just replacing some images with Edge Animate animations. I want to do them in a sequence. So I was wondering if there was a way in the time lin
-
When I start my computer instead of just going to the main screen it goes straight to a blank white page with a folder with a question mark on it that keeps flashing. What's wrong with it?
-
Uninstalling adobe photoshop trial CS4 crashes explorer (versionCue.dll)
Running XP pro, 4gb ram, Radeon HD 4800, Intel Pentium E8400. None of that is relevant in the least but I figured someone would ask if I didn't put it up. Anyway: I installed the photoshop CS4 30 day trial (photoshop and bridge only). Then I uninstal
-
DR16-B(2): More frequent firmware update request
First of all sorry for opening a new thread by my first post. I often hate it too at other forums. As indicated in the title I suggest support to make new firmwares for the BenQ 1620 (Pro) available for the DR16-B(2) clone available sooner. Right now
-
We are trying to use the offline data synchronization feature of DMS using data modeling. Below is the only example we found on adobe site and its working. http://help.adobe.com/en_US/LiveCycleDataServicesES/3.1/Developing/WS4ba8596dc6a25eff-56f1 c8f