Getting all the pieces: Reliable Backup/Recovery



Similar documents
Restoring To A Different Location With EBU And RMAN An AppsDBA Consulting White Paper

11. Oracle Recovery Manager Overview and Configuration.

Oracle 12c Recovering a lost /corrupted table from RMAN Backup after user error or application issue

HOW TO. RMAN Restore for Standby 10gR2

RMAN BACKUP & RECOVERY. Recovery Manager. Veeratteshwaran Sridhar

Oracle 11gR2 : Recover dropped tablespace using RMAN tablespace point in time recovery

Database Recovery For Newbies

Configuring Backup Settings. Copyright 2009, Oracle. All rights reserved.

RMAN What is Rman Why use Rman Understanding The Rman Architecture Taking Backup in Non archive Backup Mode Taking Backup in archive Mode

If you have not multiplexed your online redo logs, then you are only left with incomplete recovery. Your steps are as follows:

Strategies for Oracle Database Backup and Recovery: Case Studies. Mingguang Xu

Oracle Backup and Recover 101. Osborne Press ISBN

Restore and Recovery Tasks. Copyright 2009, Oracle. All rights reserved.

Oracle Recovery Manager

12. User-managed and RMAN-based backups.

Using RMAN to restore a database to another server in an ASM environment

This appendix describes the following procedures: Cisco ANA Registry Backup and Restore Oracle Database Backup and Restore

Demos - Workshop. -- Configure the RMAN

Database Disaster Recovery using only RMAN Backups

BrightStor ARCserve Backup

Oracle Database 10g: Backup and Recovery 1-2

Agenda. Overview Configuring the database for basic Backup and Recovery Backing up your database Restore and Recovery Operations Managing your backups

Backup/Restore Oracle 8i/9i/10g

D78850GC10. Oracle Database 12c Backup and Recovery Workshop. Summary. Introduction. Prerequisites

Oracle Database 12c Recovery Manager New Features

Recreate Physical Standby Database after Recovery of Primary Database

Oracle Database 10g: Administration Workshop II Release 2

Backup and Recovery. Oracle RMAN 11 g. Oracle Press ORACLG. Matthew Hart. Robert G. Freeman. Mc Graw Hill. Lisbon London Madrid Mexico City Milan

Oracle Data Guard for High Availability and Disaster Recovery

Oracle 11g Database Administration

HP LeftHand SAN Solutions

Oracle Recovery Manager 10g. An Oracle White Paper November 2003

Use RMAN to relocate a 10TB RAC database with minimum downtime. Tao Zuo tao_zuo@npd.com NPD Inc. 9/2011

Implementing an Enterprise Class Database Backup and Recovery Plan

Oracle 10g Feature: RMAN Incrementally Updated Backups

TECHNICAL REPORT. Nimble Storage Oracle Backup and Recovery Guide

Performing Database and File System Backups and Restores Using Oracle Secure Backup

The safer, easier way to help you pass any IT exams. Exam : 1Z Upgrade Oracle9i/10g/11g OCA to Oracle Database 12c OCP.

DOCUMENTATION ORACLE BACKUP & RESTORE OPERATIONS

Oracle Database B

Oracle 11g DBA Training Course Content

ASM and for 3rd Party Snapshot Solutions - for Offhost. Duane Smith Nitin Vengurlekar RACPACK

Oracle Database 11g: Administration Workshop II DBA Release 2

11. Configuring the Database Archiving Mode.

Zero Downtime Backup solution for Oracle10g

Zen Internet. Online Data Backup. Zen Vault Professional Plug-ins. Issue:

Oracle Database 11g: Administration Workshop II DBA Release 2

Oracle9i Database: Advanced Backup and Recovery Using RMAN

Oracle Database 10g: Backup and Recovery

Oracle Database 10g: New Features for Administrators

Oracle Backup, Recovery, and Performance Tuning using EMC Avamar and Oracle RMAN

Oracle Database Backups and Disaster Autodesk

Oracle Database 11g: Administration Workshop II Release 2

Using Recovery Manager with Oracle Data Guard in Oracle Database 10g. An Oracle White Paper April 2009

Backup Types. Backup and Recovery. Categories of Failures. Issues. Logical. Cold. Hot. Physical With. Statement failure

D12CBR Oracle Database 12c: Backup and Recovery Workshop NEW

MAX_RMAN_08137_IGNORE=5 DISK_RETENTION_POLICY='RECOVERY WINDOW OF 7 DAYS'

Oracle Database Cross Platform Migration Lucy Feng, DBAK

<Insert Picture Here> RMAN Configuration and Performance Tuning Best Practices

Using Recovery Manager with Oracle Data Guard in Oracle9i. An Oracle White Paper January 2007

Configuring Backup Settings Configuring and Managing Persistent Settings for RMAN Configuring Autobackup of Control File Backup optimization

Recover Oracle Database upon losing all Control Files

NEC Storage NV Series

SQL-BackTrack the Smart DBA s Power Tool for Backup and Recovery

Oracle Database 11g: Administration Workshop II

Oracle Backup & Recovery

Oracle Backup and Recovery Best Practices Dell Compellent Storage Center. Dell Compellent Technical Best Practices

EMC NetWorker Module for Oracle Release 5.0

Many DBA s are being required to support multiple DBMS s on multiple platforms. Many IT shops today are running a combination of Oracle and DB2 which

Objectif. Participant. Prérequis. Pédagogie. Oracle Database 11g - Administration Workshop II - LVC. 5 Jours [35 Heures]

Delivery Method: Instructor-led, group-paced, classroom-delivery learning model with structured, hands-on activities.

Clonación de una Base de Datos Oracle 11gR2 Activa usando RMAN. CLONACIÓN DE UNA BASE DE DATOS ORACLE 11gR2 ACTIVA USANDO RMAN

Oracle Database 11g: Administration And Backup & Recover

ORACLE CORE DBA ONLINE TRAINING

DB2 9 for LUW Advanced Database Recovery CL492; 4 days, Instructor-led

Cross Platform Transportable Tablespaces Migration in Oracle 11g

RMAN in the Trenches: To Go Forward, We Must Backup

Integrating Network Appliance Snapshot and SnapRestore with VERITAS NetBackup in an Oracle Backup Environment

Oracle. Brief Course Content This course can be done in modular form as per the detail below. ORA-1 Oracle Database 10g: SQL 4 Weeks 4000/-

Symantec NetBackup for Oracle Administrator's Guide

FOCUS ON: FDR/UPSTREAM S ONLINE DATABASE SOLUTIONS

Best Practices White Paper Using Oracle Database 10g Automatic Storage Management with FUJITSU Storage

<Insert Picture Here> Pacific Gas and Electric Backup & Recovery Case Study

Administration Guide - Documentum idataagent (DB2)

An Oracle White Paper March Backup and Recovery Strategies for the Oracle Database Appliance

Backing up a Large Oracle Database with EMC NetWorker and EMC Business Continuity Solutions

VERITAS NetBackup 6.0 for Oracle

CA ARCserve Backup for Linux

Oracle Database B

Automatic Backup in Oracle Database

! " # #$ " " %" & "'( " "' ( ) " * ""! ). " / ( * ( "# 0! " ). '

Using HP StoreOnce Backup systems for Oracle database backups

ArcSDE Configuration and Tuning Guide for Oracle. ArcGIS 8.3

Ultimate Guide to Oracle Storage

Oracle TDE Tablespace Encryption

SnapManager for Oracle 2.2. Anand Ranganathan Product & Partner Engineer (PPE)

Together with SAP MaxDB database tools, you can use third-party backup tools to backup and restore data. You can use third-party backup tools for the

ADSMConnect Agent for Oracle Backup on Sun Solaris Installation and User's Guide

Maximum Availability Architecture. Oracle Best Practices For High Availability

Transcription:

Getting all the pieces: Reliable Backup/Recovery Part 1: Recovery Manager Part 2: Custom Backup Mark W. Farnham Andy Rivenes Neil Jensen

Overview Whether you use Oracle s Recovery Manager product, a third party tool, or write your own scripts, the first requirement of a backup and recovery protocol is that you have all the pieces you need when it is time to recover and that you know what to do with them.

Our Goal To discuss Oracle backup and recovery protocols. To define what s needed to implement a reliable backup and recovery system. We will do this by example. Our examples will use Oracle s Recovery Manager product (e.g. RMAN) and custom procedures. Most of these issues are common to any implementation. RMAN has some unique features that we will address.

Part1: Recovery Manager (RMAN) Andy Rivenes Lawrence Livermore National Labs, AppsDBA Consulting Neil Jensen Lawrence Livermore National Labs

What We Will Cover Provide a high level understanding of RMAN Show you some examples of backup and recovery scenarios using RMAN. Show you some of RMAN s unique features.

What is RMAN? Oracle says ƒ Recovery Manager (RMAN) is an Oracle utility that can back up, restore, and recover database files. ƒ Recovery Manager uses database server sessions to perform the work of backup and recovery. ƒ It stores metadata about its operations in the control file of the target database and, optionally, in a recovery catalog schema in an Oracle database.

Why use RMAN? Oracle says ƒ Manage the complexity of backup and recovery operations. ƒ Minimize the possibility of human error. ƒ Make backups scalable and reliable. RMAN + Legato 1 = a solid backup system. ( 1. Or any other supported tape management system. )

Why use RMAN? (cont.) Automates the backup and recovery process. Lower overhead vs. ALTER TABLESPACE BEGIN BACKUP Provides corruption detection. Can perform a Tablespace point-in-time recovery. Can "duplicate" a database.

Background Oracle has been providing automated backup and recovery tools since Oracle Server version 7.2. RMAN was introduced with Oracle8. RMAN is fully integrated into the database and is part of the base software distribution. RMAN can provide the basis for a reliable backup and recovery system.

Architecture

Setup Choices Recovery catalog vs. DB control files. Tape management system. ƒ Media manager issues (linking). Disk files. ƒ Target disk space / manual cleanup. Retention cycles. Backup speed vs. recovery speed.

Installation / Configuration Installation issues. ƒ Relinking Oracle. Configuration (environment variables). Recovery Catalog Database. ƒ Stand-alone database. ƒ Hardened. Control file management.

Installation / Configuration Relinking Oracle there are special linking options for the media management layer depending on the platform and version. Example: HPUX11 & Oracle 8.0.5 make f ins_rdbms.mk ioracle \ LLIBOBK=/usr/lib/libobk.sl lc See Metalink for platform and vendor specifics.

Installation / Configuration Tip: On UNIX you can verify that the correct library is linked. On HP-UX use chatr and on Solaris use ldd. Example: ldd oracle libskgxp8.so => /$OH/lib/libskgxp8.so libobk.so => /usr/lib/libobk.so libjox8.so => /$OH/lib/libjox8.so libnsl.so.1 => /usr/lib/libnsl.so.1

Installation / Configuration Configuration (environment variables) NSR_CLIENT Specify the client host name. If restoring to a different HOST than what was backed up, specify the source host name (i.e. NSR_CLIENT=source.company.com). NSR_SERVER Identifies the NSR server. ORACLE_NLS=$OH/ocommon/nls/admin/data ORACLE_HOME - Always Used ORACLE_SID - Always Used LD_LIBRARY_PATH Only if NOT using SHLIB_PATH. Make sure /usr/lib is always placed at the front of this path. SHLIB_PATH Used in place of LD_LIBRARY_PATH for Oracle 8 on HPUX. Make sure /usr/lib is always placed at the front of this path.

Installation / Configuration Recovery Catalog Database ƒ Recommend stand-alone database ƒ Hardened ƒ Create RMAN user ¾ GRANT connect,resource to RMAN ¾ GRANT recovery_catalog_owner to RMAN ¾ From a target db, connect to RMAN ¾ Run $OH/rdbms/admin/cartman.sql ƒ The recovery catalog must also be backed up. ƒ Must manually delete old catalog records.

Controlfile Tip TIP: Controlfile Management CONTROL_FILE_RECORD_KEEP_TIME=15 This the init.ora parameter determines the number of days backup information is kept in the control file. In this case, 15 days.

Recommendations If architecting for an enterprise wide, long term backup and recovery solution use recovery catalog(s). If architecting for one, or very few, databases, and you just want to get the job done use control files. If you re somewhere in the middle, then evaluate your needs and resources, but lean toward using a recovery catalog.

Recovery Catalog Management Managing Backup Data ƒ For versions prior to 8.1.6, or when compatibility is set to less than 8.1.6, repository records are not physically removed from the catalog. ƒ There are OS level scripts to address this if your catalog database is getting too large.

Reporting RMAN supports a list and report command These commands work for both recovery catalogs and control files Oracle says The list command displays all RMAN backups (both backup sets and proxy copies) and image copies, while the report command performs more complex analysis. The reality is that its not very clear which command to use, and the right one is the one that gets you the information you re looking for.

Reporting Examples RMAN> list backup of database completed after '01-AUG-2001' ; <listing intentionally omitted> RMAN> list incarnation; RMAN-03022: compiling command: list List of Database Incarnations DB Key Inc Key DB Name DB ID CUR Reset SCN Reset Time ------- ------- -------- ------------- --- ---------- ---------- 11823 11824 AISP8 549663377 YES 1 18-JUL-1997 12:09:53 95710 95711 AISP4 566609480 YES 1 12-JUL-2001 15:24:56 1 2 INT02PD 897539963 YES 1 14-AUG-2000 19:09:47 93779 93780 AISD4 3212794226 YES 1 08-FEB-2001 12:15:46 98034 98035 AISD2 3272709106 YES 1 27-MAR-2001 23:17:06

Reporting Examples RMAN> report schema; RMAN-03022: compiling command: report Report of database schema File K-bytes Tablespace RB segs Name ---- ---------- ------------------ ------- ------------------- 1 1024000 SYSTEM YES /r1/c1/db2c/aisp4/system01.dbf 2 102400 TOOLS NO /r5/c1/db2f/aisp4/tools01.dbf 3 2048000 SYSRBA YES /r1/c0/db2b/aisp4/sysrba01.dbf 4 2048000 SYSRBB YES /r1/c1/db2c/aisp4/sysrbb01.dbf <The rest has been deleted>

Usage Options Backups online, offline, incremental, archive logs Restores full, partial, online, offline Restore to a different machine Tablespace point-in-time recovery Duplicate database

Example #1 Online database backup to disk. No RMAN catalog, uses database control files. Set the parameter CONTROL_FILE_RECORD_KEEP_TIME in the init.ora Make sure the backup destination disk is large enough to hold the backup.

Example #1 rman target / nocatalog set snapshot controlfile name to /backup_disk /snap_sid.ctl run { allocate channel c1 type DISK format /backup_disk/sid.c1' ; allocate channel c2 type DISK format ' /backup_disk/sid.c2' ; backup database skip readonly; release channel c1; release channel c2;} exit;

Space Tip Use gzip or compress on rman output files. Their size will reduce to about 10% of their original size.

Example #2 Archive backup to disk. Once the archive files are saved they will be deleted. No RMAN catalog, uses database control files. Make sure the backup destination disk is large enough to hold the backup.

Example #2 rman target / nocatalog set snapshot controlfile name to /backup_disk /snap_sid.ctl run { allocate channel c1 type DISK format /backup_disk/sid_arch.c1' ; sql "alter system archive log current"; backup archivelog all delete input; release channel c1;} exit;

Example #3 Online database backup to a Legato system. There is an RMAN catalog. Legato correctly linked into Oracle. RMAN catalog running in a separate DB. Target database registered. All environment variables correctly set.

Register Database Tip Tip: The following RMAN command can be used to register a database in the catalog. $OH/bin/rman target sys/bogus catalog rman/pswd@rmandb <<-EON register database; exit; EON

Example #3 rman target / catalog rman/pswd@rmandb set snapshot controlfile name to '$ OB/admin/SID/pfile/snap_SID.ctl'; run { allocate channel t1 type ' SBT_TAPE' ; allocate channel t2 type ' SBT_TAPE' ; backup database skip readonly; release channel t1; release channel t2;} exit;

Example #3 The RMAN catalog takes care of all the tape management details.

Performance Tip Tip: Several parameters can have significant performance impacts on RMAN backups and restores. The ALLOCATE CHANNEL command This command is used to parallelize data streams. The SET command. Readrate can throttle the amount of data read per second. Blocksize - larger block sizes can improve backup performance. The filesperset command This command is used to set the number of files created per backup file set. This can be very important for partial restores since Oracle has to read an entire backup file set.

Performance Tip cont. ƒ ƒ ƒ init.ora parameters buffer size I/O buffer size is calculated from the parameters db_block_size and db_file_direct_io_count. large_pool_size will allocate memory for channel server processes from the large pool, if available, when I/O slaves are being used. Disk Slaves ¾ backup_disk_io_slaves = 4 should be set for Oracle 8.0 databases. Oracle recommends a max of 4. ¾ dbwr_io_slaves > 0 should be set in Oracle 8.1.

Performance Tip cont. ƒ init.ora parameters Tape Slaves backup_tape_io_slaves = true enables one tape I/O slave per channel server process.

Example #4 Archive backup to a Legato system. There is an RMAN catalog. Legato correctly linked into Oracle. RMAN catalog running in separate DB. Target database registered. All environment variables correctly set.

Example #4 rman target / catalog rman/pswd@rmandb set snapshot controlfile name to '$ OB/admin/SID/pfile/snap_SID.ctl'; run { allocate channel t1 type ' SBT_TAPE' ; allocate channel t2 type ' SBT_TAPE' ; sql "alter system archive log current"; backup archivelog all delete input; release channel t1; release channel t2;} exit;

Example #5 Restore and Recover a corrupt datafile. Backups were done using a Legato system. There is an RMAN catalog. Legato correctly linked into Oracle. RMAN catalog running in separate DB. Target database registered. All environment variables correctly set. Recommend renaming bad datafile.

Example #5 rman target / catalog rman/pswd@rmandb set snapshot controlfile name to '$ OB/admin/SID/pfile/snap_SID.ctl'; run { allocate channel t1 type ' SBT_TAPE' ; restore datafile the_bad_one.dbf' ; recover datafile ' the_bad_one.dbf' ; sql "alter database open"; release channel t1;} exit;

Recovery Tip The following SQL command* can be used within Server Manager while connected to the target database during a backup or restore to monitor the progress: SELECT sid, serial#, context, sofar, totalwork, ROUND(sofar/totalwork*100,2) "% Complete", FROM v$session_longops WHERE compnam = ' dbms_backup_restore' ;

Example #6 Backup just one tablespace. Backups were done with a Legato system. There is an RMAN catalog. Legato correctly linked into Oracle. RMAN catalog running in separate DB. Target database registered. All environment variables correctly set.

Example #6 rman target / catalog rman/pswd@rmandb set snapshot controlfile name to '$ OB/admin/SID/pfile/snap_SID.ctl'; run { allocate channel c1 type ' SBT_TAPE' ; backup tablespace GLTAB; release channel c1;} exit;

From Oracle Doc.: Like a table export, RMAN TSPITR enables you to recover a consistent data set; however, the data set is the entire tablespace rather than one object. As Figure 8-1 illustrates, Recovery Manager does the following: 1. Restores the specified tablespace backups to a temporary auxiliary instance. 2. Recovers the tablespace. 3. Exports metadata from the auxiliary instance. 4. Points the target database control file to the newly recovered datafiles. 5. Imports metadata into the target database.

Example #7 Backups were done with a Legato system. There is an RMAN catalog. Legato correctly linked into Oracle. RMAN catalog running in separate DB. Target database registered. All environment variables correctly set. This requires that you do some work to allow RMAN to create the auxiliary instance.

Example #7 rman target / catalog rman/pswd@rmandb set snapshot controlfile name to '$ OB/admin/SID/pfile/snap_SID.ctl'; run { allocate auxillary channel t1 type ' SBT_TAPE' ; recover tablespace GLTAB until Sep 23 1999 17:30 ; release channel t1;} exit;

Example #7

Example #8 Restore a database to a different, similar host. Backups were done with a Legato system. There is an RMAN catalog. This is an example of duplicating without using the duplicate command. Legato correctly linked into Oracle. RMAN catalog running in separate DB. Start the target nomount All environment variables correctly set. ƒ NSR_CLIENT must be set to the name of the source host.

Example #8 rman target / catalog rman/pswd@rmandb set snapshot controlfile name to '$ OB/admin/SID/pfile/snap_SID.ctl'; run { allocate channel t1 type ' SBT_TAPE' ; allocate channel t2 type ' SBT_TAPE' ; set newname for datafile ' /u03/oradata/trgt8/system01.dbf' to ' /u05/oradata/copy8/system01.dbf' ; restore ( database ); release channel t1; release channel t2;} exit;

Example #8 This is all that is required if restoring from an offline backup. Since RMAN does not back up online redo log files, a RESETLOGS must be issued. The new database will have to be managed by a different recovery catalog. A reset database command will also have to be issued. If restoring from an online backup then you must also restore the archive log files and perform a cancel based recovery before issuing the RESETLOGS.

run { Example #8 allocate channel t1 type ' SBT_TAPE' ; restore archivelog until time = Sep 23 1999 17:30 ; release channel t1;} exit; Note: This can be inserted right after the previous run command. One RMAN session can contain multiple run commands.

Example #9 RMAN duplicate database feature. Two biggest reasons to duplicate databases rather than copying: ƒ Duplicated databases can exist in the same recovery catalog DBID issues. ƒ RMAN automates the duplication. No need to create controlfiles, and worry about datafiles and archivelog files.

Example #9 Duplicate database example. Backups were done with a Legato system. There is an RMAN catalog. Legato correctly linked into Oracle RMAN catalog running in separate DB Can connect as SYS remotely to the target database (requires password file) Start the auxiliary instance nomount Use Oracle 8.1.6 or higher

Example #9 rman target / catalog rman/pswd@rmandb run { allocate auxiliary channel ch1 type ' sbt_tape' ; allocate auxiliary channel ch2 type ' sbt_tape' ; set newname for datafile 1 to ' /u13/oradata/dupdb/system01.dbf' ; duplicate target database to DUPDB logfile ' /u13/oradata/dupdb/redo01.log' size 512k, ' /u13/oradata/dupdb/redo02.log' size 512k;

Additional Considerations RMAN does not back up online redo log files. If you re paranoid then you may want to save your online redo log files in a safe place before starting a full recovery. RMAN will save your control file and will manage its restoration if necessary. With RMAN you give up some control. There are management issues with DBIDs and copying databases, and RESETLOGS and database incarnations.

References 1RWDOORIWKHVHZHUHXVHGIRUWKLVSUHVHQWDWLRQ6RPHRI WKHVH1RWHVDUHLQFOXGHGDVDGGLWLRQDOUHIHUHQFHSRLQWVDQG VRPHZHUHFUHDWHGE\2UDFOHDIWHUZHILJXUHGLWRXWWKHKDUG ZD\ Oracle8 Backup and Recovery Guide, Release 8.0, Oracle Corporation, December 1997, Part No. A58396-01 Oracle8i Backup and Recovery Guide, Release 8.1.5, Oracle Corporation, Part No. A67773-01 Oracle8i Recovery Manager User s Guide and Reference, Release 2 (8.1.6), Oracle Corporation, Part No. A76990-01 Note 50875.1, Getting started with Server-Managed Recovery (SMR) and RMAN, Oracle Corporation, 1998

References Note: 62503.1, Using EBU: Examples of Backup, Restore and Recovery, Oracle Corporation, 1999 Note: 1067607.6, General Information On Restoring To Another Node Using EBU, Oracle Corporation, 03-JAN- 2000 Note: 73974.1, RMAN: Restoring an RMAN Backup to Another Node, Oracle Corporation, 22-DEC-1999 Note: 73912.1, RMAN: Creating a Duplicate Database, Oracle Corporation, 22-DEC-1999 Note: 1013259.102, RMAN Change-Delete Command Does Not Delete Backup Pieces, Oracle Corporation, 22-DEC- 1999

References Note: 73354.1, RMAN I/O Slaves and Memory Usage, Oracle Corporation, 08-JUN-2001 Note: 107213.1, How to configure RMAN I/O block size to improve backup/recover performance, Oracle Corporation, 08-JUN-2001

Part 2: Custom Backup Mark W. Farnham

Why custom? Dovetail with other systems, unsupported tape systems Existing working system Assume burden of book keeping but eliminate reliance on catalog system

Why custom? Allows (requires) you to manage disk inventory of archived logs But RMAN handles most systems just fine or better Use RMAN unless it does NOT fit with your situation

Use a set of scripts! You probably never want to type a backup command directly into the interface except for experiments Self updating script generation keeps the backup set current

Sample Protocol Back up the control file Put all the tablespaces in backup Give a list of database files and control file to the system administrator System administrator saves files

Sample Protocol, cont. Take all tablespaces out of backup Give a list of the required archived logs to the system administrator System administrator saves files - twice to independent media

Sample Protocol, cont. This produces a save set that can be opened. Generations of files can be mixed if you have a bad tape Double independent save of logs

Pieces: Which logs? Offline backup: If you have done a normal shutdown then you don t need any. Startup restrict and shut down again to be sure -- but you wait for any rollback to complete.

Pieces: Which logs? Online: Find current log sequence before you start backup select select archive_name from v$log_history where low_change# >= to_char(first_change#) ; from v$log where status = CURRENT ;

Pieces: Which logs? Generate at start of backup Use to get list at the end Make sure to switch logs so that the end of backup is in the archived set to produce a standalone recovery set

Pieces: Controlfile Move or remove previous backup of the controlfile (Oracle does not overwrite an existing file) Can just tack a time on the end if your OS allows arbitrary file names

Pieces: Database files Example: All online datafiles for the whole database Select file_name from sys.dba_data_files where tablespace_name in (select tablespace_name from sys.dba_tablespaces where status = ONLINE );

Pieces: Database files Notice this can be used to drive backup of any list of tablespaces Select file_name from sys.dba_data_files where tablespace_name in (<your list of tablespaces goes in here!>);

Pieces: disjoint logs and files Archived logs do not have to be part of any particular backup set Still generate the list so you know which archives will be required to roll forward from a given set of files Complicates off site save sets

Pieces: disjoint logs and files Allows system administrators to bulk dump whole volumes Against no other I/O load if at least two independent volumes Simplifies record keeping -- but RMAN would have done it for you.

Pieces: Online redo logs Notice neither RMAN nor custom backup puts online redo logs on the backup media First step of recovery is to make a safe copy of the surviving online logs Allows multiple recovery attempts

Script Example set echo on time on; spool /usr/users/bkp/spoolstt.spo; select ' Start:' to_char( sysdate,' YYYY/MM/DD HH24MISS' ) from dual;!/bin/rm -f /usr/users/bkp/test_control.dbf alter database backup controlfile to ' /usr/users/ bkp/test_control.dbf'; alter tablespace SYSTEM begin backup; alter tablespace RBS begin backup; alter tablespace TEMP begin backup; alter tablespace TOOLS begin backup; alter tablespace USERS begin backup; select ' Ready:' to_char( sysdate,' YYYY/MM/DD HH24MISS' ) from dual; set echo off time off select file_name from sys.dba_data_files where tablespace_name in (select tablespace_name from sys.dba_tablespaces where status = ' ONLINE' );

Script Example (cont.) set echo on time on; spool /usr/users/bkp/spoolend.spo; select ' Start:' to_char( sysdate,' YYYY/MM/DD HH24MISS' ) from dual; alter tablespace SYSTEM end backup; alter tablespace RBS end backup; alter tablespace TEMP end backup; alter tablespace TOOLS end backup; alter tablespace USERS end backup; alter system switch logfile; *** select sequence#-1 from v$log where status = ' CURRENT' ; select ' Done :' to_char( sysdate,' YYYY/MM/DD HH24MISS' ) from dual; *** Wait for archive to complete. Depending on version, you may be able to use alter system archive log current select * from v$log_history where sequence# = &1; select archive_name from v$log_history where low_change# >= 4463;