Академический Документы
Профессиональный Документы
Культура Документы
Oracle Architecture
Oracle Day 1
Objectives
To Recall RDBMS concepts To introduce ORACLE and its products To introduce Oracle Client/Server Architecture To explain Oracle Physical structure-Data Files, Control Files, Redo Files To explain Oracle Logical Structure- Tablespaces, Segments, Extents, Blocks To introduce Schema objects-Tables, Sequences, Synonyms, Views, Indexes and Clusters To explain Oracle Memory Structures and Background Processes, Data Dictionary
RDBMS - Overview
Why RDBMS? Keys SQL Embedded SQL Transaction processing
What is Oracle?
Oracle is a Relational Database Management System. It is a management system which uses the Relational Data Model. In the Relational Data Model, data is seen by the users in form of tables.
Oracle Products
Oracle broadly sells products in two categories Database Servers Application Development Tools
Database Servers
Oracle 10g Database Oracle 9i Database Oracle 8i Database
Oracle Server
Instance SGA
Database Buffer Cache Redo Log Buffer Large Pool
CKPT
Others
Datafiles
Control files
Database
Copyright 2005, Infosys Technologies Ltd
10
Oracle Database
Oracle Database: Is a collection of data that is treated as a unit Consists of three file types
11
Oracle Instance
Oracle Instance: Is a means to access an Oracle database Always open one and only one database Consists of memory structures and background processes Instance SGA
Database Buffer Cache Redo Log Buffer Large Pool Memory structures
CKPT
Others
Background Processes
12
Database user
Copyright 2005, Infosys Technologies Ltd ER/CORP/CRS/DB25/003 Version No. 2.0
13
Physical Structure
The physical structure includes three types of files: Control files, Data files, Redo log files. Other key files: Parameter file Password file Archived redo log file
Oracle Database Parameter file Password file Datafiles Control files Redo Log files Archived Log files
14
Memory Structure
Oracles memory structure consists of two memory areas known as: System Global Area (SGA): Allocated at instance startup, and is a fundamental component of an Oracle Instance Program Global Area (PGA): Allocated when the server process is started
15
There are additional memory structures that can be configured within the SGA:
Large Pool
16
Shared Pool
Used to store: Most recently executed SQL statements 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
17
Library Cache
Stores information about the most recently used SQL and PL/SQL statements Enables the sharing of commonly used statements Is managed by a least recently used (LRU) algorithm Consists of two structures: Shared SQL area Shared PL/SQL area Size determined by the Shared Pool sizing
18
19
20
21
Large Pool
An optional area of memory in the SGA Relieves the burden placed on the Shared Pool Used for: Session memory (UGA) for the Shared Server I/O server processes Backup and restore operations or RMAN Does not use an LRU list Sized by LARGE_POOL_SIZE
22
User process
23
Process Structure
Oracle takes advantage of various types of processes: User process: Started at the time a database user requests connection to the Oracle server Server process: Connects to the Oracle Instance and is started when a user establishes a session Background processes: Started when an Oracle Instance is started
24
User Process
A program that requests interaction with the Oracle server Must first establish a connection Does not interact directly with the Oracle server
Database user
Copyright 2005, Infosys Technologies Ltd
25
Server Process
A program that directly interacts with the Oracle server Fulfills calls generated and returns results Can be Dedicated or Shared Server
Database user
26
Background Processes
Maintains and enforces relationships between physical and memory structures Mandatory background processes: DBWR PMON CKPT LGWR SMON Optional background processes: ARCn RECO
27
DBWn
Database
28
DBWn LGWR
Database
29
SMON
Datafiles
Control files
Database
30
PMON
PGA area
31
Checkpoint (CKPT)
Instance SGA Responsible for: Signaling DBWn at checkpoints Updating datafile headers with checkpoint information Updating control files with checkpoint information
Database
32
Archiver (ARCn)
Optional background process Automatically archives online redo logs when ARCHIVELOG mode is set Preserves the record of all changes made to the database
33
Control File
A small binary file Defines current state of physical database Maintains integrity of database Required: At MOUNT state during database startup To operate the database Linked to a single database Loss may require recovery Sized initially by CREATE DATABASE Database Control files
34
A control file contains the following entries: Database name and identifier Time stamp of database creation Tablespace names Names and locations of datafiles and redo log files Current redo log file sequence number Checkpoint information Begin and end of undo segments Redo log archive information Backup information
35
36
Group 1
Group 2
Group 3 Disk 1
Member
Member
Member
Member
Member
Member
Disk 2
37
38
39
Accomplished automatically by ARCn Accomplished manually through SQL statements When successfully archived: An entry in the control file is made Records: archive log name, log sequence number, and high and low system change number (SCN) Filled redo log file cannot be reused until:
A checkpoint has taken place File has been archived by ARCn
40
Logical Structure
Dictates how the physical space of a database is used Hierarchy consisting of tablespaces, segments, extents, and blocks
Extent
Blocks
41
42
Types of Tablespaces
SYSTEM tablespace Created with the database Contains the data dictionary Contains the SYSTEM undo segment Non-SYSTEM tablespace Separate segments Eases space administration Controls amount of space allocated to a user
43
Creating Tablespaces
A tablespace is created using the command: CREATE TABLESPACE
CREATE TABLESPACE userdata DATAFILE '/ora/data01.dbf' SIZE 50M AUTOEXTEND ON NEXT 5M MAXSIZE 200M;
44
Dropping Tablespaces
Cannot drop a tablespace if it: Is the SYSTEM tablespace Has active segments INCLUDING CONTENTS drops the segments INCLUDING CONTENTS AND DATAFILES deletes datafiles CASCADE CONSTRAINTS drops all referential integrity constraints
45
Obtaining tablespace and datafile information can be obtained by querying the following: Tablespaces: DBA_TABLESPACES Datafile information: DBA_DATA_FILES
46
Types of Segments
Data Segment Index Segment Rollback Segment Temporary Segment
47
Rollback Segment
New image
Rollback segment
Update transaction
48
Transaction rollback
Rollback segment
49
Read Consistency
Table
50
51
An extent is a chunk of space used by a segment within a tablespace. An extent is allocated when the segment is: Created Extended Altered An extent is deallocated when the segment is: Dropped Altered Truncated
52
53
Database Block
Minimum unit of I/O Consists of one or more operating system blocks Set at database creation DB_BLOCK_SIZE is the block size
54
Header
Free space
Data
55
PCTFREE
PCTUSED
56
Before update
After update
Pointer
57
Mount database
Associate database with previously started instance Close database Find and open control file Read Redo /data file names from this file and confirm existence
Open database
Open online log files and data files Automatically perform instance recovery(SMON) Acquire one/more rollback segments
58
Dismount database
Close control files Dissociate database from Instance
59
Database Schema
Schema Objects
Tables Triggers Constraints Indexes Views Sequences Stored program units Synonyms User-defined data types Database links
60
61
Data Dictionary
Central to every Oracle database Describes the database and its objects Contains read-only tables and views Stored in the SYSTEM tablespace Owned by the user SYS
Data files
Database
62
63
64
65
DBA_xxx All of the objects in the database ALL_xxx Objects accessible by the current user USER_xxx Objects owned by the current user
66
Classification of Indexes
Logical Single column or concatenated Unique or nonunique Function-based Domain Physical Partitioned or nonpartitioned B-tree Normal or reverse key Bitmap
67
B-tree Suitable for high-cardinality columns Updates on keys relatively inexpensive Inefficient for queries using OR predicates Useful for OLTP
Bitmap Suitable for low-cardinality columns Updates to key columns very expensive Efficient for queries using OR predicates Useful for data warehousing
68
Creating Indexes
69
70
Dropping Indexes
Drop and recreate an index before bulk loads. Drop indexes that are infrequently needed and build them when necessary. Drop and recreate invalid indexes.
71
72
SEQUENCES
Generation of Sequence numbers Sequence object stored in database Example
CREATE SEQUENCE SEQ_TRIAL INCREMENT BY 1 START WITH 1 insert into employees values (seq_trial.nextval, 'Test', 1, 2); use sequence.currval for current value of sequence
73
Users SYS and SYSTEM are created automatically during database creation and granted the DBA role SYS Password: change_on_install Owner of the database data dictionary SYSTEM Password: manager Owner of additional internal tables and views used by Oracle tools
74
Creating Users
CREATE USER swetalina IDENTIFIED BY mamuni DEFAULT TABLESPACE usr01 TEMPORARY TABLESPACE temp01 QUOTA 10M ON usr01; Granting Privileges GRANT <role-name> TO swetalina;
75
Dropping a User
Use the CASCADE clause to drop all objects in the schema if the schema contains objects.
Users who are currently connected to the Oracle server cannot be dropped.
76
Summary
We have discussed the following:
Introduced ORACLE products Recalled RDBMS concepts Introduced Oracle Client Server Architecture Explained Oracle Physical structure-Data Files, Control Files, Redo Files. Explained Oracle Logical Structure- Tablespaces, Segments, Extents, Blocks Introduced Schema objects-Tables, Sequences, Synonyms, Views, Indexes and Clusters Explained Oracle Memory Structures and Background Processes, Data Dictionary
77
Thank You!
Copyright 2005, Infosys Technologies Ltd
78