Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 53

SAP BASIS Introductory Training

Program
DAY 10 – Database Administration – Oracle

CONFIDENTIAL
Day 10 : Agenda
• 09:00 AM-10:15 AM – Database Overview
• 10:15 AM-10:30 AM – Break
• 10:30 AM-01:00 PM – Database Processes & Structure
• 01:00 PM-02:00 PM – Lunch Break
• 02:00 PM-03:15 PM – Database Management
• 03:15 PM-03:30 PM – Break
• 03:30 PM-05:30 PM – Concept of Segments & DB Tools
• 05:30 PM-06:00 PM – Exercise Break Out Session

November 6, 2021
Database Overview

November 6, 2021
Database Overview – Oracle Architecture
Instance
SGA
User Process Shared Pool
Library
Cache
Database Redo Log
Data Dict. Buffer Cache Buffer Cache
Cache
Server Process

PGA PMON SMON DBWR LGWR CKPT Others

Parameter Data Control Redo Log Archived


File Files Files Files Log files

Password
File

Database

November 6, 2021
Memory Structure
• System Global Area (SGA):
– Allocated at instance startup and is fundamental component of an Oracle instance
– SGA consists of several memory structures
• Shared Pool
• Database buffer cache
• Redo log buffer
• Other structures (e.g. lock & latch management, statistical data)
– Two optional memory structures that can be configured with in the SGA
• Large Pool
• Java Pool
– SGA is dynamic and sized using SGA_MAX_SIZE

• Program Global Area (PGA):


– Allocated when the server process is started
– PGA is memory reserved for each user process that connects to an Oracle instance

November 6, 2021
Shared Pool
• Shared Pool
– Shared Pool is used to store most recently executed SQL statements and the most
recently used data definitions
– It consists of two key performance-related memory structures
• Library cache
• Data Dictionary cache
– Sized by the parameter SHARED_POOL_SIZE
• Library Cache
– Library Cache stores information about the most recently used SQL & PL/SQL
statements
– Uses Least Recently Used algorithm (LRU)
– Consists of two structures: Share SQL area and Shared PL/SQL area
• Data Dictionary Cache
– Data Dictionary Cache is collection of most recently used definitions in database
– Information about database files, tables, indexes, columns, users, privileges, and
other database objects
– Caching data dictionary information into memory improves response time on queries
Instance
Shared Pool
SGA
Library Shared Pool
Library
Cache Cache
Database Redo Log
Data Dict.
Data Dict. Cache
Buffer Cache Buffer Cache

Cache
PMON SMON DBWR LGWR CKPT Others November 6, 2021
Database Buffer Cache
• The database buffer cache stores copies of data blocks that have been retrieved from the
data files.
• It enables great performance gains when obtaining and updating data.
• It is managed through a least recently used (LRU) algorithm.
• DB_BLOCK_SIZE determines the primary block size.
• Consists of independent sub-caches
– DB_CACHE_SIZE
– DB_KEEP_CACHE_SIZE
– DB_RECYCLE_CACHE_SIZE
• Database buffer cache can be dynamically resized to grow or shrink using ALTER
SYSTEM.
• DB_CACHE_ADVICE can be set to gather statistics for predicting different cache size
behavior. Instance

SGA
Shared Pool

Library
Cache
Database Database Redo Log
Buffer Cache Buffer Cache
Buffer Cache Data Dict.
Cache

PMON SMON DBWR LGWR CKPT Others

November 6, 2021
Redo Log Buffer Cache
• The redo log buffer cache records all changes made to the database data blocks.
• Its primary purpose is recovery.
• Changes recorded within are called redo entries.
• Redo entries contain information to reconstruct or redo changes.
• Size is defined by LOG_BUFFER.

Instance

SGA
Shared Pool

Library
Cache

Database Redo Log Redo Log


Data Dict.
Buffer Cache Buffer Cache
Buffer Cache
Cache

PMON SMON DBWR LGWR CKPT Others

November 6, 2021
Large Pool & Java Pool
• Large Pool
– The large pool is an optional area of memory in the SGA configured only in a shared
server environment.
– It relieves the burden placed on the shared pool.
– This configured memory area is used for session memory (UGA), I/O slaves, and
backup and restore operations.
– Unlike the shared pool, the large pool does not use an LRU list.
– Sized by LARGE_POOL_SIZE.
• Java Pool
– The Java pool services the parsing requirements for Java commands.
– Required if installing and using Java.
– It is stored much the same way as PL/SQL in database tables.
– It is sized by the JAVA_POOL_SIZE parameter.

November 6, 2021
Program Global Area
• The PGA is memory reserved for each user process that connects to an Oracle database

PGA Dedicated Server Shared Server


Server Process
Session information, Stack Sort area,
Stack
Sort area, Space Cursor information
Space
Cursor information

SGA SGA
Session Information
User Process

Shared SQL area Shared SQL area

November 6, 2021
BREAK

November 6, 2021
Database Processes &
Structure

November 6, 2021
Oracle Background Processes
• The relationship between the physical and memory structures is maintained and nforced by Oracle’s
background processes
• Mandatory Processes
– Database Writer (DBWn)
– Log Writer (LGWR)
– System Monitor (SMON)
– Process Monitor (PMON)
– Checkpoint (CKPT)
– Archive (ARCn)
• Optional Processes
– Recovery (RECO)
– Instance Locks
– Global Locks
– Remote Locks
– Dispatcher
– Shared server
– Parallel Query Slaves
– Advance Queuing

November 6, 2021
– Database Writer (DBWn)
• DBWn writes when: Instance

– Checkpoint SGA
– Dirty buffers threshold reached
– No free buffers Database
– Timeout Buffer Cache

– RAC ping request


– Tablespace offline DBWR
– Tablespace read only
– Table DROP or TRUNCATE
– Tablespace BEGIN BACKUP Data Control Redo Log
Files Files Files

Database

November 6, 2021
– Log Writer (LGWR)
• LGWR writes: Instance
– At commit SGA
– When one-third full
– When there is 1 MB of redo
Redo Log
– Every 3 seconds Buffer Cache
– Before DBWn writes

DBWR LGWR

Data Control Redo Log


Files Files Files

Database

November 6, 2021
– System Monitor (SMON)
• Instance recovery: Instance
– Rolls forward changes in the redo logs SGA
– Opens the database for user access
– Rolls back uncommitted transactions
• Coalesces free space ever 3 sec
• De-allocates temporary segments

SMON

Data Control Redo Log


Files Files Files

Database

November 6, 2021
– Process Monitor (PMON)
• Cleans up after failed processes by Instance
– Rolling back the transaction SGA
– Releasing locks
– Releasing other resources
– Restarts dead dispatchers

PMON

PGA area

November 6, 2021
– Archive (ARCn)
• Optional background process
– Automatically archives online redo logs when ARCHIVELOG mode is set
– Preserves the record of all changes made to the database

Data Control Redo Log Archived


Files Files Files Log files

Database

November 6, 2021
Logical Structure
• The logical structure of the Oracle architecture dictates how the physical space of a
database is to be used.
• A hierarchy exists in this structure that consists of tablespaces, segments, extents, and
blocks.

Tablespace

Data file

Segment Segment

Extent Blocks

November 6, 2021
Oracle Directory Structure in SAP
oracle <DBSID> <Release> bin

dbs and database


sapdata1
network admin

sapdata<n>

origlogA
origlogB

mirrlogA

mirrlogB
oraarch

saparch

saptrace background
usertrace

sapbackup

sapcheck
sapreorg

November 6, 2021
LUNCH BREAK

November 6, 2021
Database Management

November 6, 2021
Database Management
Initialization Parameter Files

Instance
SGA
Shared Pool
Library
Cache
Database Redo Log
Data Dict. Buffer Cache Buffer Cache
Cache
-- - - - - - - - -
-- - - - -- - - -
---------
PMON SMON DBWR LGWR CKPT Others
spfiledb01.ora

SQL> CONNECT / AS SYSDBA


SQL> STARTUP

November 6, 2021
Initialization Parameter Files
• Static parameter file – PFILE
– PFILE is a text file that can be modified with an operating system editor
– Modifications to the file are made manually
– Changes to the file take effect on the next startup
– Default location $ORACLE_HOME/dbs
– Default file name initSID.ora
• Persistence parameter file – SPFILE
– Binary file with the ability to make changes persistent across shutdown & startup
– Maintained by the Oracle server
– Records parameter value changes made with the ALTER SYSTEM command
– Can specify whether the change being made is temporary or persistent
– Values can be deleted or reset to allow an instance to revert to the default value
– Default file name spfileSID.ora
– Default location $ORACLE_HOME/dbs

• Creating an SPFILE
– CREATE SPFILE FROM PFILE;
• Modification to SPFILE
– ALTER SYSTEM SET PARAMETER = VALUE [SCOPE = MEMORY|SPFILE|BOTH];

November 6, 2021
Starting Up a Database

SQL> CONNECT / AS SYSDBA Open

SQL> STARTUP All files opened as


described by the control
file for this instance
STARTUP Mount

Control File
opened for this
instance
Nomount

Instance
Started SHUTDOWN

Shutdown SQL> CONNECT / AS SYSDBA


SQL> SHUTDOWN

November 6, 2021
Shutting Down the Database
Shutdown Mode A I T N
Allow new connections X X X X
Wait until current sessions end X X X O
Wait until current transactions end X X O O
Force a checkpoint and close files X O O O

Shutdown Mode: X NO
• N – Normal O YES

• T – Transactional
• I – Immediate
• A – Abort

November 6, 2021
Operating System & Database User
Application Server

Dispatcher OS User for SAP Instance:


<sapsid>adm (UNIX)
Work Work Work SAPService<SAPSID> (Windows)
Process Process Process

SAP<SCHEMA-ID> OPS$ connect

Database Server

Dispatcher OS User for SAP Instance:


<sapsid>adm (UNIX)
Work Work Work SAPService<SAPSID> (Windows)
Process Process Process

OS User for Oracle Administration:


ora<dbsid> (UNIX)
Connect / as sysdba <sapsid>adm (Windows & Unix)

November 6, 2021
Net Services
tnsnames.ora
sqlnet.ora
Listener.ora

SAP Work
Process

SAP Work
SAP Work
Process Oracle Net Oracle
SAP Work
Process TCP/IP Listener Oracle Net
SAP Work
Process IPC
Process

Shadow
Shadow
Shadow
tnsnames.ora
Shadow
sqlnet.ora

APPLICATION SERVER DATABASE SERVER

November 6, 2021
Database Management – Users & Security Management

System Privileges required for database administration

SECURITY DOMAIN Privilege Name Operations Authorized

SYSDBA Startup, Shutdown, Create DB,


DEFAULT TABLESPACE TEMPORARY TABLESPACE Arcivelog, Backup, Recovery, ….

SYSOPER As for SYSDBA but without create


TABLESPACE QUOTAS ACCOUNT LOCKING
DB, and without ability to lock user
data

AUTHENTICATION MECH. ROLE PRIVILEGES

DIRECT PRIVILEGES RESOURCE LIMITS

November 6, 2021
SAP Operating System Users & Groups

Operating System Users & Groups in SAP System in Oracle


OS – User OS – Group Privileges in Oracle
Unix environment
ora<dbsid> dba Full administration of all instances
oper Restricted administration of all instances
<sapsid>adm dba Full administration of all instances
oper Restricted administration of all instances
Windows environment
<sapsid>adm ORA_<DBSID>_DBA Full administration of instance
ORA_<DBSID>_OPER Restricted administration of instance
ORA_DBA Full administration of all instances
SAPService<SAPSID> ORA_<DBSID>_DBA Full administration of instance
ORA_<DBSID>_OPER Restricted administration of instance
ORA_DBA Full administration of all instances

November 6, 2021
Space Management in Tablespaces
• Locally managed tablespaces:
– Free extents recorded in bitmap
– Each bit corresponds to a block or group of blocks
– Bit value indicates free or used
• Dictionary-managed tablespaces:
– Default method
– Free extents recorded in data dictionary tables

November 6, 2021
Dictionary managed tablespaces

Free space

0 3

0 3

2 2
Data Dictionary
Initial Extent, Next Extent
Max Extent,
1
2 PCTINCREASE
1 Free space
3

1 0
Objects
Tables/Indexes Datafile

Extent

November 6, 2021
Locally managed tablespaces

Free space information

111001010010
100001001010
100000000011
Bitmap

X Data Dictionary
Initial Extent, Next Extent
Max Extent,
PCTINCREASE
Free space

Objects
Tables/Indexes Datafile

November 6, 2021
Tablespace Management
• Locally Managed Tablespace
– The LOCAL option of the EXTENT MANAGEMENT clause specifies that a
tablespace is to be locally managed. By default a tablespace is locally managed.
• Reduced contention on data dictionary tables
• No undo generated when space allocation or deallocation occurs
• No coalescing required

• Dictionary Managed Tablespace


– Segments in dictionary managed tablespaces can have a customized storage, this is
more flexible than locally managed tablespaces but much less efficient.
• Extents are managed in the data dictionary
• Each segment stored in the tablespace can have a different storage clause
• Coalescing required

November 6, 2021
Undo Tablespace
• From Oracle 9i Rollback segments have been replaced by Undo tablespace
• Used to store undo segments
• Cannot contain any other objects
• Extents are locally managed
• Can only use the DATAFILE and EXTENT MANAGEMENT clauses of the CREATE
TABLESPACE command

-- - - - - - - - -
-- - - - -- - - -
---------

Transaction
Rollback

-- - - - - - - - - Undo -- - - - - - - - -
-- - - - -- - - - -- - - - -- - - -
---------
Segment ---------

Transaction Read
Recovery Consistency

November 6, 2021
Temporary Tablespace
• Used for sort operations
• Cannot contain any permanent objects
• Locally managed extents recommended
• It cannot be dropped until after a new default is made available.
• It cannot be taken offline.
• You cannot alter the default temporary tablespace to a permanent tablespace.
• Default Temporary Tablespace
– Allows you to specify a databasewide default temporary tablespace
– Eliminates the use of the SYSTEM tablespace for storing temporary data
– Can be created using the CREATE DATABASE or ALTER DATABASE command.
– When created with the CREATE DATABASE command, the default temporary
tablespace is locally managed

November 6, 2021
Tablespace – Offline Status
• Offline tablespace is not available for data access.
• Some tablespaces must be online:
– SYSTEM
– Tablespaces with active undo segments
– Default temporary
• To take a tablespace offline:
– ALTER TABLESPACE userdata OFFLINE;
• To bring a tablespace online:
– ALTER TABLESPACE userdata ONLINE;

November 6, 2021
Resizing a Tablespace
• Add a data file
• Change the size of a data file:
– Automatically
– Manually
• Enabling Automatic Extension of Data Files
– ALTER DATABASE DATAFILE '/u01/oradata/userdata02.dbf' SIZE 200M
AUTOEXTEND ON NEXT 10M MAXSIZE 500M;
• Changing the Size of Data Files Manually
– ALTER DATABASE DATAFILE '/u03/oradata/userdata02.dbf' RESIZE
200M;

Tablespace – APP_DATA

100M 100M 200M


100M

app_data_01.dbf app_data_02.dbf app_data_03.dbf

November 6, 2021
Datafile Management
• Adding Data Files to a Tablespace
– ALTER TABLESPACE app_data ADD DATAFILE
'/u01/oradata/userdata03.dbf' SIZE 200M;
• Moving Data Files
– The tablespace must be offline.
– The target data files must exist.
– ALTER TABLESPACE userdata RENAME DATAFILE
'/u01/oradata/userdata01.dbf' TO '/u01/oradata/userdata01.dbf';

November 6, 2021
Tablespace Information
• Tablespace information:
– DBA_TABLESPACES
– V$TABLESPACE
• Data file information:
– DBA_DATA_FILES
– V$DATAFILE
• Temp file information:
– DBA_TEMP_FILES
– V$TEMPFILE

November 6, 2021
BREAK

November 6, 2021
Concept of Segments &
DB Tools

November 6, 2021
Database Storage Hierarchy

Database

Tablespace Datafile

Segment

Extent

Oracle Block OS Block

LOGICAL PHYSICAL

November 6, 2021
Types of Segments

Table

Table Partition

Cluster Index

November 6, 2021
Types of Segment
Index-Organized Index
Table Partition

Undo
Segment

Temporary
Segment

November 6, 2021
Types of Segment

LOB
Segment

Nested Table

Bootstrap
Segment

November 6, 2021
SAP Database Administration Tools – BR*TOOLS
BR*TOOLS

1. Instance Management
2. Space Management
3. Segment Management
4. Backup and database copy
5. Restore and recovery
6. Check and verification
7. Database Statistics
8. Additional functions
9. Exit Program

BRBACKUP BRARCHIVE BRRESTORE BRRECOVER BRSPACE BRCONNECT

November 6, 2021
BR*TOOLS
BRTOOLS Responsible Tools Log Directory Configuration file

1. Instance Management Brspace Sapreorg Init<DBSID>.sap


2. Space Management Brspace Sapreorg
3. Segment Management Brspace Sapreorg
4. Backup and database copy Brbackup/Brarchive Sapbackup/saparch
5. Restore and recovery Brrecover Sapbackup
6. Check and verification Brconnect/Brbackup Sapcheck/sapbackup
7. Database Statistics Brconnect Sapcheck
8. Additional functions Brconnect Sapcheck
9. Exit Program

1=Database instance management 2=Database space management 3=Database segment management 4=Backup and database copy

1. Startup database 1. Extend tablespace 1. Reorganize tables 1. Database backup


2. Shutdown database 2. Create tablespace 2. Rebuild indexes 2. Archive log backup
3. Alter database instance 3. Drop tablespace 3. Export tables 3. Database copy
4. Alter database parameters 4. Alter tablespace 4. Import tables 4. Non-database backup
5. Recreate database 5. Alter data file 5. Alter tables 5. Backup of database disk backup
6. Show instance status 6. Move data file 6. Alter indexes 6. Verification of database backup
7. Show database parameters 7. Additional space functions 7. Additional segment functions 7. Verification of archive log backup
8. Show database owners 8. Additional functions

5=Restore and recovery 6=Database check and verification 7=Processing database statistics 8=Additional BR*Tools functions

1. Complete database recovery 1. Database system check 1. Update database statistics 1. Show profiles and logs
2. Database point-in-time recovery 2. Validation of database structure 2. Collect missing statistics 2. Clean up DBA logs and tables
3. Tablespace point-in-time recovery 3. Verifiication of database blocks 3. Delete harmful statistics 3. Adapt NEXT extents
4. Whole database rest 4. Manage database statistics 4. Change password of database user
5. Restore of individual backup files 5. Create/change synonyms for DBA tables
6. Restore and application of archivelog files
7. Disaster recovery

November 6, 2021
Maintenance of Oracle Parameters – BR*TOOLS
• To modify an Oracle parameter, start BRTOOLS or BRGUI and choose Instance
management → Alter database parameters. If you already know the parameter to change,
enter it in Database parameter (parameter) and continue. If you want to select the
parameter from a list, do not make any changes. Choose c to continue, select - Alter
database parameter, and enter the position number of the parameter (not the name) you
want to change from the list of parameters.

November 6, 2021
Summary
• Oracle Architecture
– Oracle Instance
– Memory Structures
– Oracle Processes
• Database Management
– Initialization Parameter File
– Starting and Shutting down Database
– Security and Authorization
– Storage space management
– Oracle Directory Structure in SAP
– Storage Hierarchy
– Types of Segment
– Database Administration Tools

November 6, 2021
Exercise &
Break out session

November 6, 2021
Exercise
• Logon to the operating system level with the userid/password provided by the instructor
• Instructor Steps Steps to demonstrate start/stop using BRTOOLS
– Stop the SAP application instance using the <SID>adm user
– Switch to the ora<SID> user
– Start BRTOOLS from the command prompt
– Execute the stop command
– Check if any oracle processes exist using the ps –ef | grep ora command
– Start the Oracle Instance
• Trainee steps for 2 Groups to be performed one at a time :
• Group 1
– Check the tablespaces and datafiles for the main PSAP tablespace
– Add a 2M datafile to this tablespace using the appropriate tablespace command
• Group 2
– Resize the datafile created by Group 1 by 2 M
– Note the change in filesystem space availability after the activities

November 6, 2021
Q&A Session

November 6, 2021

You might also like