You are on page 1of 177

Oracle

Outline

Oracle?
Oracle
Oracle
SQL*Plus
Oracle
ASPOracle

Oracle - 2

Outline

Oracle?
Oracle
Oracle
SQL*Plus
Oracle
ASPOracle

Oracle - 3

Oracle?

Oracle
Oracle
Oracle9i Server

Oracle - 4

Oracle

1977
Redwood Shores
90145

20002000531101

43
http://www.oracle.com/tw
http://otn.oracle.com

Oracle - 5

Oracle?

Oracle - 6

Oracle9i Server

Data Accessibility
Procedural Capabilities
Distributed Processing
Parallel Query
Enterprise Manager

Oracle - 7

Outline

Oracle?
Oracle
Oracle
SQL*Plus
Oracle
ASPOracle

Oracle - 8

Oracle

Oracle
Oracle

Oracle

Database instance
Database files

Oracle

Oracle - 9

Oracle

Oracle
Oracle

Oracle

Database instance
Database files

Oracle

Oracle - 10

Oracle

A database

B database

C database

A instance

B instance

C instance

Client ABC

Client DEF

Client GHI
Oracle - 11

Oracle

Oracle Instance
Instance
Instance
Process
DatabaseInstance
DBA

Oracle - 12

Oracle

Oracle

Oracle DBA
DBA (SYSSYSTEM)

Oracle InstanceTuning

Oracle - 13

Oracle

ClientSQLPLUS
User process
ProcessSQLServer
processServer process
ResultServer processparse
SQL
SGAData buffer
User process
Oracle - 14

PMON

LCKN

RECO

RECO

SGA
Shared Pool

Server

User

Database Buffer Cache Redo Log Buffer

DBWR CKPT

LGWR

ARCH

15

Oracle

Oracle
Oracle

Oracle

Database instance
Database files

Oracle

Oracle - 16

Oracle

Oracle instance

SGA
Oracle Process

Database files

Datafile
Redo log file
Archived file
Control file

Oracle - 17

Oracle

Oracle instance

Datafile 1

InitORA_DB.ora

Dataflie 2

Redo log file 1


Redo log file 2

Archived file 1
Archived file 2

Control file 1
Control file 2
Oracle - 18

Oracle

Oracle
Oracle

Oracle

Database instance
Data files

Oracle

Oracle - 19

Database instance

Oracle instance
ClientServer

( SGA, System
Global Area )
Server Client
Background process
Oracle instance

Oracle - 20

Oracle Instance
SGA
Shared Pool

Database Buffer Cache Redo Log Buffer

Oracle processes
Oracle - 21

Mount

Oracle instanceOracle
instance
mountmount
session

Oracle - 22

System Global Area (SGA)

Oracle

System Global Area (SGA)


SGA Background Process (
)Oracle Instance ()

Oracle - 23

System Global Area (SGA)

SGAShared PoolDatabase
Buffer CacheRedo Log Buffer

Shared Pool
Database Buffer Cache
Redo Log Buffer

Oracle - 24

Shared Pool

Shared Pool Library Cache


Dictionary Cache(control
structures)
SQLOracle
(parse)

(parse treeexecution plan)

Oracle - 25

Library Cache

Library CacheShared SQL Area


Private SQL AreaPL/SQL
(Control structures)

Library Cache
SQLPL/SQLSQL
CompileSQL parse tree

Oracle - 26

Data Dictionary Cache

Data Dictionary Cache

(User Process)
Oracle9iSQL

Oracle - 27

Database Buffer Cache

SQL
CacheOracle
Database Buffer Cache
I/O
Cache

Oracle - 28

Redo Log Buffer

Redo log buffer


Redo log file

Redo Log Buffer


Oracle
Redo Log Buffer
Oracle
Oracle - 29

Process()

OracleProcess

User Process

Oracle tools code Application

Oracle Process

Oracle server code Server process


Background process

Oracle - 30

User Process

SQL
Pro*COracle
ToolsSQL*plusOracle Form
Oracle User Process

Oracle - 31

Oracle Process

Oracle Process

Server Process
Background Process

Oracle - 32

Server Process

Server Process
User Process(request)
OracleUser Process
Server ProcessServer
ProcessUser Process
SQLUser Process

Oracle - 33

Server Process

(1)Parse()SQL
(2)DatafileData block()

Oracle

Oracle - 34

Background process

Background process
Server process
Background Process
ServerProcess
Oracle

(Shutdown)

Oracle - 35


(Background process)

(DBWR)
(LGWR)
(ARCH)
(CKPT)
(SMON)
(PMON)
(RECO)
Oracle - 36

CKPT

DBWR LGWR

PMON ARCH
SMON

Oracle - 37

(DBWR)

Oracle

(SGA)DBWR
DBWR

(Dirty Buffer)Data fileDBWR


Buffer cacheDatafile

DBWR
Oracle - 38

(LGWR)

LGWR (Log Writer)


(Commit)
LGWR

Redo Entries

OracleRedo EntriesRedo Log Buffer

CommitLGWR
Redo EntriesRedo Log Buffer

Oracle - 39

(ARCH)

ARCHLGWR

ARCH
(Offline Redo Log)
Oracle

Oracle - 40

(CKPT)

DBWRCKPT
CKPTDBWR
(Data Blocks)(Database
Buffer Cache)(Data File)
CKPTDBWR

CKPTCommit

Oracle - 41

(SMON)

SMON

Crash Recovery
Oracle
(System Monitor)

SMON

Oracle - 42

(PMON)

Process
Monitor (PMON)Client
User Process

Oracle - 43

(RECO)

Oracle

OracleRecover (RECO)

(Distributed
Transaction)

Oracle - 44

Oracle

Oracle
Oracle

Oracle

Database instance
Database files

Oracle

Oracle - 45

Database Files

DataFile
Redo Log File
Archived File
Control File

Oracle - 46

DataFile()

Oracle
(Data File)
(Database)

(Table)
(Index)
(Data Files)
Datafile
Oracle - 47

Redo Log Files


()

(Transaction)

Commit()Oracle
(Transaction)
Redo Log FileCommit
Oracle
Commit
Oracle - 48

Redo Log Files


()

Redo Log File


Mirror
Crash
OracleRedo Log File
Redo Log Files
Redo Log FileRedo
Log File
Redo Log File
Oracle - 49

Archived Files

Archived
Redo log fileRedo
log fileOracleLog
Archived file
Open

Oracle - 50

Archived Files
Redo log file 1

Redo log file 2

Redo log file 3

Log switching

Archived file 1
Redo log file 2
Redo log file 3
Oracle - 51

Control Files()

Control File

(Database Name)
(Data File)(Redo Log Files)

Control file

Oracle - 52

Oracle

Oracle
Oracle

Oracle

Database instance
Database files

Oracle

Oracle - 53

Oracle

Tablespace

Data Block
Extent
Segment
Schema objects

Oracle - 54

Tablespace

Tablespace
system
TablespaceTablespace
Database
ProceduresFunctionsPackagesTriggers
SYSTEM

Oracle - 55

Tablespace

TablespaceData File
Data File
DBA
Tablespace
ORACLESYSTEM

Oracle - 56

Tablespace?

OracleDBA
TablespaceOffline(
)
TablespaceObject(Table)
DBA

Oracle - 57

Tablespace

Database

Tablespace 1
(System tablespace)

Tablespace 2
(User tablespace)

Tablespace 3
(User tablespace)

Oracle - 58

ORACLE
(Table)
(View)

(Privilege)(Role)
(Schema)TableView
SnapshotIndexClusterSequenceProcedure
FunctionPackageTrigger

Oracle - 59

(Integrity constraint)

(Audit)

SQL

Oracle - 60

(Table)
(View)
(Base Table)

ORACLEORACLE

Oracle - 61

(User Accessible
Views)


ORACLESYS

Oracle - 62

ORACLE

(Default Tablespace)

Oracle - 63

ORACLESQL
(View)
ORACLE
SYSTEM (Tablespace)

(Prefix)

Oracle - 64

PrefixUSER

(Prefix)USER

SQL> SELECT
TABLE_NAME,TABLESPACE_NAME
2 FROM USER_TABLES;

Oracle - 65

PrefixALL

ALL

SQL

SQL> SELECT TABLE_NAME, TABLESPACE_NAME


2 FROM ALL_TABLES;

Oracle - 66

PrefixDBA

DBA

DBA
DBA(SYSSYSTEM)
SYS

DBA
SQL> SELECT TABLE_NAME, TABLESPACE_NAME
2 FROM SYS.DBA_TABLES;

Oracle - 67

Data Block

Data block OracleI/O

Data block
DB_BLOCK_SIZEO.S.
blocks

Oracle - 68

Extent

Data blockExtent

Table
Oracle9i
Extent

Oracle - 69

Segment

ExtentSegment
Segment
ObjectTable
segmentIndex segment

Oracle - 70

Schema objects

OracleSchema
PeterPeter
Schema
Schema objects

Table
View
Synonym
Sequence
Index
Oracle - 71


Archived file

Physical

Data file 1

Data file 2

Tablespace 1

Data file 3

Logical

Control file

Redo log file

Tablespace 2

Schema objects
A table

B table

A table's
index

One segment

One segment

One segment

Many extents

Many extents

Many extents

Many blocks

Many blocks

Many blocks

Oracle - 72

Outline

Oracle?
Oracle
Oracle
SQL*Plus
Oracle
ASPOracle

Oracle - 73

Oracle

Net Service

Oracle - 74

Oracle

90
80
70
60
50
40
30
20
10
0

Oracle - 75

Dedicated server process


()

Oracle

Oracle serverClientUser
processDedicated server process

Oracle - 76

Dedicated server process

Server
process

Oracle - 77

MTS

User processDispatcher
DispatcherCommon
queueServer processshared pool
idle shared processqueue

server

Oracle - 78

Multi-threaded server

Oracle - 79

OracleNet service

Net serviceOracle

Net serviceOracle

(Transparent)
(TNS, Transparent Network
Substrate)
(API)
Oracle - 80

Net service

Net Service

Net Service

TNS

Oracle - 81

Outline

Oracle?
Oracle
Oracle
SQL*Plus
Oracle
ASPOracle

Oracle - 82

SQL*Plus

SQL*Plus
SQL*Plus
SQL

Oracle - 83

SQL*Plus

SQL

SQL*PlusOracleSQL

SQLOracle

ANSIISOSQL

SQL*Plus

Oracle - 84

SQL*Plus

GUI

Oracle - 85

SQL*Plus

Oracle - 86

SQL*Plus

Oracle - 87

Oracle - 88

Oracle

internal

Oracle

Administrator
sys

scott

tiger

Oracle
connectresource
empdeptsalgradebouns

sys
system

change_on_install Administrator
manager

Administrator
Oracle - 89

SQL

Describe (DESC)

describe

Oracle - 90

SQL

Save

save
.sql

Oracle - 91

SQL

Get

Get

Start

Start
SQL
:

Oracle - 92

Outline

Oracle?
Oracle
Oracle
SQL*Plus
Oracle
ASPOracle

Oracle - 93

oracle

Instance management
Schema management
Security management
Storage management

Oracle - 94

Oracle - 95

oracle

Instance management
Schema management
Security management
Storage management

Oracle - 96

Oracle - 97

Oracle - 98

Oracle - 99

Oracle - 100

Oracle - 101

Oracle - 102

Oracle - 103

oracle

Instance management
Schema management
Security management
Storage management

Oracle - 104

General

Oracle - 105

Memory

Oracle - 106

Recovery

Oracle - 107

oracle

Instance management
Schema management
Security management
Storage management

Oracle - 108

Schema management

Tablespace
Table
View
Synonym
Sequence
Index

Oracle - 109

Tablespace

Oracle - 110

CREATE TABLESPACE <>


DATAFILE <> SIZE <>
[ DEFAULT STORAGE <> ]
[ { ONLINE | OFFLINE } ]

DATAFILE <>

DEFAULT STORAGE <>


<>
INITIAL <>
NEXT <>
MINEXTENTS <>
MAXEXTENTS <>
PCTINCREASE <>
Oracle - 111

MY_SPACE20M
10K50K
10%
999

112

TablespaceDatafile

Oracle - 113

ALTER TABLESPACE <>


[ ADD DATAFILE <> SIZE <> ]
[ RENAME DATAFILE <> TO <> ]
[ DEFAULT STORAGE <> ]
[ {ONLINE | OFFLINE } ]
[ {BEGIN | END } BACKUP ]

DATAFILE

(Online)(Offline)

Oracle - 114

MY_SPACE20M

115

DROP TABLESPACE <>


[ INCLUDING CONTENTS
[CASCADE CONSTRAINTS] ]

INCLUDING CONTENTS

CASCADE CONSTRAINTS

Oracle - 116

Table

OracleTable
Table
RowColumn

Table
Tablerecord

Oracle - 117

TableColumn

CREATE TABLE

$ # _

ORACLE

Oracle - 118

Oracle

CHAR(n)

n12,000

VARCHAR2(n) n14,000
VARCHAR(n)

VARCHAR2(n)VARCHAR2(n)

NUMBER(p,s) p ; d

RAW(n)

n12000(bytes)

DATE

471211
99991231
DD-MM-YY20-10-01

LONG

2GBLONG
SELECTUPDATE SET
INSERT VALUES

ROWID

(ROW)

Oracle - 119

CREATE TABLE <>


<1><>[NULL|NOT NULL],
<2><>[NULL|NOT NULL],

Oracle - 120

Example

Oracle - 121

View ()

View()SQL

View View

ViewTableView

Oracle - 122

View ()

View
Oracle - 123

View

CREATE VIEW <> [<>]


AS SELECT
[WITH CHECK OPTION];

<>
SELECT
[WITH CHECK OPTION]
Selectwhere

Oracle - 124

View

DROP VIEW <>;


(VIEW)SALESMAN
SQL> DROP VIEW SALESMAN;

Oracle - 125

Synonym()

Public()DBA

Private()

SCOTT.EMP -> S_EMP

SCOTT.EMP@CDRW.CSE.NSYSU.EDU.TW -> R_EMP

Oracle - 126

CREATE [PUBLIC] SYNONYM <>


FOR [<>.] <>;

SCOTTEMPEMPLOYEE
SQL> CREATE SYNONYM EMPLOYEE
2
FOR SCOTT.EMP;

Oracle - 127

DROP [PUBLIC] SYNONYM


<> ;

EMPLOYEE
SQL> DROP SYNONYM EMPLOYEE;

Oracle - 128

Sequence()

ORACLE

ORACLE(SEQUENCES)

(Counter)

CREATE SEQUENCE sequence_name


[]

Oracle - 129

Sequence

ORACLE
20

sequence_name.CURRVAL
sequence_name.NEXTVAL

Oracle - 130

INCREMENT BY x

xx0

MINVALUE x

NOMINVALUE

MAXVALUE x

NOMAXVALUE

STARWITH x

CYCLE

CACHE x

NOCACHE

ORDER

Oracle - 131

Example

(SEQUENCE) s_emp_id
SQL> CREATE SEQUENCE s_emp_id
2 MINVALUE 1
3 MAXVALUE 9999999
4 INCREMENT BY 1
5 START WITH 26
6 NOCACHE
7 NOORDER
8 NOCYCLE;

Oracle - 132

Index ()

(Unique)

OracleB+-Tree

Oracle - 133

Index

CREATE [UNIQUE] INDEX <>


ON <> ( <> [ASC/DESC]
[ , <>[ASC/DESC]] );

<>
ORACLE
[UNIQUE]
()
SQL
ORACLE

Oracle - 134

Index()

ORACLE

YES
NO

Oracle - 135

Index()

Oracle - 136

Index()

CREATE INDEX

ORACLE

Oracle - 137

Index()

Oracle - 138

oracle

Instance management
Schema management
Security management
Storage management

Oracle - 139

ORACLE

ORACLE

(Audit)

(View)

Oracle - 140

(Privilege)

ORACLE

(System Privilege)
(Object Privilege)

Oracle - 141

(System Privilege)

UserRole

ADMIN OPTIONGRANT
ANY PRIVILEGE
UserRole

ORACLE
GRANTREVOKE

Oracle - 142

(Object Privilege)

Oracle - 143

(User)

quota

(Privilege)

Oracle - 144

(CREATE USER
)
CREATE USER <>
IDENTIFIED BY <>
[ DEFAULT TABLESPACE <> ]
[ TEMPORARY TABLESPACE <> ]
[ QUOTA <> ON <> ]

DEFAULT TABLESPACE
TEMPORARY TABLESPACE
QUOTA

Oracle - 145

GUEST
MY_SPACE
TEMP

146

ALTER USER <>


IDENTIFIED BY <>
[ DEFAULT TABLESPACE <> ]
[ TEMPORARY TABLESPACE <> ]
[ QUOTA <> ON <> ]

ALTER USER

Oracle - 147

GUEST
USERS

148

(DROP USER
)
DROP USER <>
[ CASCADE ]

CASCADE

Oracle - 149

GUEST

150

(Role)

ORACLE

ORACLE

Oracle - 151

(Role)

ORACLEDBASYS
SYSTEMADMIN OPTION
DBA

CONNECTCREATE
SESSIONORACLE
RESOURCE

Base TableviewindexClusterSequence

Oracle - 152

(CREATE ROLE
)
CREATE ROLE <>
[ IDENTIFIED BY ]

IDENTIFIED BY
SET ROLE

Oracle - 153

TESTROLE

154

ALTER ROLE <>


[ IDENTIFIED BY ]

ALTER ROLE
ADMIN OPTION

Oracle - 155

STUDENTS

156

DROP ROLE <>

DROP ROLE
ADMIN OPTION

Oracle - 157

TESTROLE

158

GRANT

GRANT ANY PRIVILEGE


ADMIN OPTION

GRANT ANY ROLE


ADMIN OPTION

GRANT {|} TO {|| PUBLIC } [WITH


ADMIN OPTION]

Oracle - 159

SYSTEMALTER
ANY TABLE
STUDENTSSTUDENTS

160

REVOKE

GRANT ANY PRIVILEGE


ADMIN OPTION
GRANT ANY ROLE
ADMIN OPTION

REVOKE {|} FROM {|| PUBLIC }

Oracle - 161

SYSTEM
STUDENTSCREATE SESSION
CREATE TABLE

162

oracle

Instance management
Schema management
Security management
Storage management

Oracle - 163

Storage management

Storage management
Control fileArchived file
DatafileTablespaceRedo
log file
Storage management

Oracle - 164

Storage management

Oracle - 165

Storage management

Oracle - 166

oracle

Instance management
Schema management
Security management
Storage management

Oracle - 167

Oracle

RMAN (Recovery Manager)

Online

Oracle - 168

RMAN

Database

Oracle - 169

Oracle - 170

Restore & Recover

Oracle - 171

Outline

Oracle?
Oracle
Oracle
SQL*Plus
Oracle
ASPOracle

Oracle - 172

Example

Oracle ODBC ora9012.exe

Oracle - 173

Oracle ODBC

Oracle - 174

ODBC
ODBC

database

ID

Oracle - 175

ASP

<html>
<body>
<% set conn=server.createobject("adodb.connection")
Conn.Open "Provider=OraOLEDB.Oracle;Persist Security Info=False;" &_
"User ID=scott;Password=tiger;Data Source=test"
SQL="select ename,job from emp"
set rs=conn.execute(SQL)
%>

<%do while not rs.eof%>


<table>
<tr>
<td><%=rs("ename")%></td>
<td><%=rs("job")%></td>
</tr>
</table>
<%
rs.movenext
loop
%>
</body>
</html>
Oracle - 176

Oracle - 177

You might also like