Hot backup procedure
Hello, I have a database that takes in between 80 to 600 transactions per day through an external feed. I need to implement a hot backup that will run once a day. I don't need to do point in time recovery because I can restore from the prior nightly backup and then replay the tlog file from the external feed. What is the best way to implement a hot backup. Is it as simple as running a sql procedure that will loop through all the tablespaces and put them in backup mode and then copy them to another location? I am open to all and any recommendations. The database is Oracle 9.2.0.1 running on Windows 2000 or 2003 server. Please provide any scripts if you can. Thank you and have a great day!
David
I wrote a dynamic hot backup script once, you can look into it if you want:
-- YJAM - Modele backup dynamique
-- SQL*Plus Env
SET TIM OFF TIMI OFF ECHO OFF VERIFY OFF FEED OFF TRIMS ON
-- Variables dépendantes du systeme
DEFINE DEST_DIR=C:\Backup
DEFINE DIR_SEP=\ -- win*=\ | unix=/
DEFINE SH=host -- win*=host | unix=!
DEFINE COPIE=copy -- win*=copy | unix=cp
DEFINE SUPPR=del -- win*=del | unix=rm
DEFINE MARGE_ARCHIVELOGS=10
-- Preparation pour les archives
COL FARCH NEW_VALUE FIRST_ARCHIVELOG NOPRINT;
SELECT MAX(SEQUENCE#)-1 FARCH FROM V$LOG;
PROMPT *************************************************
SET SERVEROUTPUT ON SIZE 200000
SPOOL &DEST_DIR.&DIR_SEP.part1.sql
DECLARE
-- Curseur pour recuperer la liste des datafiles
CURSOR cDatafiles IS SELECT TABLESPACE_NAME, FILE_NAME FROM DBA_DATA_FILES ORDER BY TABLESPACE_NAME;
REP_BACKUP VARCHAR2(500 CHAR) := ''; -- Définition du répertoire principal de destination de sauvegarde
OTN VARCHAR2(50 CHAR) := ' '; -- Variable en aiguillde trainante pour le declanchement du mode backup
PFILE_INFO VARCHAR2(500 CHAR) := ''; -- Variable pour test de type de fichier d'initialisation
BEGIN
-- Validation du repertoire de destination
SELECT INSTANCE_NAME INTO REP_BACKUP FROM V$INSTANCE;
REP_BACKUP := '&DEST_DIR.&DIR_SEP'||REP_BACKUP||'&DIR_SEP'||TO_CHAR(SYSDATE,'YYYYMMDD')||'&DIR_SEP';
DBMS_OUTPUT.PUT_LINE('&SH mkdir ' || REP_BACKUP);
DBMS_OUTPUT.PUT_LINE('--');
-- Traitement des DATAFILEs
FOR vDatafiles IN cDatafiles
LOOP
-- Si le tablespace parcourru n'est pas le meme que le precedent
IF (OTN != vDatafiles.TABLESPACE_NAME) THEN
-- Si ce n'est pas le premier alors on bascule l'ancien hors du mode backup
IF (OTN != ' ') THEN
DBMS_OUTPUT.PUT_LINE('ALTER TABLESPACE ' || OTN || ' END BACKUP;');
END IF;
-- Mise a jour de l'aiguillde trainante et mise en mode backup du tablespace
OTN := vDatafiles.TABLESPACE_NAME;
DBMS_OUTPUT.PUT_LINE('ALTER TABLESPACE ' || OTN || ' BEGIN BACKUP;');
END IF;
-- Il faut sauvegarder les fichiers!
DBMS_OUTPUT.PUT_LINE('&SH &COPIE ' || vDatafiles.FILE_NAME || ' ' || REP_BACKUP);
END LOOP;
-- Evite un effet de bord: sortir le dernier tablespace du mode backup*
DBMS_OUTPUT.PUT_LINE('ALTER TABLESPACE ' || OTN || ' END BACKUP;');
DBMS_OUTPUT.PUT_LINE('--');
-- Sauvegarde du fichier de controle sous forme controlfile et trace
DBMS_OUTPUT.PUT_LINE('ALTER DATABASE BACKUP CONTROLFILE TO ''' || REP_BACKUP || 'control.ctl'';');
DBMS_OUTPUT.PUT_LINE('ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS ''' || REP_BACKUP || 'trace.ctl'';');
DBMS_OUTPUT.PUT_LINE('--');
-- Vérification du type de fichier d'initialisation
SELECT VALUE INTO PFILE_INFO FROM V$PARAMETER WHERE NAME='ifile';
IF (PFILE_INFO IS NULL) THEN
-- A priori on utilise un fichier de type SPFILE ou le PFILE standard
SELECT VALUE INTO PFILE_INFO FROM V$PARAMETER WHERE NAME='spfile';
IF (PFILE_INFO IS NULL) THEN
-- On utilise le pfile standard
-- Donc on créée temporairement un spfile pour en faire une sauvegarde)
DBMS_OUTPUT.PUT_LINE('CREATE SPFILE=''' || REP_BACKUP || 'spfile.ora'' FROM PFILE;');
DBMS_OUTPUT.PUT_LINE('CREATE PFILE=''' || REP_BACKUP || 'pfile.ora'' FROM SPFILE=''' || REP_BACKUP || 'spfile.ora'';');
DBMS_OUTPUT.PUT_LINE('&SH &SUPPR ' || REP_BACKUP || 'spfile.ora');
ELSE
-- On utilise un spfile
-- Donc on le sauvegarde simplement
DBMS_OUTPUT.PUT_LINE('CREATE PFILE=''' || REP_BACKUP || 'pfile.ora'' FROM SPFILE;');
END IF;
ELSE
-- on utilise un pfile specifique
DBMS_OUTPUT.PUT_LINE('&SH &COPIE ' || PFILE_INFO || ' ' || REP_BACKUP);
END IF;
DBMS_OUTPUT.PUT_LINE('--');
END;
SPOOL OFF
@&DEST_DIR.&DIR_SEP.part1.sql
PROMPT *** Exec part 1
SPOOL &DEST_DIR.&DIR_SEP.part2.sql
DECLARE
-- urseur de parcours de la liste des archivelogs
CURSOR cListearchive(pLow NUMBER, pHigh NUMBER) IS SELECT NAME,SEQUENCE#
FROM V$ARCHIVED_LOG
WHERE SEQUENCE# BETWEEN pLow AND pHigh
AND DEST_ID IN
(SELECT DEST_ID
FROM V$ARCHIVE_DEST
WHERE DESTINATION IS NOT NULL
AND UPPER(DEST_NAME) IN
(SELECT UPPER(NAME)
FROM V$PARAMETER
WHERE VALUE IS NOT NULL
AND NAME LIKE '%log_archive_dest_%'
AND UPPER(SUBSTR(VALUE,1,8))='LOCATION'
ORDER BY SEQUENCE#;
LAST_ARCHIVELOG NUMBER := 0;
-- Variables de bornage des archives a sauvegarder
FIRST_ARCHIVELOG NUMBER := &FIRST_ARCHIVELOG;
CURR_ARCHIVELOG NUMBER := 0;
REP_BACKUP VARCHAR2(500 CHAR) := '';
-- Définition du répertoire principal de destination de sauvegarde
BEGIN
-- Validation du repertoire de destination
SELECT INSTANCE_NAME INTO REP_BACKUP FROM V$INSTANCE;
REP_BACKUP := '&DEST_DIR.&DIR_SEP'||REP_BACKUP||'&DIR_SEP'||TO_CHAR(SYSDATE,'YYYYMMDD')||'&DIR_SEP';
-- Marge de travail sur les fichiers archivelogs
EXECUTE IMMEDIATE 'ALTER SYSTEM SWITCH LOGFILE';
-- On va savegarder les &MARGE_ARCHIVELOGS derniers archivelogs.
SELECT MAX(SEQUENCE#)-1 INTO LAST_ARCHIVELOG FROM V$LOG;
FIRST_ARCHIVELOG := FIRST_ARCHIVELOG - &MARGE_ARCHIVELOGS;
DBMS_OUTPUT.PUT_LINE('-- tranche: ' || FIRST_ARCHIVELOG || ' a ' || LAST_ARCHIVELOG);
-- Parcours de la liste des elements archives concernes
FOR vListearchive IN cListearchive(FIRST_ARCHIVELOG,LAST_ARCHIVELOG)
LOOP
-- Traite t'on une nouvelle archive?
IF (CURR_ARCHIVELOG != vListearchive.SEQUENCE#) THEN
DBMS_OUTPUT.PUT_LINE('&SH &COPIE ' || vListearchive.NAME || ' ' || REP_BACKUP);
CURR_ARCHIVELOG := vListearchive.SEQUENCE#;
END IF;
-- si non il n'y a rien à faire.
END LOOP;
END;
SPOOL OFF
PROMPT *** Exec part 2
@&DEST_DIR.&DIR_SEP.part2.sql
PROMPT *************************************************But it's provided without guarantee. It's been a long time i've not used it! And it might have bugs. Up to you to test it, backup is not a matter where you trust people :-)
Of course, you could also use a simple RMAN script, depending on what you are trying to achieve exactly:
RUN
allocate channel c01 type disk format 'c:\backup\%d%U';
backup database;
backup archivelog all delete input;
}This is just a sample. And you need to choose how you'll use RMAN.
Yoann.
Edited to clean up the code from unnecessary blank lines...
Message was edited by:
Yoann Mainguy
Similar Messages
-
What is the correct procedure to make.
1. Every evening a "hot" on-line back.
2. Every saturday evening a "full" backup.
Message was edited by:
olivejuiceThe databases are running in archive mode.
Daily we do an on-line backup at 10pm.
We have an incremental tape backup of our system every night.
On saturday, I manually shutdown the databases and I copy the ORADATA files to a directory that is backup with our full tape backup during saturday night.
It's this procedure that I want to automate.
I can only create one backup procedure in EM console.
So my question is, how can I create an extra weekly off-line (with shutdown and restart of the databases) backup thats runs automatically. -
hi,
please help me to take hot backup.
i want step by step procedure or send me some links
with regards,
SenthilkumarpI think you'd be better asking about backups in the correct forum...
Try...
General Database Discussions
or
Recovery Manager (RMAN) -
Backup procedure using RMAN for 11i Instance
Hi,
we have 11.5.10.2 instance
Node 1 = Application Tier ( 11.5.10.2)
Node 2 = DB Tier ( 9.2.0.7)
as of now, we are taking daily cold backup of both instances.
we want to implement RMAN online backup for DB and take cold backup every week end only.
so, what are the best procedures for implementing RMAN for 11i Database.
Please share your experience, if you have anybody implemented?
which one you prefer in RMAN backup ( backupsets or copy option or backupsets with compressed option) interms of performance.. our db size is 60 GB only.
we apply apps tier patches very rarely . so we want to take RMAN online backup for DB daily and take cold backup for entire apps and db in the week ends.Hi,
This time, i am going to implement for Oracle 11i Database. thats why, i need you guys advice regarding 11i Database.Well, the same is applicable to 11i/R12 databases. You just need to configure RMAN the same way you configure it on any standalone database.
If you have implemented any where RMAN, can you share, how you are taking RMAN backup? I can share the scripts we use for backup using RMAN. If you are interested, let me know and I shall send it by email.
if we want to clone, are you cloning the TEST instance with RMAN backup or using cold backup.We use both, depends on the time frame of the cloning task and whether it is possible to use cold backup for cloning or not.
Please have a look at the following notes, it should be helpful.
Note: 230672.1 - Cloning Oracle Applications Release 11i with Rapid Clone
https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=230672.1
Note: 760772.1 - Cloning Oracle Application 11i /R12 with Rapid Clone - Database (9i/10g/11g) Using Hot Backup on Open Database
https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=760772.1
Note: 362473.1 - Cloning E-Business Suite Using Hot Backup for Minimal Downtime of Source Environment
https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=362473.1
Regards,
Hussein -
Hi,
can somebody help me with the steps for cloning 2 node to 2 node RAC, using hot backup.
Thx.Actually, the procedure to clone a RAC database do not differ substantially from those of a single-instance database.
You can perform your cloning as if it is a single instance database and once you have your single instance up, you just have to add another instance - and the high level steps would be:
1) Preparing the init.ora file for the second instance.
2) Adding the redo logs for thread 2;
3) Updating the OCR
HTH
Thanks
-Chandra Pabba -
Dataguard setup using hot backup files
Hello,
I am planning to setup dataguard using Hot backup (Not RMAN) files from the primary instance. I have a few doubt as, How shall I recover the Standby database using the archive files generated while taking hot backup of primary? Shall I directly execute the "alter database recover managed standby database" command? Will this command take care of the archives generated durring hot backup also?
Appreciate any help on the above.
DB Version:10.2.0.4
Regards.Guys by using below procedure you can rebuild your data gurad by using manual hot backup.
1) On the primary database, defer the archival of redo data .
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=DEFER;
2)
put primary database in backup mode
copy all the datafiles from primary database to Standby database (you can copy to other location in primary server and tar&zip it and send it to stand by and unzip and untar there)
Once you copy the datafiles to another location on primary server,you can use below command for tar and zip
go to the copied datafiles location and issue below command
tar cvf - .|gzip -c > /dump/backup/drdb_backup.tar.gz
put primary database in end backup.
3) create stabdby controlfile by using below command and send it to standby server
alter database create standby controlfile as '/dump/drbackup/2standby.ctl'
4) copy all generated archive logs (from the time of database begin abckup) from primary database server to standby database log_archive_dest location.
5) on standby database once we placed all datafiles and controlfiles in place use below commands
export ORACLE_SID=standbydb
SQL> starup nomount;
SQL> alter database mount standby database;
SQL> recover standby database;
--AUTO
SQL> alter database open read only;
SQL> shut immediate
SQL> startup nomount;
SQL> alter database mount standby database;
SQL> alter database open read only;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
6) On the primary database, issue the following statement to reenable archiving to the physical standby database:
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;
Thanks & Regards,
Satish Kumar Sadhu.
Edited by: Satish Kumar Sadhu on Apr 10, 2013 11:05 PM -
Perform hot backup on to a tape
Can I get a step by step procedure to perform a hot backup of 500 gig db on to a tape. We do not have catalog database and database version is 10.2.0.1.
ThanksYou are asking to abstract a manual. This means you can expect nasty replies because no one wants to do voluntarily what you apparently avoid to do: read documentation.
RMAN can not backup directly to a tape, it needs a media management library, like Legato, or Tivoli, or Netbackup or ....
Yes you need to allocate channels, and the exact method is different for each library product, so no info is possible.
Backup database also back ups the controlfile. In Oracle 10g and higher you should have autobackup of the controlfile to disk enabled, this replaces and supplements the catalog database.
Sybrand Bakker
Senior Oracle DBA -
Tablespace and datafile hot backup
Hi,
I wanted to if there is a command to copy a datafile using sqlplus command. I making a script that will backup the database while its online.I made a script for the alter tablespace begin backup but I wanted to know how to copy the datafiles without using the OS command,instead I wanted to use a sql commands. Is there any script or procedure to do this one.
thanks
Best Regards,
AntokRMAN is the best utility to do the backup and recover activities. It take care copy and paste itself. Bellow given script is also usefull for hot backup
spool hotbackup_PROD3.sql;
set feedback off;
set verify off;
set pagesize 2500
set linesize 132
set serveroutput on size 50000;
declare
cursor tablespace is select tablespace_name from dba_tablespaces where tablespace_name
in('RBS1',
'STORAGE',
'SYSADM_IDX2',
'SYSADM_IDX3',
'SYSADM_IDX4',
'SYSTEM');
cursor datafile(tsname varchar2 ) is select file_name from dba_data_files
where tablespace_name = tsname;
begin
dbms_output.put_line('spool hotbackup_PRODc.log;');
dbms_output.put_line('alter system switch logfile;');
dbms_output.put_line('select ''log''||sequence#,sysdate from v$log where status = ''CURRENT'';
for tsname in tablespace
loop
dbms_output.put_line('alter tablespace '||tsname.tablespace_name||' begin backup;');
dbms_output.put_line('prompt Starting Backup for '||tsname.tablespace_name||' Tablespace')
for dname in datafile(tsname.tablespace_name)
loop
dbms_output.put_line('prompt Copying File '||dname.file_name||'.....');
dbms_output.put_line('!cp '||dname.file_name||' /backup2/hotbak'||dname.file_name);
end loop;
dbms_output.put_line('alter tablespace '||tsname.tablespace_name||' end backup;');
dbms_output.put_line('prompt Finished backing up '||tsname.tablespace_name||' Tablespace')
dbms_output.put_line('alter system switch logfile;');
end loop;
dbms_output.put_line('spool off;');
dbms_output.put_line('!mailx -s "KL_PROD521_HOTBACKUP1" [email protected] < /prod1/HOTBKUP/hotbackup_PRODc.log');
dbms_output.put_line('exit');
end;
spool off;
@hotbackup_PROD3.sql
exit; -
Need some advice about hot backup under linux
hi, I want some advice about db files hot backup between two machines(Named A and B).A is primary machine which will write and read database and have the lastest db file. B is backup role and no database file in it.
Now I want hot backup A's db file to B in order to B have the lastest db file too.
At A,my db file support transaction and environment, and I set autoremove unnecessary log files.
The code such as follows:
dbenv->set_flags(dbenv, DB_AUTO_COMMIT |DB_LOG_AUTOREMOVE | DB_TXN_WRITE_NOSYNC, 1);
ret = dbenv->open(dbenv, NULL,
DB_CREATE | DB_INIT_LOCK | DB_INIT_LOG | DB_INIT_MPOOL | DB_INIT_TXN ,0)
I don't want to use db_hotbackup utility. and db_hotbackup may be backup files to the same machine with different dir.
How can I make machine A's db files backup to machine B.
Thanks for your help.
Best Regards
hangsyHi Hangsy
Now I want hot backup A's db file to B in order to B
have the lastest db file too.What do you mean? Do you want to have the latest version... from when you did the latest backup, or you want to keep it updated in the same time with the main database?
I don't want to use db_hotbackup utility. and
db_hotbackup may be backup files to the same machine
with different dir.You can copy the backup anywere you want.
If you want to run recovery on a different machine, it must be the same pointer size and endianness as the original machine.
Database and log file archival: http://www.oracle.com/technology/documentation/berkeley-db/db/ref/transapp/archival.html
It is usually simpler to take the hot backup on the main machine and run recovery there before copying the databases to the remote system.
In this setup, only the databases are required on the remote system, not the log files.
Since you are using NOSYNC, you should run a checkpoint which will ensure you that the database files are up to date.
Please read "Recovery procedures" ( http://www.oracle.com/technology/documentation/berkeley-db/db/ref/transapp/recovery.html ) first. "you cannot perform a hot backup of databases and log files, restore the backup and then run normal recovery -- you must always run catastrophic recovery when using hot backups."
Regards,
Bogdan Coman -
Does hot backup trigger archive log?
Our archive log starts everyday around 5pm.
Our hot backup also starts everyday around 5pm.
Do they start in just coincidence?
Or hot backup does trigger archive log?
Our db version 9i. It writes one single archive log daily.
The transaction volume is minimal. sometimes no user login in a whole day.
Any idea?How are you executing the backup? Via a script? Backup software tool?
You can manually issue a checkpoint which would cause a log switch and a write of the archivelog out to the backup directory, but I'm not familiar with any backup software that includes this as their standard operating procedure. This would account for the activity you are seeing.
If you are using some kind of shell script or such, you might check to see if the script includes a checkpoint command before it calls up RMAN to perform the backup.
The logic really isn't bad - by checkpointing the database just prior to a backup you would have almost no additional transactions outside of the archived log files, making the backup non-reliant on the current online redo files. If you are maintaining a good inventory of backed up archive logs, it should be fairly quick and easy to restore even in the event of a catastrophic isk failure that wiped out the database and online REDO logs. -
How to take a Hot backup of Oracle database
1: put the db in archive log mode
2: set the db_sid to correct one
3: login to sqlplus
4: verify the name of the db that you are connected to
select name from v$database;
5: check if the db is in archive log made
select log_mode from v$database;
if not in archive log mode
another command to check
archive log list;
6: find where on disk oracle writes archive log when it is in archive log mode
sql> show parameter log_archive_dest_1;
if the value is found to be 0, that means no values will be recorded, so we need to change it
sql> alter system set log_archive_dest_1='LOCATION=c:\database\oradata\finance\archived_logs\'
scope=spfile;
7: shutdown immediate; < this is done just to prepare the db for hot backups >
8: startup the db in mount mode
startup mount;
( 3 startup types : nomount - just starts the instance, mount - locates the control files and open up according to the values, open - finds the datafiles from the control files and opens up the db )
9: put the db in archive log mode
alter database archivelog;
10: open the database
alter database open;
11: check the status of the db
select log_mode from v$database;
SQL> archive log list;
12: create a directory for archived log
check if its empty, if empty we need to switch
sql> alter system archive log current;
run it 5 times < need to put / and enter > , then check the archive log dir , we will find files
13: make a table in the database and insert data in it
create table employees (fname varchar(2));
check the table
desc employees;
insert values
insert into employees values ('Mica');
14: tablespace must be in hot backup mode
check the status
select * from v$backup;
if found not active, then we need to change
we cannot put the db in hot backup mode, unless it is archive log mode
change to hot backup mode
alter database begin backup;
check the status
select * from v$backup;
15: now we can only COPY DBF FILES
copy *dbf <distination location>
16: need to take the db out to hot backup mode
alter database end backup;
17: need to make another archive log switch
alter system archive log current;
18: need to copy control files now, need to do a binary bckup
alter database backup controlfile to '<location>\controlbackup';
19: insert more values to the table
insert into employess values ('NASH')
COMMIT;
make another archive log switch : alter system archive log current;
do the same process for more values
20 : backup all the archive logs to a new location
21: shutdown the db and simulate a hw error, delete all the files from the database folder
22: try to start the sqlplus and db ::: error
23: copy all the backups to the db dir
need to copy the control files, rename the binary backup of the control file and make the copies as needed
24: try to mount the db, error < must use reset logs or noreset logs >
25: need to do a recovering of the database
shutdown
restore the archive logs
startup mount;
recover database until cancel using backup controlfile;
it will ask for a log file :
yes for recovery
cancel for cancelling recovery
26: check status: open the database in readonly
alter database open read only;
check the tables to see the data
shutdown immediate
shartup mount;
recover again : recover database until cancel using backup controlfile;
if oracle is asking for a log that do nto exist , all we have to do is type cancel
27: open the database
alter database open;
need to do reset logs
alter database open resetlogs;
28: check the db that you are connected, check the tables
thanks and regards
VKN
site admin
http://www.nitrofuture.comA very long list ... let me make it shorter.
SQL> archive log list;If I see this:
Database log mode No Archive ModeI put the database into archivelog mode and leave it there forever.
If it is in archivelog mode:
RMAN> TARGET SYS/<password>@<service_name> NOCATALOG
RMAN> BACKUP DATABASE PLUS ARCHIVELOG;Though there are a lot of things one could do better such as incrementals with block change tracking, creating an RMAN catalog, etc. -
Unique Error while doing hot backup Cloning!
Dear All,
I am using EBS 11.5.10.2 with DB 9.2.0.6.
I am doing hot backup cloning by referring *[Cloning Oracle Application 11i /R12 with Rapid Clone - Database (9i/10g/11g) Using Hot Backup on Open Database|https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=760772.1]*
I am facing a unique issue, when I run adcfgclone.pl dbconfig <my_context_file>, application of my Production Server start misbehaving and it gives me an error:
Node Id does not exist for the current application server id.When I check the FND_NODE table I found that there server id was empty in it.
I have to run than run the following steps as the resolution:
1. Shutdown all the services.
2. EXEC FND_CONC_CLONE.SETUP_CLEAN;
3. COMMIT;
4. Run AutoConfig on all tiers, firstly on the DB tier and then the APPS tiers,to repopulate the required system tables.
5.start all the services and verify the issue.
Than application behaves normally.
Is there any additional step to be followed while Hot Backup Cloning other than mentioned in the above mentioned ML Doc?
Please suggest,
Anchorage :)I am facing a unique issue, when I run adcfgclone.pl dbconfig <my_context_file>, application of my Production Server start misbehaving and it gives me an error:
Node Id does not exist for the current application server id.Where did you get this error?
This is very strange, how come this happens in Production, when you are doing cloning in TEST/DEV instance.
Is there any additional step to be followed while Hot Backup Cloning other than mentioned in the above mentioned ML Doc?I feel there are no other additional steps, as I Recently did successfully hotbackup cloning using the same document. -
How to find out which archived logs needed to recover a hot backup?
I'm using Oracle 11gR2 (11.2.0.1.0).
I have backed up a database when it is online using the following backup script through RMAN
connect target /
run {
allocate channel d1 type disk;
backup
incremental level=0 cumulative
filesperset 4
format '/san/u01/app/backup/DB_%d_%T_%u_%c.rman'
database
}The backup set contains the backup of datafiles and control file. I have copied all the backup pieces to another server where I will restore/recover the database but I don't know which archived logs are needed in order to restore/recover the database to a consistent state.
I have not deleted any archived log.
How can I find out which archived logs are needed to recover the hot backup to a consistent state? Can this be done by querying V$BACKUP_DATAFILE and V$ARCHIVED_LOG? If yes, which columns should I query?
Thanks for any help.A few ways :
1a. Get the timestamps when the BACKUP ... DATABASE began and ended.
1b. Review the alert.log of the database that was backed up.
1c. From the alert.log identify the first Archivelog that was generated after the begin of the BACKUP ... DATABASE and the first Archivelog that was generated after the end of the BACKUP .. DATABASE.
1d. These (from 1c) are the minimal Archivelogs that you need to RECOVER with. You can choose to apply additional Archivelogs that were generated at the source database to contininue to "roll-forward"
2a. Do a RESTORE DATABASE alone.
2b. Query V$DATAFILE on the restored database for the lowest CHECKPOINT_CHANGE# and CHECKPOINT_TIME. Also query for the highest CHECKPOINT_CHANGE# and CHECKPOINT_TIME.
2c. Go back to the source database and query V$ARCHIVED_LOG (FIRST_CHANGE#) to identify the first Archivelog that has a higher SCN (FIRST_CHANGE#) than the lowest CHECKPOINT_CHANGE# from 2b above. Also query for the first Archivelog that has a higher SCN (FIRST_CHANGE#) than the highest CHECKPOINT_CHANGE# from 2b above.
2d. These (from 2c) are the minimal Archivelogs that you need to RECOVER with.
(why do you need to query V$ARCHIVED_LOG at the source ? If RESTORE a controlfile backup that was generated after the first Archivelog switch after the end of the BACKUP ... DATABASE, you would be able to query V$ARCHIVED_LOG at the restored database as well. That is why it is important to force an archivelog (log switch) after a BACKUP ... DATABASE and then backup the controlfile after this -- i.e. last. That way, the controlfile that you have restored to the new server has all the information needed).
3. RESTORE DATABASE PREVIEW in RMAN if you have the archivelogs and subsequent controlfile in the backup itself !
Hemant K Chitale -
Question on recovery from Hot backup
Whenever I tried to recover from my hot backup using recover database untill cancel (or any other until option)..
I get messages similar to the following :
SQL> recover database using backup controlfile until cancel ;
ORA-00279: change 212733060 generated at 11/18/2008 23:50:58 needed for thread
1
ORA-00289: suggestion : /d01/oradata/devl/arc/1_282_667362770.dbf
ORA-00280: change 212733060 for thread 1 is in sequence #282
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/d01/oradata/devl/arc/1_282_667362770.dbf
ORA-00279: change 212733060 generated at needed for thread 2
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/d01/oradata/devl/arc/2_257_667362770.dbf
ORA-00279: change 212733060 generated at needed for thread 3
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/d01/oradata/devl/arc/3_258_667362770.dbf
ORA-00279: change 212733060 generated at needed for thread 4
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
I have all my archive files in the archive dest location.
Is there any way to prevent this warning messages and let oracle find all the archive files?
As you can see from the messages, Oracle is finding the correct file, then why there is an error message and why we have to provide the file names one-by one.
Please help !!!Oracle will look for needed archive logfile from your log archive destination.
If you are sure all these files are under /d01/oradata/devl/arc/, you can input AUTO, Oracle will work down the list until done. -
Complete Recovery from HOT BACKUP
One of our server had media failuer. We are rebuilding new server and reinstalling oracle on it. I have hot backup of instance which I would like to recover.
Can I have steps please. I will appreciate your help...!Hi,
What is the OS and version of Oracle?
Do you have all the archivelogs after the hot backup? Is the backup a valid backup? Is it a RMAN backup or normal file system backup of the datafiles?
Regards,
Badri.
Maybe you are looking for
-
Hi I want to display customer wise open items in a report. In that I want to merge all the items by adding amounts and display it under document no. I used collect statement for this. Is there any other alternative to add the amounts and display them
-
I can get it to start recording fine, but I can't get it to stop! I can leave the play/pause button pressed for as long as I want, but it won't stop recording. I can't exit out of recording mode either, I have to remove the player from the battery ho
-
Hello All, I just installed Ecc6.0 ABAP+JAVA, Windows SQL 2005. Install went ok, however I am not able to see the J2EE process table in the MMC, I wanted to know if anyone knows of how to get that view? Regards King
-
Tax code linkage to company code
Hello Experts, I would appreciate if you could help clarify an concept of tax codes and its relation to company codes.I understand that when we create tax code they are country specific. for e.g If we have multiple comp codes in an country and we cr
-
Hi all, I have setup a process with GP and try to launch this process. Unfortunately the right side of one action isn't displayed. My process consists of the following callable objects: - Input form - Web Service - Form to display the result of web s