+ All Categories
Home > Documents > Lee Oracle

Lee Oracle

Date post: 21-Jul-2016
Category:
Upload: pmishra3
View: 13 times
Download: 5 times
Share this document with a friend
Description:
lee oracle
46
Overview of Oracle Database Overview of Oracle Database Lee, JeongKyu ([email protected])
Transcript
Page 1: Lee Oracle

Overview of Oracle DatabaseOverview of Oracle Database

Lee, JeongKyu ([email protected])

Page 2: Lee Oracle

Part 1. Introduction to Database System

Introduction to Database

History of RDBMS

Entity-Relationship Modeling

Database Language

Page 3: Lee Oracle

Introduction to Database

File-Based Approach Each program defines and manages its own data Limitation

Separation and isolation of data Duplication of data Data dependence Incompatibility of files Fixed queries/proliferation of application program

Database Approach A shared collection of logically related data, designed

to meet the information needs of an organization

Page 4: Lee Oracle

Database Management System(DBMS) A software system that enables users to define, create and

maintain the database and provides controlled access to database

DDL DML : procedural, non-procedural Control : security, integrity, concurrency control,

recovery control, user-accessible catalog

Components of the DBMS Environment Hardware - Software - Data - Procedures - People

Page 5: Lee Oracle

Advantages of DBMS- Control of data redundancy - Economy of scale- Data consistency - Balance of conflicting requirements- More information from the same amount of data- Sharing of data - Improved data accessibility and responsiveness- Improved data integrity - Increased productivity- Improved security - Improved maintenance through data independence- Enforcement of standards - Increased concurrency

- Improved backup and recovery services

Disadvantages of DBMS- Complexity, Size, Cost of DBMSs, Additional H/W costs- Cost of conversion, Performance, Higher impact of a failure

Page 6: Lee Oracle

Three-Level Database Architecture External Level

The users’ view of the database

Conceptual LevelThe community view of the database

Internal LevelThe physical representation of the database on the computer

Page 7: Lee Oracle

Functions of a DBMS1. Data storage, retrieval, and update2. A user-accessible catalog3. Transaction support4. Concurrency control services5. Recovery services6. Authorization services7. Support for data communication8. Integrity services9. Services to promote data independence10. Utility services

Page 8: Lee Oracle

Components of a DBMS

ApplicationPrograms

QueriesDatabaseSchema

DMLpreprocessor

Queryprocessor

DDLcompiler

Programobject code

Databasemanager

Dictionarymanager

Accessmethods

Filemanager

Systembuffers

DBMS

Programmers Users DBA

Database andsystem catalog

Page 9: Lee Oracle

Components of Database Manager

Authorizationcontrol

Integritychecker

Commandprocessor

Queryoptimizer

Transactionmanager

Scheduler

Buffermanager

Recoverymanager

DataManager

Page 10: Lee Oracle

History of RDBMS

History of DBMS 1960s - Apollo moon-landing project, GUAM mid 1960s - IMS by IBM (hierarchical DBMS) mid 1960s - IDS by GE (network DBMS) 1965 - CODASYL(Conference on Data SYStems Langua

ge) 1967 -DBTG(Data Base Task Group) 1970 - E.F.Codd of the IBM Research Lab. Late 1970s - System R project at IBM 1980s - commercial relational DBMS(DB2, Oracle, Infor

mix..) Now - OODBMS, ORDBMS

Page 11: Lee Oracle

Terminology Relation : a relation is a table with columns and rows Attribute : an attribute is a named column of a relation Domain : a domain is the set of allowable values for on

e or more attributes Tuple : a tuple is a row of a relation Degree : the degree of a relation is the number of attri

butes it contrains Cardinality : the cardinality of a relation is the number

of tuples it contains Relational database : a collection of normalized relatio

n

Page 12: Lee Oracle

Properties of Relations The relation has a name that is distinct from all other r

elation names Each cell of the relation contains exactly on atomic val

ue Each attribute has a distinct name The values of an attribute are all from the same domain The order of attributes has no significance Each tuple is distinct; there are no duplicate tuples The order of tuples has no significance, theoretically

Page 13: Lee Oracle

When is a DBMS Relational? Foundational rules

Rule 0 : Foundational rule Rule 12 : Nonsubversion rule

Structural rulesRule 1 : Information representation Rule 6 : View updateing

Integrity rulesRule 3 : Systematic treatment of null values Rule 10 : Integrity independance

Data manipulation rulesRule2 : Guaranteed access Rule 4 : Dynamic online catalog based on the

relational modelRule5 : Comprehensive data sublanguage Rule7 : High-level insert, update, delete

Data independence rulesRule8 : Physical data independence Rule 9 : Logical data independenceRule11 : Distribution independence

Page 14: Lee Oracle

Entity-Relationship Modeling

Concepts of the E-R Modeling Entity Types

An object or concept that is identified by the enterprise as having an independent existence

AttributesA property of an entity or a relationship type

Relationship TypesA meaningful association among entity types

Page 15: Lee Oracle

Normalization A technique for producing a set of relations with desirable

properties, given the data requirements of an enterprise UNF is a table that contains one or more repeating groups

1NF is a relation in which the intersection of each row and column contains one and only one value

2NF is a relation that is in 1NF and every non-primary-key attribute is fully functionally dependent on the primary key.

3NF is a relation that is in 1NF, 2NF in which no non-primary-key attribute is transitively dependent on the primary key

BCNF is a relation in which every determinant is a candidate key

4NF is a relation that is in BCNF and contains no trivial multi-valued dependency

5NF is a relation that contains no join dependency

Page 16: Lee Oracle

Conceptual Database Design The process of constructing a model of the informatio

n used in an enterprise, independent of all physical considerations

Logical Database Design The process of constructing a model of the informatio

n used in an enterprise based on a specific data model, but independent of a particular DBMS and other physical considerations.

Physical Database Design The process of producing a description of the impleme

ntation of the database on secondary storage; it describes the storage structures and access methods used to archieve efficient access to the data

Page 17: Lee Oracle

Database Language

SQL 1974 - SEQUEL by D.Chamberlin (IBM) 1975 - SQUARE by Boyce (System R project) 1976 - SEQUEL/2 (SQL) by Chamberlin and Boyce) late 1970 - SQL(Oracle), QUEL(Ingres) 1982 - Relational Database Language(RDL) : ANSI 1987 - ISO standard 1989 - Integrity Enhancement Feature (ISO) 1992 - SQL2(SQL92) : ISO

Page 18: Lee Oracle

DML SELECT INSERT UPDATE DELETE

DDL CREATE(DROP) SCHEMA CREATE(ALTER, DROP) DOMAIN CREATE(ALTER, DROP) TABLE CREATE(DROP) VIEW CREATE(DROP) INDEX

Page 19: Lee Oracle

Advanced SQL View Integrity Enhancement Feature

Primary key Unique Foreign key

Access Control Embedded SQL Host Language Variables Application Programming Interface Dynamic SQL

Page 20: Lee Oracle

Part 2. Understanding Oracle Database

Overview of oracle Database Architecture

Memory Structure

Process Structure

Storage Structure

New Features

Page 21: Lee Oracle

Overview of Oracle Architecture

SGAShared SQL Area Database Buffer Cashe

KByte1,200,000 KByte

Redo LogBuffer

KByte2,100 KByte

PMON

LGWR

Data File Raw Device

Server

USERARCH

TL-812

Archive Log Mode(50M)

* Fixed Size : 70 Kbyte

* Variavle Size : 490 MByte

4,000,000 KByte

* Total SGA Size : 1700 Mbyte

DBW0 CKPT

SMON RECO D000 S000 P000

Page 22: Lee Oracle

Memory Structure : Shared Pool

Shared Pool

Library Cache

Shared SQL Area

PL/SQL Procedures

and Package

Control Structuresfor examples;

LocksLibraryCache handlesand so on ...

Dictionary Cache

Control Structuresfor example:

Character SetConversion MemoryNetwork Security Attributes

and so on ..

Shared Pool Contents - Text of the SQL or PL/SQL statement

- Parsed form of the SQL or PL/SQL statement - Execution plan for the SQL or PL/SQL statements - Data dictionary cache containing rows of data dictionary information Library Cache - shared SQL area - private SQL area - PL/SQL procedures and package - control structures : lock and library cache handles Dictionary Cache - names of all tables and views in the database - names and datatypes of columns in database tables - privileges of all Oracle users SHARED_POOL_SIZE

ReusableRuntimeMemory

Page 23: Lee Oracle

Memory Structure :Database Buffer Cache

Database Buffer Cache holds copies of data blocks read from disk All users concurrently connected to the system share access to the buffer cache Dirty List LRU List Size = DB_BLOCK_SIZE * DB_BLOCK_BUFFERS

SGAShared Pool

Shared SQL Area

Database Buffer Cache

Page 24: Lee Oracle

Memory Structure :Redo Log Buffer

Circular buffer containing information about changes made to the database save it redo entry Redo Entries is used when Database Recovery DBWR write contents of Redo Log Buffer to Online Redo Log LOG_BUFFER

change vector #1

change vector #1

change vector #1

redo record

Page 25: Lee Oracle

Oracle Processes

Snnn

Users

DBWR

SGA

Database Buffer Cache Redo Log Buffer

Data Files

Redo Log Files

Control Files

Offline Storage Device

Dedicated Server

Process

LCK0RECOPMONSMON

CKPTUser

Process

Dnnn

LGWR ARCH

SNPn

Pnnn

Page 26: Lee Oracle

Background Process

DBWR (Database Writer) - write all dirty buffers to datafiles - Use a LRU algorithm to keep most recently used blocks in memory - Defers write for I/O optimization

dirty list reaches a threshold length A process scnas a specifed number of buffer in the LRU without finding free buffer A time-out occurs DBWR checkpoint occurs

LGWR (Log Writer) - writes redo log entries to disk

Commit occurs The redo log buffers pool becomes one-third full DBWR completes cleaning the buffer blocks at a checkpoint LGWR time-out

- A commit confirmation is not issued until the tx has been recorded in the rego log file

Page 27: Lee Oracle

Cont’d

PMON (Process Monitor) - Cleans up abnormally terminated connection - Rolls back uncommited transactions - Releases locks held by a terminated process - Frees SGA resources allocated to the failed processes - Database maintenance

SMON (System Monitor) - Performs automatic instance recovery - Reclaims space used by temporary segments no longer in use - Merges contiguous area of free space in the datafile

Page 28: Lee Oracle

Cont’d

CKPT (Check Point) - is enabled by setting the parameter CHECKPOINT_PROCESS=TRUE - If enabled, take over LGWR’s task of updating files at a checkpoint - Updates header of datafiles and control files at the end of checkpoint - More frequent checkpoint reduce recovery time from instance failure - CKPT improve the performance of database with many database filesARCH (Archiver) - Copies redo log files to tape or disk for media failure - Operates only when a log switch occurs - Is optional and is only needed when in ARCHIVELOG mode - May write to a tape drive or to a diskLCKn (Lock), Dnnn (Dispatcher), Snnn (Server), RECO (Recover), Pnnn(Parallel), SNPn(Job Queue), QMNn(Queue Monitor),

Page 29: Lee Oracle

Server/User Process

User Processes - A user process is used when a user runs an application program - Runs the tool/application and is considered the client - Passes SQL to the server process and receives the results

Server Processes - A server process must place the data in the database buffer cache - Parce and execute SQL statements - Read data blocks from disk into the shred database buffers of the SGA - Return the results of SQL statements to the user process

Parse : check syntax, security access, object resolution, optimization Execute : applies the parse tree to the data, perform a physical read and cha

nge Fetch : Passes data to the user (only SELECT)

Page 30: Lee Oracle

Oracle Files

Datafile Redo Log Files Control Files Parameter File Archive File Log File (alert*.log, sqlnet.log, listener.log...) Trace File

Page 31: Lee Oracle

Storage Architecture

Physical storage structures Data files Segments Extents Blocks

Logical storage structures Tablespaces Tables / Clusters / Indexes Rows Columns

Page 32: Lee Oracle

Physical Storage Architecture

Relationship among Segments, Extents, and Blocks

Extent24K

2K2K2K2K2K2K2K2K2K2K

2K2K2K2K2K2K2K2K2K2K

2K2K2K2K2K2K2K2K2K2K

2K2K2K2K2K2K2K2K2K2K

2K2K

Extent72K

Segment96K

Database Blocks

Page 33: Lee Oracle

Logical Storage Architecture

Relationship between tablespaces and datafiles

USER TablespaceSystem Tablespace

Database

DATA3.ORADATA1.ORA DATA2.ORA

Page 34: Lee Oracle

Cont’d

Objects stored in tablespaces

Table Table

Table

INDEX

INDEX

INDEX

INDEX

INDEX

INDEXINDEX

INDEX

INDEX

INDEX

Tablespace (one or more datafiles)

Database Files(Physical structures associatedwith only one tablespace)

Objects(stored in tablespace mayspan serveral datafiles)

Page 35: Lee Oracle

Block

HeaderTable DictionaryRow Dictionary

Free Space

Row DataRow Data

General Block Information(Block add, Segment type)85 ~ 100 bytes

Table info in Cluster

Row info in Block

(2 byte per row)

using when New Row Insert or Update

(pctfree, pctused)

Table or Index Data

Page 36: Lee Oracle

PCTFREE / PCTUSED

PCTFREEPCTFREE

20%20% Free spaceFree space

PCTUSEDPCTUSED

PCTFREE = 20 PCTUSED = 40

61%61% Free spaceFree space

Insert new row until 80%

20% use when Update

Can insert new row when below 60% When Usage is below 40% (61% Free space), block is listed in FREELIST

Page 37: Lee Oracle

Extent

A set of contiguous database blocks within a datafile.Extent are allocated when.

- The segment is created (INITIAL EXTENT)- The segments grows (NEXT EXTENT)- The table is altered to allocate extents.

Extent are de-allocated when the - The segment is dropped and truncated.- The segment is larger than optimal and contains free extents

(for rollback segments only)

Each segment is created with at least on extend( initial extent ) ( Rollback segment : 2)

ALTER TABLE table_name DEALLOCATE UNUSED

Page 38: Lee Oracle

Segment

a set of one or more extents that contains all the data for a specific type of logical storage structure within a tablespace

Data Segment - A collection of extents that holds all of the data for a table or a cluster Index Segment

- A collection of extents that holds all of the index data for search optimization on large tables and clusters

Rollback Segment - A collection of extents that holds rollback data for rollback, read-consistency, or recovery

Temporary segment- A collection of extents that holds data belonging to temporary tables created during a sort operation

Bootstrap segment- An extent that contains dictionary definitions for dictionary tables to be loaded when the database is opened.

Page 39: Lee Oracle

Oracle8 New Feature

VLDB, WarehouseParallel DMLParallel Index ScansStar Query Optimization

OLTP

Objects

Advanced QueuingXA rewriteMemory reductionSerially reusable memoryNew OCI InterfaceImprove Function Performance

PartitioningParallel Backup/RecoveryIncremental BackupPoint-in-time Recovery

Object Relational DatabaseObject TypeObject View

Network ComputingSimple User IntegrationSimple MaintenanceSimple Development

Page 40: Lee Oracle

Oracle8i New Features

Data Warehousing OLTP

Application Development Security

Summary management Analytic function Hash and Composite Paritioning Resource Management Transportable tablespace Functional index, virtual column

Publish and subscribe capabilities Database event trigger Single table hash cluster Object type column in partition table Partitioned index-organized table Stable optimizer execution plans

Oracle Jserver, VM in Database Java stored procedure, function.. SQLJ: embedded SQL in Java WebDB

Virtual Private Database LDAP integration N-tier authentication/authorization SSL and X.509v3, RAIDUS support Data encrypt, decrypt

Page 41: Lee Oracle

Oracle 9i - The eBusiness Platform

Oracle9i continues Oracle8i's focus on the Internet by providing a series of specific capabilities and product bundles targeted at eBusiness environments. In addition, Oracle9i continues to add features and capabilities that extends existing investment in mission-critical infrastructure. Oracle9i has been designed with focus on certain key development areas.

Key Infrastructure Area Availability Scalability and Performance Security Development Platform Manageability Windows2000 Integration

Key Application Area Internet Contents Management B2B and B2C eBusiness Packaged Application Business Intelligence

Page 42: Lee Oracle

Oracle Client/Server Architecture

NETWORK

Server A

Server bClientApplication

Server/ServerClient/Server

Benefit of Client/Server Component - Database S/W work on Server - Minimize network resource - concurrency, consistency, transparency

- Only Server upgrade to increase size - Minimize Client H/W spec - concurrency, consistency, transparency

Page 43: Lee Oracle

SQL*Net

What is SQL*Net? - Oracle’s Client/Server middleware product - transparent connection from client tool to DB ( from on DB to another ) - works across multiple network protocol and operation systemWhat is TNS?

- Transparent Network Substrate - Oracle’s Network applications to access the underlying network protocols transparently - TNS-based application, Oracle Protocol Adapters, Network software like TCP/IP

Configuration File - TNSNAME.ORA ( Client ) - TNSNAV.ORA ( Client ) - SQLNET.ORA ( Client, Server ) - LISTENER.ORA ( Server )

Page 44: Lee Oracle

SQL*Net Configuration

TNSNAME.ORAinfo = (DESCRIPTION= (ADDRESS_LIST= (ADDRESS= (PROTOCOL=tcp) (HOST=brinfoa01) (PORT=1521) ) ) (CONNECT_DATA= (SID=BRBINFO1) ) )

LISTENER.ORALISTENER= (ADDRESS_LIST= (ADDRESS= (PROTOCOL=tcp) (HOST=brinfoa01) (PORT=1521) ) )SID_LIST_LISTENER= (SID_LIST= (SID_DESC= (SID_NAME=BRBINFO1) (ORACLE_HOME=/oracle7/oracle7) (ENVS='EPC_DISABLED=TRUE') ) )STARTUP_WAIT_TIME_LISTENER=0CONNECT_TIMEOUT_LISTENER=0LOG_DIRECTORY_LISTENER=/oracle7/oracle7/network/logLOG_FILE_LISTENER=listenerTRACE_LEVEL_LISTENER=OFF

SQLNET.ORA# SQLNET.EXPIRE_TIME = 0SQLNET.AUTHENTICATION_S

ERVICES=(none, beq)

Page 45: Lee Oracle

Net8

Networking Challenge Support large mission-critical

client/server, and provide migration path towards distributed object architecture

Net8 Focus1. Scalability : Connection Pooling, Multiplexing(Connection Manager)2. Manageability : Configuration-free installation option,

Centralized client administration, Automated client configuration3. Security : Oracle Security Server

Page 46: Lee Oracle

ODBC / oo4o / JDBC

ODBC (Open Database Connectivity ) - Provide a way for client program (eg VB, Excel, Access) to access database - is a standardized API, developed according to the specification of the SQL Access Group, than allows one to connect to SQL database

oo4o (Oracle Object for OLE) - a middleware product manufactured by Oracle that allows native access to Oracle7

databases from client applications via the Microsoft OLE standard - OLE 2.0 Automation Server, Oracle Data Control, Two C++ Class Library

JDBC (Java Database Connectivity ) - a set of classes and interfaces written in Java to allow other Java programs to send SQL statements to a relational database management system - JDBC Thin for Java applets, JDBC OCI for Java application


Recommended