dba survival guide
TRANSCRIPT
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 1/43
Cold Backup Full DB Backup 1 Shutdown The Dsql> shutdown norsql> shutdown trasq > s ut own im
2 Copy The Controlcp -pcp -pcp -pcp -pcp -pcp -pcp -pcp -pcp -pcp -pcp -pcp -pcp -p
cp -p3 Start The Databa
sql> startup
Hot Backup Tablespace Backups 1 List the TablespaSQL> se ect ta esSQL> select tables
2 C ec T e StatuSQL> select file#,
3 C ange t e A Talter tablespacealter tablespacealter tablespacealter tablespacea ter ta espacealter tablespacea ter ta espace
4 Again Check TheSQL> se ect i e#,
5 Copy All the Tablcp -pcp -pcp -pcp -pcp -p
cp -pcp -p6 C ange t e A T
alter tablespacea ter ta espacealter tablespacealter tablespacealter tablespacealter tablespacea ter ta espace
Type Of Backup
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 2/43
7 Run The Followin
sql> alter system
Control File Backup Binary Backup 1 sql> alter database
Trace Backup 2 sql> alter databas
S.no. File Name1 Datafiles SQL> select file_n2 Contro i es SQL> se ect name3 Redo Files SQL> select memb4 Temp Fi e SQL> se ect i e_n5 SPFILE SQL> show param6 Arc ive og SQL> s ow param
7 SUM o ALL DATA FILES SQL> se ect sum8 SUM of ALL REDO LOGS SQL> select sum(b
Identifying DB Datafiles Location relat
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 3/43
tabase Shutdown the database from either omal The database is never shutdown usinsactionale iate
File, Data File and Redo File to Backup Location Make a script to copy the db files to bu01 ora ata orc contro 01.ct u02 p
/u01/oradata/orcl/control02.ctl /u02/bkpu01 ora ata orc contro 03.ct u02 p
/u01/oradata/orcl/system01.dbf /u02/bkp /u01/oradata/orcl/undotbs01.dbf /u02/bkp /u01/oradata/orcl/drsys01.dbf /u02/bkp /u01/oradata/orcl/indx01.dbf /u02/bkp
u01 ora ata orc too s01. u02 p /u01/oradata/orcl/users01.dbf /u02/bkp
u01 ora ata orc x 01. u02 p /u01/oradata/orcl/redo01.log /u02/bkp
u01 ora ata orc re o02. og u02 p /u01/oradata/orcl/redo03.log /u02/bkp
u01 ora ata orc temp01. u02 pse Start the database from either of the
ce to be Backed Uppace_name rom a_ta espaces;pace_name, file_name from DBA_DATA_FILES;O Ta espace
tatus from v$backup;espace to Bac up Mo e
SYSTEM begin backup; 10g ALTER DATABASE BEGINUNDOTBS1 begin backup;DRSYS begin backup;INDX begin backup;TOOLS egin ac up;USERS begin backup;XDB egin ac up;Status Of Tablespace After Begin Backup Modetatus rom v ac up;espace datafile to Backup Location /u01/oradata/orcl/system01.dbf /u02/bkp /u01/oradata/orcl/undotbs01.dbf /u02/bkp /u01/oradata/orcl/drsys01.dbf /u02/bkp
u01 ora ata orc in x01. u02 p /u01/oradata/orcl/tools01.dbf /u02/bkp
u01 ora ata orc users01. u02 p /u01/oradata/orcl/xdb01.dbf /u02/bkpespace to END Bac up Mo e
SYSTEM end backup; ALTER DATABASE BEGINUNDOTBS1 en ac up;DRSYS end backup;INDX end backup;TOOLS end backup;USERS end backup;XDB en ac up;
BA Survival SheetSQL Command Description
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 4/43
g cmd to archive the redo being generated while HotbackupSQL>alter system switch l
rchive log current;
ackup controlfile to '/u02/bkp/cf.bak' REUSE;
backup controlfile to trace; This will create a controlfile sql script
me from dba_data_files;rom v contro i e;er from v$logfile;me rom a_temp_ i es;ter spfile;ter arc ive;
ytes 1024 1024 rom a_ ata_ i es; T is gives t e SUM o a ata i es inytes)/1024/1024 from v$log; This gives the SUM of all RDO Log Fil
d Infomartion.Command Description
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 5/43
the commandSHUTDOWN ABORT
ackup location
ommand
ACKUP
ACKUP
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 6/43
gfile;
under USER_DUMP_DEST location
Bs in MB
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 7/43
Database Mode Loss of
NOARCHIVELOG Non-system datafile
System datafile
Datafile with no backup
One Controlfile
All Controlfiles
Online Redologs (One Member)Online Redologs (All ACTIVE MEMBERS)
Online Redologs (All INACTIVE MEMBERS)
Online Redologs (All CURRENT MEMBERS)
ARCHIVELOG Non-system datafile
System datafile
VVVV IMP Datafile with no backup
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 8/43
One Controlfile Lost
All Controlfiles lost
VV IMP
One member lost
ALL ACTIVE MEMBERS LOST
ALL INACTIVE MEMBERS LOST
ALL CURRENT MEMBERS LOST
ONLINE REDO LOGS
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 10/43
Recovery Requirements Backup Avail Recovery Type
Binary / Trace backup Binary backup
Trace backup
No backup
Open Database
Complete Recovery
Closed/Open Backup+archivelogs Closed/Open Closed Database
Complete Recovery
All archivelogs since file addition/cre Closed/Open
DBA Survival Shee
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 11/43
Binary/Trace backup Binary backup
Trace backup
No backup
Clear and archived or unarchived logfile group
9i
10G
Gives Error
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 13/43
Recovery Steps
Restore the last consistent backup (Closed/Cold database backup) We can tak
Restore the last consistent backup (Closed/Cold database backup)
Restore the last consistent backup (Closed/Cold database backup)
SQL> SHUTDOWN IMMEDIATE What will h
Copy the available controlfile to lost controlfile location
SQL> STARTUP
As a DBA,
SQL> SHUTDOWN ABORT Database
Restore the binary backup of controlfile to controlfile locations.
SQL> STARTUP MOUNT
SQL> RECOVER DATABASE UNTIL CANCEL USING BACKUP CONTROLFILE:
SQL> ALTER DATABASE OPEN RESETLOGS:
SQL> SHUTDOWN ABORT
SQL> STARTUP NOMOUNTRun the create controlfile script to create a new controlfile
SQL> RECOEVER DATABASE UNTIL CANCEL USING BACKUP CONTROLFILE:
SQL> ALTER DATABASE OPEN RESETLOGS:
SQL> SHUTDOWN ABORT
CREATE A CONTROLFILE SCRIPT MANUALLY
SQL> STARTUP NOMOUNT
Run the create controlfile script to create a new controlfile
SQL> RECOEVER DATABASE UNTIL CANCEL USING BACKUP CONTROLFILE:
SQL> ALTER DATABASE OPEN RESETLOGS:
SQL> ALTER DATABASE DATAFILE <DATAFILE NO/DATAFILE NAME> OFFLINE;
Restore the lost datafile from backup using copy command
SQL> RECOVER DATAFILE <DATAFILE NO/DATAFILE NAME>;
SQL> ALTER DATABASE DATAFILE <DATAFILE NO/DATAFILE NAME> ONLINE;
SQL> ALTER DATABASE OPEN;
SQL> SHUTDOWN ABORT;
Restore the lost system datafile from backup using copy command
SQL> STARTUP MOUNT;SQL> RECOVER DATAFILE <DATAFILE NO/DATAFILE NAME>;
SQL> ALTER DATABASE OPEN;
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
check the alert log for required datafile name and number.
SQL> Alter database create datafile '/u01/oradata/orcl/arun01.dbf'; Check the
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 14/43
SQL> recover datafile 9/<datafile name>;
SQL> alter database open
check the deleted datafile tablespace status. it might be OFFLINE
SQL> select status,file# from v$datafile;
SQL> Alter tablespace <arun> online;
SQL> SHUTDOWN IMMEDIATECopy the available controlfile to lost controlfile
SQL> STARTUP
SQL> SHUTDOWN ABORT
SQL> STARTUP NOMOUNT
Restore the binary backup of controlfile to controlfile locations.
SQL> RECOEVER DATABASE UNTIL CANCEL USING BACKUP CONTROLFILE:
SQL> ALTER DATABASE OPEN RESETLOGS:
SQL> SHUTDOWN ABORT
SQL> STARTUP NOMOUNT
Run the create controlfile script to create a new controlfile
SQL> RECOEVER DATABASE UNTIL CANCEL USING BACKUP CONTROLFILE:SQL> ALTER DATABASE OPEN RESETLOGS:
SQL> SHUTDOWN ABORT
CREATE A CONTROLFILE SCRIPT MANUALLY
SQL> STARTUP NOMOUNT
Run the create controlfile script to create a new controlfile
SQL> RECOEVER DATABASE UNTIL CANCEL USING BACKUP CONTROLFILE:
SQL> ALTER DATABASE OPEN RESETLOGS:
Shutdown the database
Copy the available member over lost member
startup the database
Check the alert Log for lost group To check t
sql> select * from v$log; To check t
sql> shut abort; Shut down
sql> startup mount; Starttup th
SQL> alter database clear logfile unarchived group 2; This will ru
SQL> alter database clear unarchived logfile group 2; This will ru
SQL> alter database open; opent the
Check the BDUMP Alert Log To check t
sql> select * from v$log; To check t
sql> shut abort; Shut down
sql> startup mount; Starttup th
SQL> alter database clear unarchived logfile group 2; For CURRE
SQL> recover database until cancel; So we hav
SQL> alter database open resetlogs; Open the d
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 16/43
e only Closed database backups.
appen to database? Nothing will happen to database, the reaosn being, all th
U will get an alert that one of the controlfile is not vaiala
hat will be your recovery strategy?
ould not shutdown with immediate option because oracle will not do checkpinting of contr
ath and default size for deteted datafile
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 17/43
e error
e Redo Log File ONLINE STATUS and Group Number
the database
e database in Mount Mode
in oracle 9i "logfile" keyword is use here.
in oracle 10 G, here "logfile" keywordis not used.
atabase
e error
e Redo Log File ONLINE STATUS and Group Number
the database
e database in Mount Mode
T Logfile alter databae clear command will not run and gives error.
to recover incomplete database with UNTIL CANCEL option.
atabase with ResetLog option.
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 19/43
e controlfiles have the same infoand if one of the controlfile is unavaialbale, oracle will rea
ble
lfile
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 22/43
databa from other controlfiles;
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 23/43
S.No Loss of Recovery Requirements
RMAN RECOVERY
(Archive Log Mode is Must)
Data File Non-system Datafile
System Datafile
Datafile With No Backup
Control File One Controlfile Lost
All Controlfiles Lost Binary backup
Trace backup
Redo File STATUS
Online Redo Logs INACTIVE /ACTIVE
CURRENT
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 25/43
Recovery Steps
SQL> select * from v$recover_file;
SQL> select file#,status from v$datafile;RMAN> ALTER DATABASE DATAFILE OFFLINE
RMAN> RESTORE DATAFILE
RMAN> RECOVER DATAFILE
RMAN> ALTER DATABASE DATAFILE ONLINE
SQL> select * from v$recover_file;
SQL> select file#,status from v$datafile;
RMAN> SHUTDOWN ABORT
RMAN> STARTUP MOUNT
RMAN> RESTORE DATAFILE 1;
RMAN> RECOVER DATAFILE 1;
RMAN> ALTER DATABASE OPEN;
SQL> SHUTDOWN IMMEDIATE
Copy the available controlfile to lost controlfile location
SQL> STARTUP
SQL> SHUTDOWN ABORT
SQL> STARTUP NOMOUNT
RMAN> RESTORE CONTROLFILE FROM '<path>/<bkp file>';
RMAN> RECOEVER DATABASE UNTIL CANCEL USING BACKUP CONTROLFILE:
SQL> ALTER DATABASE OPEN RESETLOGS:
SQL> SHUTDOWN ABORT
SQL> STARTUP NOMOUNT
Run the create controlfile script to create a new controlfile
SQL> RECOEVER DATABASE UNTIL CANCEL USING BACKUP CONTROLFILE:
SQL> ALTER DATABASE OPEN RESETLOGS:
Check the BDUMP Alert Log
sql> select * from v$log;
sql> shut abort;
sql> startup mount;
9i SQL> alter database clear logfile unarchived group 2;
10G SQL> alter database clear unarchived logfile group 2;
SQL> alter database open;
Check the BDUMP Alert Log
DBA Survival Sheet
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 26/43
sql> select * from v$log;
sql> shut abort;
sql> startup mount;
Gives Error SQL> alter database clear unarchived logfile group 2;
SQL> recover database until cancel;
SQL> alter database open resetlogs;
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 27/43
To Check the list of recoverable file.
To check the status of all datafiles.To take the recoverable datafile in OFFLINE mode.
To restore the datafile , Write the Datafile Number.
To recover the datafile , Write the Datafile Number.
To put back the datafile in ONLINE mode from OFFLINE.
To Check the list of recoverable file.
To check the status of all datafiles.
We can't take SYSTEM Tablespace OFFLINE and cannot shut the database in normal mode
Copy the controlfile from multiplexed location to the lost location
This will restore the controlfile available in the given path and then use recover database u
Copy the CREATE controlfile script having RESETLOG option from trace backup file and run
To check the error
To check the Redo Log File ONLINE STATUS and Group Number
Shut down the database
Starttup the database in Mount Mode
This will run in oracle 9i "logfile" keyword is use here.
This will run in oracle 10 G, here "logfile" keywordis not used.
opent the database
To check the error
Description
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 28/43
To check the Redo Log File ONLINE STATUS and Group Number
Shut down the database
Starttup the database in Mount Mode
For CURRENT Logfile alter databae clear command will not run and gives error.
So we have to recover incomplete database with UNTIL CANCEL option.
Open the database with ResetLog option.
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 29/43
so we ABORT the database
ntil cancel command
it on sql prompt
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 30/43
Enabling Archivelog Mode SQL> SELECT LOG_MODE FROM SYS.V$DATSQL> show parameter spfile;SQL> show parameter dest_1SQL> show parameter start
SQL> s ow parameter ormat;
SQL> a ter system set og_arc ive_start=truSQL> alter system set log_archive_format='SQL> a ter system set og_arc ive_ est= u
SQL> SHUTDOWN IMMEDIATE;SQL> STARTUP MOUNT;SQL> ALTER DATABASE ARCHIVELOG;SQL> ALTER DATABASE OPEN;
SQL> se ect DEST_NAME,STATUS,DESTINATI
D sa ng Arc ve og Mo e SQL> ALTER DATABASE No ARCHIVELOG;
Log_ARCHIVE_FORMAT orcl_%t_%s.arc
orcl Database Name%t T rea No. For Sing e i%s Sequence Number RAC (2 No
RAC 3 No
orc _%_%s_%r
%r Resetelogs Identifier
DBA SurSteps To Enable/Disable The ArchivDatabase Type
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 31/43
BASE; To check Arch mode is on or off DB is running on Spfile or PfileTo check Log Arch DestTo Check Log Arch Start parameter value
To C ec t e Fi e Format
scope=sp i e; 10grcl_%t_%s.arc' scope=spfile; SQL> alter system set log_archive_format='2 arc scope=sp i e; SQL> a ter system set og_arc ive_ est= u
ON rom V ARCHIVE_DEST;
DB1234
nstnace DB - 1 T rea 5e) - 2 Threade - 3 T rea
DB DB %r
1 1 12 2 13 3 14 4 1
Opene wit reset ogs ORDB DB
1 1 22 33 2
DB (OR)3
ival SheetDescriptionelog Mode
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 32/43
rcl_%t_%s.arc' scope=spfile;2 arc scope=sp i e;
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 33/43
Backup Available
Cold Online Redologs backed Up
Online Redologs not backed
Hot
RMAN Cloning DB using Catalog
Full db backup
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 35/43
On Different Server
FTP/SCP init.ora and pwd file to the server where cloning is to be done.
RESTORE THE COLD BACKUP (CF,DF and OR) to the new location.
$ export ORACLE_SID=<ORACLE_SID>
SQL> STARTUP
RESTORE THE COLD BACKUP (CF,DF and OR)
$ export ORACLE_SID=<ORACLE_SID>
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE OPEN RESETLOGS;
With same database name
RESTORE THE HOT BACKUP of DATAFILESCREATE CONTROLFILE SCRIPT MANUALLY using trace from production (database to be cloned)
RUN CREATE CONTROLFILE SCRIPT TO CREATE THE CONTROLFILE on production and extract contr
SQL> STARTUP NOMOUNT
SQL> @ctl.sql
The above script will create controlfiles and mount the database
SQL> RECOVER DATABASE UNTIL CANCEL/CHANGE/TIME USING BACKUP CONTROLFILE (incomple
The recovery will ask for archivelogs. Apply some archivelogs and do a CANCEL
SQL> ALTER DATABASE OPEN RESETLOGS (Opens the database with resetlogs after incomplete rec
Source DB - orcl and Target DB - orclnw
Create directories for controlfiles,datafiles and online redologs.
Copy init<SID>.ora from source server to target server(where db is to be cloned)Copy and rename the password file on target server.
Change the necessary parameters in init<SID>.ora
*.background_dump_dest='/u01/app/oracle/admin/orclnw/bdump'
*.control_files='/u02/oradata/orclnw/control01.ctl','/u02/oradata/orclnw/control02.ctl','/u02/oradat
*.core_dump_dest='/u01/app/oracle/admin/orclnw/cdump'
*.db_name='orclnw'
*.instance_name='orclnw'
*.log_archive_dest='/u02/arch1'
*.user_dump_dest='/u01/app/oracle/admin/orclnw/udump'
*.db_file_name_convert=('/u01/oradata/orcl/','/u02/oradata/orclnw/')
*.log_file_name_convert=('/u01/oradata/orcl/','/u02/oradata/orclnw/')
edit the tnsnames.ora file create new SID entry "orclnw'
create the directory structure for db file, control file, log file and archive location.
create the directory structure for bdump,udump.cdump.
On Target Server
$ export ORACLE_SID=orclnw
sql> startup nomount;
Connect to auxiliary (target) database (orclnw)
SQL Command
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 36/43
RMAN> connect auxiliary /
Connect to Source database (orclnw)
RMAN> connect target sys/sys123@orcl
Connect to catalog database
RMAN> connect catalog rmancat/rmancat@rman
up ca e arge a a ase o orc nw;
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 37/43
On Same Server (ORACLE_SID should be different)
Copy init.ora and pwd file to the server where cloning is to be done.
Modify the init.ora parameters (controlfile,bdump,cdump,udump,adump,archive_dest etc)
Resetlogs is required in this case just to create new resetlogs
With different database name
Change REUSE -> SET, OLD DB_NAME -> NEW DB_NAME in controlfile
e recovery)
very
a/orclnw/control03.ctl'
DBA Survival Sheet
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 40/43
Database ModeEnabling Flashback Make sure that the database is Archivelog ModeRVWR BG Process is used SQL> select log_mode from v$database;in Flashback Database
Con igure t e Recovery Area
SQL> show parameter db_recoverySQL> a ter system set _recovery_ i e_ est= u01 apSQL> alter system set db_recovery_file_dest_size=60
Start the database in Mount Mode> s ut own mme ate;> s ar up moun ;
SQL> alter system set db_flashback_retention_target=SQL> a ter ata ase as ac on;SQL> alter database open;
SQL> select flashback_on from v$database;SQL> s ow parameter as ac ;SQL> select * from v$flashback_database_log;
SQL> select current_scn,scn_to_timestamp(current_sSQL> ALTER DATABASE FLASHBACK OFF;
as ac ata ase RMAN> FLASHBACK DATABASE TO TIME = TO_DATE (‘0Recover From F as ac Log SQL SQL> FLASHBACK DATABASE TO TIMESTAMP to_timest
SQL> FLASHBACK DATABASE TO SCN 76239;
SQL> ALTER DATABASE RESETLOGS;
Flashback Table SQL> select current_scn,scn_to_timestamp(current_scRecover From RECYCLE BIN SQL> rop ta e arun;
SQL> select * from user_recyclebin;SQL> flashback table arun to before drop;
SQL> select count (*) from table as of sCN <11111>;SQL> create ta e arunnew as se ect rom arun as o
DBA Survival ShSteps To Configure Flashback Da
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 41/43
p orac e as _recovery_area;M;
60; 60 MinsTo Ena e t e F as ac
To check the flashback status
To Know the Flashback retention target
n) from v$database; To know the Current Timestamp and SCN numberTo Disa e t e F as ac
/25/03 12:00:00’,’MM/DD/YY HH:MI:SS’);mp('2009-09-20 04:36:00','YYYY-MM-DD HH24:MI:SS');
Must issue t e RESETLOGS comman a ter as ac ata ase.
) from v$database;
To count the rows before last SCN transationscn <11111>; To Create a new ta e e ore ast SCN transation
etDiscriptionabase
7/30/2019 DBA Survival Guide
http://slidepdf.com/reader/full/dba-survival-guide 42/43
alter tablespacealter tablespacealter tablespace
alter tablespacealter tablespacealter tablespace