SQLs,Execution plan &
SGA Hash value
Shared/
e
ch
SQL Area
Optimizer
ca
FETCH
y
Fetching by
Shared pool
ar
Pl/SQL
server process DB Buffer Cache
br
Area
Li
Keep pool
Recycle pool Data dictionary Parsing
cache
Execution
DB Wrtr
Redo Log
Fetch
Buffer cache
Log writer
DATA FILE
DATA FILE
Archiver
UNDO Online Log Files
Cntl File DBWn
SMON
PMON
LGWR
CKPT
ARCHIVER Archive Dest
Header OS Block
#
S
C Data File
N
Oracle Block(8k)
Tablespace
Dictionary Local (D)
Extent
A Management Small file
u Tablespace
t (D)
O
(D)
Segment Space Tablespace
Management
M Big File
A Tablespace
N Upto128tb
U If blocksize
A Type 32k
l
Dba_tablespaces
Dba_data_files
V$datafile Temporary
Permanent
CREATE TABLESPACE TEST
DATAFILE '/u01/oradata/test/test01.dbf' SIZE 100M
AUTOEXTEND ON NEXT 100m MAXSIZE 2000m;
ALTER TABLESPACE TEST
ADD DATAFILE '/u01/oradata/test/test02.dbf' SIZE 100M
AUTOEXTEND ON NEXT 100m MAXSIZE 2000m;
ALTER DATABASE DATAFILE '/u01/oradata/test/test02.dbf'
RESIZE 200M;
ALTER DATABASE DATAFILE '/u01/oradata/test/test02.dbf'
AUTOEXTEND 0FF;
ALTER DATABASE DATAFILE '/u01/oradata/test/test02.dbf'
AUTOEXTEND 0N;
Oracle Managed Files (OMF)
• db_create_file_dest='+DG_PERF_DATA_01'
• db_create_online_log_dest_1='+DG_PERF_DATA_01'
•db_create_online_log_dest_2='+DG_PERF_FLASH_01‘
CREATE TABLESPACE TEST DATAFILE '+DG_PERF_DATA_01’
SIZE 100M
AUTOEXTEND ON NEXT 500M MAXSIZE 32000m;
CREATE TABLESPACE "TEMP" TEMPFILE '+DG_PERF_DATA_01'
SIZE 100M
AUTOEXTEND ON NEXT 500M MAXSIZE 32000m;
Physical
Database Structure
Logical
Structure
Tablespace Datafiles
Segments
Extents
Contiguous OS BLOCK
Oracle Blocks
Pct Free
20%
Contiguous
E Oracle
X Block
T
Oracle E
Block N
T
Pct Used
40%
Extent
64k (D)
Segment
Tablespace
EMP EMP EMP DEPT EMP DEPT DEPT EMP EMP DEPT
Locally managed
Initial : 64k
Min : 1
Next : 64k
Max : Unlimited
PCT 0%
Dictionary Managed TBS
Initial : 10k DBA_SEGMENTS
Min :2 DBA_EXTENTS
DBA_OBJECTS
Next : 10k USER_SEGMENTS
Max : 121 USER_EXTENTS
USER_OBJECTS
PCT Increase : 50%
USER MANAGEMENT
USER A USER B
Objects Objects
TBS1 TBS2 TBS3
CREATE USER TEST IDENTIFIED BY <Password>
DEFAULT TABLESPACE TBS1
QUOTA 10M ON TBS1
TEMPORARY TABLESPACE temp QUOTA 5M ON
system PROFILE DEFAULT;
System Level Privs Object Level Privs
CREATE SESSION SELECT
CREATE TRIGGER
CREATE SEQUENCE INSERT
CREATE CLUSTER
CREATE PROCEDURE UPDATE
CREATE TABLE
CREATE INDEXTYPE DELETE
ROLE : Set of Privs
Role User
DBA_USERS
CREATE SESSION DBA_TS_QUOTAS
CREATE TRIGGER DB_ROLE_PRIVS
CREATE SEQUENCE ROLE_ROLE_PRIVS
CREATE CLUSTER DBA_PROFILES
CREATE PROCEDURE USER_ROLE_PRIVS
CREATE TABLE DBA_TAB_PRIVS
CREATE INDEXTYPE SESSION_PRIVS
USER_ROLE_PRIVS
DBA_ROLES
V$SESSION
Gant Select
With
Grant
A Admin
B C
Emp
Revoke
A B C
Profile: profile limits the amount of database
resources the user can use
RESOURCE_NAME LIMIT
----------------------------------- --------------------
SESSIONS_PER_USER UNLIMITED
CPU_PER_SESSION UNLIMITED
CPU_PER_CALL UNLIMITED
LOGICAL_READS_PER_SESSION UNLIMITED
LOGICAL_READS_PER_CALL UNLIMITED
IDLE_TIME UNLIMITED
CONNECT_TIME UNLIMITED
PRIVATE_SGA UNLIMITED
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_LIFE_TIME 180
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_REUSE_MAX UNLIMITED
PASSWORD_VERIFY_FUNCTION NULL
PASSWORD_LOCK_TIME 1
PASSWORD_GRACE_TIME 7
SYSOPER
STARTUP
SHUTDOWN
ALTER DATABASE OPEN
ALTER DATABASE MOUNT
ALTER DATABASE BACKUP CONTROLFILE
RECOVER DATABASE
ALTER DATABASE ARCHIVELOG
SYSDBA
SYSDBA has all the privileges that
SYSOPER has all WITH ADMIN OPTION
+
CREATE DATABASE,
ALTER DATABASE BEGIN BACKUP
ALTER DATABASE END BACKUP
RESTRICTED SESSION
RECOVER DATABASE UNTIL
Password file
$ORACLE_HOME/dbs
$orapwd file=<fname> password=<password>
entries=<users> force=<y/n> ignorecase=<y/n>
nosysdba=<y/n>
Connect as sys
RMAN
remote_login_passwordfile = EXCLUSIVE
1 . How to find ROLES of a USER?
2 .How to find Privs on a ROLE?
3 . How to fine privs on a USER?
4 How to find Objects Privs on a table to x user?
5. How to find quota in tablespace in a X user?
Two Groups with 1 member
VIEWS In each group
v$log
v$logfile
LOG MANDATORY
PARAMETERS Redo log File
SQL
Create
LOG_ARCHIVE_DEST Alter
Drop
STATUS Advantages
Unused Fast Commit Mechanism
Recovery Operations
Current
Active
Inactive
Inactive
UNUSED
CURRENT ACTIVE
• alter database add logfile group 4 '/disk1/oradata/redo04a.log' size 5
• alter database add logfile group 5 ('/disk1/oradata/redo05a.log',
'/disk2/oradata/redo05b.log')
size 50m;
• alter database drop logfile group 5;
• alter system switch logfile;
• alter database
• add logfile member '/disk2/oradata/redo04b.log‘ group 4 ;
• alter database
• drop logfile member '/disk2/oradata/redo04a.log';
Archive Log Mode
LOG_ARCHIVE_DEST
LOG_ARCHIVE_FORMATE
Shutdown
Startup Mount
G L IST;
O
C HIVE L LOG;
AR D_
SQL> RCHIVE ORY;
V$A G_HIST
V$LO
SQL>Alter database
Archivelog;
Alter database open
Min : 1
Max :8
No Of Files
v$controlfile
Control File VIEWS
Parameter
Control_files Content
DBNAME
CREATION TIME
LOCATION AND NAMES OF DBFs
LOCATION, NAMES and SIZE OF REDOLOG FILES
LOG MODE
LOG SEQUENCE NUMBER
SCN#
Etc..
Tx1 Tx2 Tx3 Tx4 Tx5 Tx6 Tx7 Tx8
RBS 1 RBS 2 RBS 3 RBS 4 RBS1 RBS1
rollback segments=RBS1,RBS2,RBS3
Create rollback segment RBS1 tablespace RBS;
Alter rollback segments RBS1 offline/online;
DBA_ROLLBACK_SEGS DBA_TABLESPACES
V$UNDOSTATS
V$ROLLSTATS DBA_SEGMENTS
V$ROLLNAME
Views
UNDO
Advantages SQL
MANAGEMENT
Flashback
Create
Tx Rollback
ALTER
Read Consistency
Parameters DROP
Instance Recovery
UNDO_MANAGEMENT=Auto or manual
UNDO_TABLESPACE = UNDOTBS1, UNDOTBS2
UNDO_RETENTION =900
Data Block
UPDATE
30000
Undo Block
Select
20000
UNDO TABLESPACE
SEG 1 SEG 2 SEG 3 SEG 1 SEG 3
Create undo tablespace undotbs1 datafile ‘/disk1/oradata/test/undo01.dbf’ size 100m;
Dumpfiles( .dbm)
Logfiles
Invoke
Export
Files
Command-line entries
Interactive Export prompts
Parameter files
Backup Type Exports Roles
EXP_FULL_DATABASE
IMP_FULL_DATABASE
Logical
Types
Advantages Utility
Data Moving EXP
Regular incremental
Database re-org IMP
Tables Incremental
Schema Cumulative
Online backup Full Complete
Tablespace
• Run the catexp.sql or catalog.sql script
• Ensure there is sufficient disk or tape storage to write the export file
• Verify that you have the required access privileges
SELECT SUM(BYTES) FROM USER_SEGMENTS
WHERE SEGMENT_TYPE='TABLE';
http://download.oracle.com/docs/cd/B10501_01/server.920/a96652/ch01.htm#1006491
$exp
UTILITY Advantages
Run from
EXPDP • It is 15-45% faster then exp/imp
IMPDP
Command Line • ability to estimate jobs times
Parameter file • ability to restart failed jobs
Enterprise Manager • monitor running jobs.
Dump files (.dmp) • directly load a database from a
Log files Datapump remote instance via the network.
Sql files Datapump
Master data pump tables Files • remapping capabilities.
• Improved performance using
parallel executions
Modes
Views Components
Full
DBA_DIRECTORIES
Schema
DBA_DATAPUMP_JOBS Tables Datapump API
DBA_DATAPUMP_SESSIONS DBMS_DATAPUMP
Transportable TBS
USER_DATAPUNP_JOBS DBMS_METADATA
V$SESSION_LONGOPS
FULL EXPORT
expdp system/<password> \ FULL=y \
DUMPFILE=datadir1:full1%U.dmp,datadir2:full2%U.dmp \
FILESIZE=2g \
PARALLEL=4 \
LOGFILE=datadir1:expfull.log \
JOB_NAME=expfull
Interactive Mode
Export> STOP_JOB=immediate
Are you sure you wish to stop this job (y/n): y
expdp system/<password> ATTACH=expfull2
Export> PARALLEL=10
Export>START_JOB
Export> CONTINUE_CLIENT
Remap
impdp username/password REMAP_TABLESPACE=tbs_1:tbs_6
DIRECTORY=dpumpdir1 DUMPFILE=employees.dmp
impdp username/password DIRECTORY=dpumpdir1 DUMPFILE=expfull.dmp
SQLFILE=dpump_dir2:expfull.sql INCLUDE=TABLE,INDEX
dbms_datapump
starting/stopping/restarting a job
monitoring a job
detaching from a job
1. SQL> CREATE DIRECTORY dpump_dir1 AS ‘/usr/apps/datafiles’;
2. SQL> GRANT READ,WRITE ON DIRECTORY dpump_dir1 TO
scott;
Backups and Recovery
Backup and recovery is one of the most important aspects of database
administration. If a database crashed and there was no way to recover it, the
devastating results to a business could include lost data, lost revenue and
customer dissatisfaction
The need to back up important data and protect themselves from disaster by developing a
backup and recovery plan.
A backup is a representative copy of data. This copy can include important parts of a
database such as the control file, redo logs, and datafiles
Two types of backups
Offline backup : In this backup, all datafiles and control files are consistent to the same
point in time - consistent with respect to the same SCN
Online backup : An online backup or also known as an open backup, is a backup in which
all read-write datafiles and control files have not been check pointed with
respect to the same SCN
Hot backups
Cold Bkup
Archive log
Mode
Immediate
Shutdown Normal
No Archive log Restore+
Mode Recovery
OS Level backup
Of CRD files
Complete
Simple Restore Recovery Incomplete Recovery
Offline
Targets Online Offline
Local filesystem
N/W File system
Tape Drives
Cold backup
Bkup type Time Log DB Crash Tapes
sequenc
Database
e no
Cold bkup 10-Aug- 100
2010 -
6:00pm
120 11-Aug-10
11:00 AM
RESTORE 10-Aug-
2010 -
6:00pm SQL> SHUT ABORT;
RESTORE
SQL> STARTUP MOUNT;
SQL>RECOVER DATABASAE USING BACKUP
CONTROLFILE UNTIL CANCEL;
Recover Until SQL> RECOVER CANCEL;
Cancel SQL> ALTER DATABASE OPEN RESETLOGS;
Open DB Incomple
With te RESTORE DATAFILE
Recovery SQL>ALTER DATABAE DATAFILE 10 OFFLINE;
Reset
SQL> RECOVER DATAFILE 10;
logs SQL>ALTER DATABASE DATAFILE 10 ONLINE;
V$recover_files;
V$datafile;
Type Of Recovery Mode Of Recovery
Full Database
Full Database Incomplete Recovery Offline
Los Of No-System Datafile Complete Recovery Online
Loss Of System Datafile Complete Recovery Offline
Controlfile Complete Recovery Offline
Targets
listener1
PRD1 PRD2 PRD3 PRD4 Tapes
Disk
HPDP
TIVOLI
VERITAS
RMAN Database contains
RMAN TABLESPACE(RCAT)
Services
Repository RMAN USER
RECOVERY_CATALOG_OWNER
$rman
RMAN>
RMAN>connect catalog rman/rman@RCAT
RMAN> CREATE CATALOG;
RMAN>connect target sys/password@PRD1
RMAN>REGISTER DATABASE;
Consistent Database
Backup Modes Tablespace
Inconsistent
Datafiles
Archivelog Files
File Format
Consistent Types
%d Database Name
%s Backups Set Number
%u 8 character unique ID
RMAN %t backup set time
Backups Types
%p Peace number in set
Advantages
Full Incremental •Centralized Backups and
Recovery
•Skip Unused Blocks
•Open Database backups
•Backup Compression
•True Incremental backups
Level 0 Level 1
•Block Level Recovery
•Multiple I/O channels
Cumulative •Cataloging
•Tape manager support
Differential backup •Encrypted backup