Académique Documents
Professionnel Documents
Culture Documents
Admin BDOracle
Admin BDOracle
1. Introduction
G. Mopolo-Mok
prof. MBDS / UNSA NICE
2005/ 2006
Page
Copyright G. Mopolo-Mok
2. Architecture dOracle
Page
Copyright G. Mopolo-Mok
Page
Copyright G. Mopolo-Mok
Plan Gnral
Plan Gnral
5.1 Gnralits
5.2 Les Privilges
5.3 Les rles
5.4 Les profiles
5.5 Les utilisateurs
5.6 L'audit
6 Sauvegarde et restauration
6.1 Gnralits
6.2 Sauvegarde en Noarchivelog
Page
Copyright G. Mopolo-Mok
Plan Gnral
Plan Gnral
8. Loption procdurale
8.1 Gnralits
8.2 Procdures et fonctions
7.2 Sqlloader
7.3 Sqlplus
7.4 Les NLS
7.5 Oracle Entreprise Manager(OEM)
7.5.1 Objectifs
7.5.2 Rappel sur les outils d'administration Oracle
7.5.3 L'Architecture de OEM
7.5.4 Les composants OEM
Page
Copyright G. Mopolo-Mok
Page
Page
Plan
Gnrailits
Les chemins daccs
Les mthodes daccs
Les outils
Loptimiseur statistique
10. Exercices
11. Annexes
1. Introduction
Plan Gnral
Copyright G. Mopolo-Mok
Copyright G. Mopolo-Mok
Page
Copyright G. Mopolo-Mok
Page
Copyright G. Mopolo-Mok
Page 10
LOffre Oracle
Conception dapplications
Designer :
- case designer
- case dictionary
- case generator
Progiciels
Oracle General Ledger
Oracle Purchasing
Oracle Payables
Oracle Assets
Oracle Media
Object
Page 11
Administration
et interconnexion
. Administration :
sqlloader,
Sqlplus,
import/export,
Entreprise Manager
. Interconnexion :
Sqlnet,
Sqlconnect,
Oracle Gateway
IIOP (ORB)
Developper :
. Forms,reports,Graphics, .
. Programmer :
. pro*C/C++, Pro*Cobol, ...
Autres :
. SQLJ,Jdevelopper, Webdb,...
Copyright G. Mopolo-Mok
Outils de DWH
. Oracle Application
Server
Discover
Express
Darwin
Outils Groupware et
Multimdia
Oracle office
Context
Oracle mail
Copyright G. Mopolo-Mok
Dveloppement
d''applications
Page 12
Copyright G. Mopolo-Mok
Oracle cluster
accs une mme base par des machines en cluster
accs par plusieurs instances aux donnes d'une mme
base
pas de partage de la mmoire central
Architecture multithread
Oracle Replication
Option distribue
une SGA
des process tche de fond
un process serveur par process utilisateur
Machine virtuelle java
ORB(Object Request Brocker) intgr
Sqlnet
une SGA
des process tche de fond
un process serveur pour plusieurs process utilisateurs
Machine virtuelle java
ORB(Object Request Brocker) intgr
partir de SQLNET
Copyright G. Mopolo-Mok
Page 14
JAVA VM
Cartouches
de donnes
Copyright G. Mopolo-Mok
SQL
PL/SQL
SERVER MULTITHREAD
Page 15
Copyright G. Mopolo-Mok
Objet Relationnel
Relationnel
Disques
Page 16
Copyright G. Mopolo-Mok
2. Architecture dOracle
Plan
Reprsentation schmatique
Process utilisateur
Process utilisateur
Listener
Serveur ddi
Request queue
Dispatchers
Q1
Serveurs partags
JAVA POOL
DATABASE BUFFER
CACHE
RECO
Page 18
CKPT
SGA
Copyright G. Mopolo-Mok
Fichiers d'archives
PGA
Stack
Dispatcher
PGA
Stack Session utilisateur Etat des curseurs
ARCH
Large Pool
Java Pool
LGWR
Principales composantes :
BACKGROUND PROCESS
Database Buffer
Fichiers de contrles
PMON
Fichiers de donnes
Copyright G. Mopolo-Mok
Q2
SHARED POOL AREA (requtes SQL, procdures stockes,
cache du dictionnaire)
SMON
DBWx
Page 17
Response queue
Serveurs partags
Utilisateur
SERVEUR DEDIE
Page 19
Utilisateur
Utilisateur
SERVEUR MULTITHREAD
Copyright G. Mopolo-Mok
Page 20
Copyright G. Mopolo-Mok
2.4 La SGA
2.4 La SGA
Buffers de donnes
Zone de chargement et de mise jour en mmoire des
blocs de donnes (blocs les plus rcemment utiliss)
Ces blocs proviennent des fichiers de donnes
Les blocs concerns peuvent tre :
Large Pool
Java Pool
Shared Pool Area(zone
Des requtes partages)
Page 21
SGA
Copyright G. Mopolo-Mok
Page 22
2.4 La SGA
2.4 La SGA
Copyright G. Mopolo-Mok
Copyright G. Mopolo-Mok
Page 24
Copyright G. Mopolo-Mok
2.4 La SGA
2.4 La SGA
Physical read
R= 1 - ------------------------------------db block gets + consistent gets
Physical read : nombre de lecture sur disque
db block gets + consistent gets : nombre total de
lecture sur disque ou en mmoire.
Large Pool
Java Pool
Shared Pool Area(zone
Des requtes partages)
SGA
Name
db block gets
consistent gets
physical reads
Value
85792
278888
13182
FICHIERS DE DONNEES
Page 25
Copyright G. Mopolo-Mok
Page 26
2.4 La SGA
Copyright G. Mopolo-Mok
2.4 La SGA
Page 27
Copyright G. Mopolo-Mok
Page 28
Copyright G. Mopolo-Mok
2.4 La SGA
2.4 La SGA
LOG_BUFFER
Large Pool
Java Pool
Shared Pool Area(zone
Des requtes partages)
SGA
name :
value :
nom de la statistique
valeur de la statistique
interprtation
Si value est trs proche de 0 alors OK
Si value croit souvent alors il y a attente : augmenter
LOG_BUFFER par palier de 5%
Fichier de donnes
Page 29
Copyright G. Mopolo-Mok
FICHIERS REDO
Page 30
2.4 La SGA
2.4 La SGA
Copyright G. Mopolo-Mok
Large Pool
Java POOL
Zone de mmoire ncessaire pour la machine virtuelle
Java intgr dans Oracle
java_pool_size=33554432
Large_pool_size=valeur
Page 31
Copyright G. Mopolo-Mok
Page 32
Copyright G. Mopolo-Mok
2.5 La PGA
2.5 La PGA
SERVEUR MULTITHREAD
PGA
PGA
stack space
Informations
de session
stack space
SGA
SGA
informations
de session
Copyright G. Mopolo-Mok
Page 34
2.5 La PGA
SORT_AREA_RETAINED_SIZE (exprime
en byte, 0 min, Sort_area_size par dfaut et max)
: espace ne pas librer en cas d'criture dans le
segment temporaire
PGA_AGGREGATE_TARGET
Page 35
Copyright G. Mopolo-Mok
sort_area_size
hash_area_size
bitmap_merge_area_size and create_bitmap_area_size
Copyright G. Mopolo-Mok
Page 36
Copyright G. Mopolo-Mok
Trois approches
Serveur Multithread
Architecture
Process utilisateur 1
Process utilisateur N
Code
Applicatif
Code
Applicatif
Code du serveur
Oracle
Code du serveur
Oracle
Page 37
Copyright G. Mopolo-Mok
Page 38
Serveur ddi
Copyright G. Mopolo-Mok
Serveur Multithread
Permet une meilleure exploitation des ressources
SQL*NET V2 au moins est un pr requis
Process utilisateur
Listener
Process utilisateur
Serveur ddi
Process utilisateur 1
Process utilisateur
n
Code
Applicatif
Code
Applicatif
Dispatchers
Response queue
Q1
Serveurs partags
Q2
Autres Zones
Request queue
Code du serveur
Oracle
DATABASE BUFFER
CACHE
Page 39
Copyright G. Mopolo-Mok
Page 40
Copyright G. Mopolo-Mok
Process Oracle
Les process tches de fond (SMON, PMON, LGWR,
DBWR, CKPT, ARCH, RECO, ...)
Les process serveurs
autres process
Page 41
Copyright G. Mopolo-Mok
Page 42
Copyright G. Mopolo-Mok
Buffer de donnes
SGA
Process
serveur ddi
Fichier de donnes
Page 43
Copyright G. Mopolo-Mok
Page 44
Copyright G. Mopolo-Mok
si le TIMEOUT a t atteint
(LOG_CHECKPOINT_TIMEOUT : 0 par dfaut)
si la fin d'un groupe de fichiers Redo log est atteint
si une taille correspondant
LOG_CHECKPOINT_INTERVAL (en blocs OS) a t
crite dans le fichier REDO LOG
si les commandes suivantes sont passes :
Si un COMMIT t pass
Sur un time out toute les 3 secondes
Si le buffer REDO LOG est plein au 1/3
quand DBWR libre des blocs de donnes du buffer de
donnes(en cas de TIMEOUT ou de checkpoint)
Optimisation
activer le process CHECKPOINT (CKPT)
Optimisation
Favoriser le recouvrement ou les performances en
dimensionnant mieux
LOG_CHECKPOINT_INTERVAL et
LOG_CHECKPOINT_TIMEOUT
Page 45
Copyright G. Mopolo-Mok
Page 46
Copyright G. Mopolo-Mok
Le Process ARCH
sauvegarde le fichier REDO LOG lorsqu'il est plein
Page 47
Copyright G. Mopolo-Mok
Page 48
Copyright G. Mopolo-Mok
Le Process ARCH
log_archive_format = %t_%s.arc
ou t : THREAD, s : Squence number
log_archive_duplex_dest : destination alternative
jusqu la version 8 dOracle
log_archive_min_succeed_dest=1 5 depuis la
version (1 2 avant).Ce paramtre indique le nombre de
copie faire lors de larchivage dun fichier Redo log
log_archive_dest_state_n (n de 1 10) = enable ou
Defer. Permet de grer ltat dune destination de
sauvegarde log_archive_dest_n
log_archive_dest_n (n de 1
10)=/backup/DB1/COURSarch
standby_archive_dest : destination des archives pour
une base en Standy
Page 49
Copyright G. Mopolo-Mok
System Monitor(SMON)
Page 50
Recover (RECO)
Sert uniquement si option distribue
termine les transactions distribues en suspens d
une erreur rseau ou systme
se rveille par intervalles rguliers pour finir ou
annuler des transactions suspendues
Dispatcher (Dnnn)
LOCK (LCKn)
Page 51
Copyright G. Mopolo-Mok
Copyright G. Mopolo-Mok
Page 52
Copyright G. Mopolo-Mok
UPDATE
NON
OUI
2.
Verrouillage exclusif des lignes modifier
Donne en modification ?
OUI
NON
3.
Modification des donnes dans le buffer de donnes
Donne valide ?
NON
OUI
4.
L'tat avant est mis dans le Rollback Segment
Lecture dans le
buffer ou fichiers
de donnes
Lecture dans le
RBS
5.
L'tat avant et aprs est mis dans le buffer Redo Log
Page 53
Copyright G. Mopolo-Mok
Page 54
COMMIT
Le contenu du buffer Redo Log est trac dans le fichier Redo Log
par le process LGWR
Les donnes valides sont considres comme tant "Propres"
L'utilisateur reoit le message "COMMIT COMPLETED"
ROLLBACK
Un enregistrement contenant le ROLLBACK est crit dans le buffer
Redo Log par le process Serveur
Le contenu du buffer Redo Log est trac dans le fichier Redo Log
par le process LGWR
Copyright G. Mopolo-Mok
Plan
Page 55
Copyright G. Mopolo-Mok
Page 56
Copyright G. Mopolo-Mok
Installation
Page 57
Copyright G. Mopolo-Mok
Page 58
Installation
Copyright G. Mopolo-Mok
Copyright G. Mopolo-Mok
Page 60
Copyright G. Mopolo-Mok
BASE FERMEE
NOMOUNT
. Instance monte
. Utilisation : cration d'une base, crer un fichier de contrle
MOUNT
. Instance dmarre et fichiers de contrle ouverts
. Utilisation : tches de maintenance tels que renommer les fichers (donnes, rdos, ...),
activer/dsactiver le mode avec archive, recouvrer les donnes, ...
OPEN
. Instance dmarre fichiers de contrle et de donnes ouverts
. Utilisation : mode de fonctionnement normal
Activation
OS_ROLE = TRUE # dans init.ora
ORA_SID_ROLE_D(default)/A(with admin option)
nom d'un groupe dans le fichier /etc/group
Exemple
ORA_COURS_OSOPER_D :none:3:clement
ORA_COURS_OSDBA_A:mopolo, miranda
Page 61
Copyright G. Mopolo-Mok
Page 62
Copyright G. Mopolo-Mok
# Configuration du fichier
control_files=("C:\oracle\oradata\DBTEST\CONTROL01.CTL",
"C:\oracle\oradata\DBTEST\CONTROL02.CTL",
"C:\oracle\oradata\DBTEST\CONTROL03.CTL")
# Diagnostics et statistiques
background_dump_dest=C:\oracle\admin\DBTEST\bdump
core_dump_dest=C:\oracle\admin\DBTEST\cdump
timed_statistics=TRUE
user_dump_dest=C:\oracle\admin\DBTEST\udump
# Divers
compatible=9.0.0
db_name=DBTEST
# Inscription rseau
instance_name=DBTEST
Page 63
Copyright G. Mopolo-Mok
Page 64
Copyright G. Mopolo-Mok
1. Dmarrer lassistant
start->programme->OracleHome->Configuration and
Migration Tools->Database Configuration Assistant
2. Choisir crer une base
3. Choisir un template (modle) de base
4. Donner le nom global de la base (exemple
DBTEST.CERAM.FR) ainsi que le SID (DBTEST)
5. Slectionner le mode de dploiement de la base (mode
ddi) ou (mode serveurs multithreads)
6. Fixer la taille de la SGA(buffer cache, shared pool,
large pool, java pool)
7. slectionner le mode darchivage de la base
(Archivelog ou noarchivelog).Localiser les fichiers
darchive
8. Fixer la taille maximale de la zone de tri ainsi que les
caractres sets
9. Localiser les fichiers de contrles, de donnes et redo
log
10. Modifier tout moment les paramtres ditialisation
supplmentaires et dmarrer la cration de la base
# MTS
dispatchers="(PROTOCOL=TCP)(SER=MODOSE)",
"(PROTOCOL=TCP)(PRE=oracle.aurora.server.GiopServer)",
"(PROTOCOL=TCP)(PRE=oracle.aurora.server.SGiopServer)"
# Pools
java_pool_size=33554432
large_pool_size=1048576
shared_pool_size=33554432
# Processus et sessions
processes=150
Page 65
Copyright G. Mopolo-Mok
Page 66
Copyright G. Mopolo-Mok
Syntaxe gnrale
Copyright G. Mopolo-Mok
Page 68
Copyright G. Mopolo-Mok
Syntaxe gnrale
logFileSpec ::=
ClauseAutoExtend ::=
{OFF | ON [NEXT entier [K | M]]
[MAXISZE {UNLIMITED | entier
[K|M]}] }
default_temp_tablespace::=
[DEFAULT TEMPORARY TABLESPACE tablespace
[TEMPFILE filespec] temp_tablespace_extent_clause]
temp_tablespace_extent::=
EXTENT MANAGEMENT LOCAL UNIFORM SIZE
integer [K | M]
[undo_tablespace_clause::= UNDO TABLESPACE
tablespace
[DATAFILE filespec1 [autoextend_clause1], ]]
Page 69
Copyright G. Mopolo-Mok
Mot cl
ou paramtre
nombase
LOGFILE
GROUP entier
MAXLOGFILES entier
16 (255)*
MAXLOGMEMBERS
entier
2 (5)*
MAXLOGHISTORY
30(65533)*
63 (63)*
NOARCHIVELOG |
ARCHIVELOG
CHARACTER SET
us7ascii
Default (Max)
Copyright G. Mopolo-Mok
Copyright G. Mopolo-Mok
Page 71
Default (Max)
Mot cl
Description
ou paramtre
default_temp_tablespace
permet de dfinir le TS
temporaire par dfaut.
Description
Page 72
Copyright G. Mopolo-Mok
Les paramtres
Page 73
Copyright G. Mopolo-Mok
Page 74
Procdure Gnrale
FORCE
PFILE
OPEN
MOUNT
Copyright G. Mopolo-Mok
Syntaxe de la commande
STARTUP [FORCE]
[RESTRICT] [PFILE=fich_param]
[OPEN | MOUNT | NOMOUNT]
Copyright G. Mopolo-Mok
Page 76
Copyright G. Mopolo-Mok
Exemple
Procdure Gnrale
Lancer SQLPLUS
$sqlplus
username : sys as sysdba password : manager
Syntaxe de la commande
SHUTDOWN [NORMAL | IMMEDIATE | ABORT |
TRANSACTIONAL]
NORMAL
attend la dconnexion de l'ensemble des utilisateurs
IMMEDIATE
Invalide les transactions en cours et dconnecte les users
ABORT
Arrt violent de l'instance (recouvrement utile : SMON)
Page 77
Copyright G. Mopolo-Mok
TRANSACTIONAL
Contrairement IMMEDIATE, laisse finir les transactions en
cours
Page 78
Exemple
Lancer SQL
$SQL
username : sys as sysdba
Copyright G. Mopolo-Mok
password : manager
Page 79
Copyright G. Mopolo-Mok
NOTE :
Le mode QUIESCE peut tre aussi obtenu en dmarrant la
base en mode RESTRICTED SESSION
Seul les utilisateur SYS et SYSTEM peuvent activer ce
mode
Page 80
Copyright G. Mopolo-Mok
Page 81
Copyright G. Mopolo-Mok
Page 82
Contenu du dictionnaire
Copyright G. Mopolo-Mok
PLAN
4.1 Structure Physique d'une Base de Donnes Oracle
Page 83
Copyright G. Mopolo-Mok
Page 84
Copyright G. Mopolo-Mok
Process
Serveur
Fichiers de donnes
Fichiers de donnes
Page 85
LGWR
Copyright G. Mopolo-Mok
CKPT
Fichier de donnes
Fichiers de contrles
Database Buffer
DBWR
FICHIERS REDO
Fichier de donnes
Fichiers archives
ARCH
Page 86
Copyright G. Mopolo-Mok
F1a
LOG SWITCH
Copyright G. Mopolo-Mok
Page 88
LOG SWITCH
LGWR
Groupe 2
Page 87
LGWR
F2a
Copyright G. Mopolo-Mok
Disque 2
Groupe 1
F1a
Fichier1a
LOG SWITCH
Groupe 2
Page 89
F1a
Fichier1b
LOG SWITCH
F1a
Fichier2a
Copyright G. Mopolo-Mok
F1a
Fichier2b
Page 90
Page 91
Copyright G. Mopolo-Mok
Forcer un checkpoint
pour rendre le groupe courant inactif en cas de
problme
pour des besoins de maintenance
pour provoquer un archivage immdiat si le REDO
LOG est trop grand
Commande excuter (privilge requis : ALTER
SYSTEM)
ALTER SYSTEM SWITCH LOGFILE ;
Exemple
ALTER DATABASE DBCOURS
ADD LOGFILE GROUP 4
(' /oracle/oradata/DBCOURS/disk1/log4adbcours.dbf')
size 500K;
ALTER DATABASE DBCOURS
ADD LOGFILE MEMBER
/oracle/oradata/DBCOURS/disk2/log4bdbcours.dbf' TO
GROUP 4;
ALTER DATABASE DBCOURS
ADD LOGFILE MEMBER
/oracle/oradata/DBCOURS/disk1/log4adbcours.dbf' TO
/oracle/oradata/DBCOURS/disk3/log4cdbcours.dbf';
Copyright G. Mopolo-Mok
Page 92
Copyright G. Mopolo-Mok
v$logfile : table contenant les noms des fichiers Redo Log et leur tat.
Name
Type
Description
GROUP#
NUMBER
STATUS
VARCHAR2(7)
TYPE
MEMBER
VACHAR2(7)
VARCHAR2(513)
Page 93
MEMBER
C:\ORADATA\DBCOUR\DISK1\LOG1ACOUR.DBF
C:\ORADATA\DBCOUR\DISK2\LOG2ACOUR.DBF
C:\ORADATA\DBCOUR\DISK1\LOG1BCOUR.DBF
C:\ORADATA\DBCOUR\DISK2\LOG2BCOUR.DBF
C:\ORADATA\DBCOUR\DISK1\LOG1CCOUR.DBF
C:\ORADATA\DBCOUR\DISK2\LOG2CCOUR.DBF
Copyright G. Mopolo-Mok
Page 94
Page 95
Copyright G. Mopolo-Mok
Copyright G. Mopolo-Mok
Page 96
Description
numro du Thread
status du Thread: OPEN, CLOSED
Enabled status: DISABLED, (enabled)
PRIVATE, or (enabled) PUBLIC
SCN at which thread was enabled
Time of enable SCN
SCN at which thread was disabled
Time of disable SCN
Nombre de groupe redo affectes ce thread
Nom de l'instance
Dernire date de lancement du thread
Groupe Redo Log courant
Nr. De squence du fichier Log courant
SCN du dernier checkpoint
Date du dernier checkpoint
Copyright G. Mopolo-Mok
log_archive_dest = /dev/rmt0:100M
ou /backup/DB1/COURSarch
(jusqu Oracle8)
log_archive_format = %t_%s.arc
ou t : THREAD, s : Squence number
log_archive_duplex_dest : destination alternative
jusqu la version 8 dOracle
log_archive_min_succeed_dest=1 5 depuis la
version (1 2 avant).Ce paramtre indique le nombre
de copie faire lors de larchivage dun fichier Redo
log
log_archive_dest_state_n (n de 1 10) = enabled ou
Deffered ou Alternate. Permet de grer ltat dune
destination de sauvegarde log_archive_dest_n
log_archive_dest_n (n de 1
10)=/backup/DB1/COURSarch
ARCH
F1a
Fichier1a
F1a
Fichier1b
F1a
Groupe 1
COURSarch_123.arc
123 = Nr. de squence
Page 97
Copyright G. Mopolo-Mok
nom de la base
date (timestamp) de cration de la base
noms et localisation des fichiers de donnes et redo log
numro de squence du fichier redo log courant
informations sur les CHECKPOINT
Page 99
Copyright G. Mopolo-Mok
Copyright G. Mopolo-Mok
Page 100
Copyright G. Mopolo-Mok
Les tapes
1. Lister les fichiers sauvegarder
La commande
CREATE CONTROLFILE [REUSE][RESET]
DATABASE nombase
LOGFILE ...
DATAFILE ...
Page 101
Copyright G. Mopolo-Mok
Page 102
Fichier du SE
comprend
se dcompose en
est li
appartient
Tablespace
appartient
comprend
comprend
appartient
appartient
Segment table
d'Index
Cluster
rollback
temporaire
Page 103
Bloc
comprend
comprend
Extension
appartient
Copyright G. Mopolo-Mok
Copyright G. Mopolo-Mok
Gnralits
Un Tablespace est l'espace de stockage logique des
donnes
Une Base de donnes Oracle comprend 1 N
Tablespaces. Un tablespace est compos de 0 ou N
Fichiers OS
Un Tablespace peut tre mis OFFLINE. Toutefois le
Tablespace SYSTEM ne peut tre mis OFFLINE
Un tablespace peut tre TEMPORARY ou
PERMANENT (mode par dfaut). Un tablespace
temporaire contient des donnes temporaires lis au
TRI par exemple
Il maintenant possible de crer des tablespaces pour
contenir les tables temporaires. CREATE
TEMPORARY TABLESPACE nom_tablespace
TEMPFILE .Il peut aussi contenir les donnes de tri
sil est affect un utilisateur
Un tablespace peut tre rserv contenir des
donnes Rollback : UNDO TABLESPACE
Page 104
Copyright G. Mopolo-Mok
Gnralits
Page 105
Copyright G. Mopolo-Mok
Page 106
Fichier1_Sys_disk1.dbf
Table 1
Table 2
Table 1
Extension 1
Extension 2
TABLESPACE INDEX
Fichier1_index_disk3.dbf
Index 1
Extension 1
Index 2
Index 2
Page 107
TABLESPACE USER
Extension 1
Extension 2
Copyright G. Mopolo-Mok
Le tablespace SYSTEM
Tablespace cr par dfaut lors de la cration de la
base
Fichier1_user_disk1.dbf
Table 3
Extension 1
TABLESPACE SYSTEM
Copyright G. Mopolo-Mok
Extension 1
Fichier2_user_disk2.dbf
Table 3
Extension 2
Table 4 Extension 1
TABLESPACE RBS
Fichier1_rbs_disk3.dbf
Rollback segment 1
Extension 1
Rollback segment 1
Extension 2
Rollback segment 1
Extension 3
Page 108
Copyright G. Mopolo-Mok
Page 109
Copyright G. Mopolo-Mok
Page 110
Copyright G. Mopolo-Mok
storage_close ::=
STORAGE ( [ INITIAL
[ NEXT
[ PCTINCREASE
[ MINEXTENTS
[ MAXEXTENTS
VALEUR/ DEFAUT
INITIAL
NEXT
MINEXTENT
MAXEXTENT
PCTINCREASE
5 blocs
5 blocs
1
dpend taille bloc
50%
integer [ K | M ] ]
integer [ K | M ] ]
integer ]
integer ]
integer ]
MIN
MAX
2 blocs(3 si LM)
1 bloc
1 (2 pour RBS)
1
0
OS
OS
OS
OS
LM : Local Management
Page 111
Copyright G. Mopolo-Mok
Page 112
Copyright G. Mopolo-Mok
extents_management_clause ::=
EXTENT MANAGEMENT {DICTIONARY |
LOCAL [ {AUTOALLOCATE |
UNIFORM [SIZE integer [K | M]}]}
- segments_management_clause ::=
SEGMENT SPACE MANAGEMENT {MANUAL |
AUTO}
Page 113
Copyright G. Mopolo-Mok
Page 114
Copyright G. Mopolo-Mok
Exemple 1
CREATE TABLESPACE APPLI_COMPTA
DATAFILE '/home/Fichier1_app_cpt.dbf' SIZE 10M
AUTOEXTEND ON NEXT 10M MAXSIZE
UNLIMITED
EXTENT MANAGEMENT DICTIONARY;
CREATE TABLESPACE APPLI_PERSONNEL
DATAFILE
'/home/Fichier1_app_pers.dbf' SIZE 100M,
'/home/Fichier2_app_pers.dbf' SIZE 10M
DEFAULT STORAGE ( INITIAL 100K
NEXT 50K
MINEXTENTS 4
MAXEXTENTS 100 PCTINCREASE 25 )
EXTENT MANAGEMENT DICTIONARY;
Page 115
Copyright G. Mopolo-Mok
Copyright G. Mopolo-Mok
NOTES :
Les paramtres de stockage NEXT, PCTINCREASE,
MINEXTENTS, MAXEXTENTS, DEFAULT
STORAGE sont ignors pour les Tablespaces grs
localement
Avec la clause UNIFORM SIZE, INITIAL nest pas
en plus pris en compte
TESTLOCAL
TESTLOCAL
Page 117
Copyright G. Mopolo-Mok
Page 118
EXTENT_ID
0
1
Copyright G. Mopolo-Mok
BYTES
BLOCKS
1048576
1048576
128
128
Page 119
EXTENT_ID
0
Copyright G. Mopolo-Mok
BYTES
204800
BLOCKS
25
Page 120
Copyright G. Mopolo-Mok
Page 121
Copyright G. Mopolo-Mok
Page 122
Copyright G. Mopolo-Mok
Page 123
Copyright G. Mopolo-Mok
Page 124
Copyright G. Mopolo-Mok
Objets du schma
Le nom d'un schma quivaut celui d'un utilisateur
Page 125
Copyright G. Mopolo-Mok
Page 126
Copyright G. Mopolo-Mok
Le bloc
Page 127
Copyright G. Mopolo-Mok
Page 128
Copyright G. Mopolo-Mok
Le bloc
Le bloc
Pour les tablespaces locaux dont lespace dans les
segments est gr automatiquement, les blocs libres
sont identifis via les bitmaps. PCTUSED,
FREELIST, GROUP LIST ne sont pas utiliss
E
N
T
E
T
E
PCTFREE
(10% par dfaut)
PCTUSED
(40% par dfaut)
A
J
O
U
T
Espace de donnes
S
U
P
P
R
E
S
S
I
O
N
Copyright G. Mopolo-Mok
Page 130
Une extension
Une extension
Les paramtres de stockage permettent de contrler le
nombre d'extensions pour un segment
le nombre maximum dextensions allouables un
segment dpend de la taille du bloc (jusqu' Oracle
7.2). Il peut maintenant tre illimit.
Extension 1
Extension 2
Extension N
Page 131
Copyright G. Mopolo-Mok
Copyright G. Mopolo-Mok
Page 132
Copyright G. Mopolo-Mok
Description
Longueur
char(taille)
varchar2(size)
number(p,s)
date
LONG
BLOB
CLOB
BFILE
RAW(size)
LONG RAW
ROWID
MLSLABEL
REF
taille fixe
taille variable
taille variable
taille fixe
taille Variable
taille Variable
taille Variable
1 255 bytes
1 2000 bytes
21bytes max
7 bytes
2Go
4Go
4Go
taille variable
taille variable
Binaire
trusted Oracle
taille fixe
Page 133
Copyright G. Mopolo-Mok
Page 134
cration du segment
modification du segment
suppression du segment
dimensionnement du segment
Copyright G. Mopolo-Mok
cration du segment
{Relational_table_clause | Object_table_clause}
Relational_table_clause :: =
CREATE [GLOBAL TEMPORARY] TABLE [ schema. ] table
( { column datatype [ DEFAULT expr ] [ column_constraint ] ...
| table_constraint } ...)
[ [ PCTFREE integer ] [ PCTUSED integer ]
[ INITRANS integer ] [ MAXTRANS integer ]
[ TABLESPACE tablespace ]
[ STORAGE (
[ INITIAL
integer [ K | M ] ]
[ NEXT
integer [ K | M ] ]
[ PCTINCREASE
integer ]
[ MINEXTENTS
integer ]
[ MAXEXTENTS integer ]
[ FREELIST GROUPS
integer ]
[ FREELIST integer ] ) ]
| [ CLUSTER cluster (column [, column ] ... ) ] ]
[ ENABLE enable_clause
| DISABLE disable_clause ] ...
[ AS subquery ]
[Large_Object_clause]
[Partition_clause]
[ORGANIZATION {HEAP segment_attr_clause
| INDEX segment_attr_clause
| EXTERNAL ext_clause }
]
NOTES :
1. Un segment de type table est cr de faon implicite lors de la cration de la
table.
2. Les tables objets, les partitions, les LOB sont traits dans un autre cours
Page 135
Copyright G. Mopolo-Mok
Page 136
Copyright G. Mopolo-Mok
Elment de la clause
description
dclaration_colonne
column_constraint
storage_clause
enable_clause
disable_clause
PCTFREE
PCTUSED
INTITRANS
MAXTRANS
FREELISTS
FREELISTS GROUP
Large_object_clause
Partition_Clause
ORGANIZATION index
ORGANIZATION heap
ORGANIZATION external
Page 137
Copyright G. Mopolo-Mok
Page 138
Exemple (suite) :
Extensions allouables au segment de la table scott.emp
Nr. Extension
Taille extension
1 (initial/min 1)
100K
50K
2 ( min 2)
50K
75K=1,5*50K
3 (min 3)
75K
112,5K=1,5*75K
112,5K
168,75=1,5*112,5K
168,75
253,125=1,5*168,75K
Page 139
Copyright G. Mopolo-Mok
Copyright G. Mopolo-Mok
Modification du segment
Page 140
Copyright G. Mopolo-Mok
clause
Description
Exemple
add_clause
modify_clause
storage_clause
enable_clause
disable_clause
PCTFREE
PCTUSED
INTITRANS
MAXTRANS
FREELISTS
FREELISTS GROUP
Page 141
Copyright G. Mopolo-Mok
Page 142
Copyright G. Mopolo-Mok
Drop table
truncate table
Avantages
Inconvnients
la table
les contraintes
pas de RBS
l'utilisation du RBS
peut tre trs long
Page 143
Copyright G. Mopolo-Mok
Page 144
Copyright G. Mopolo-Mok
dimensionnement du segment
Gnralits
Cluster
Cl cluster
(deptno)
10 dname loc
-------- ---sales Boston
empno
-------7067
7056
ename
------Jones
James
20 dname loc
-------- ---...
Page 145
Copyright G. Mopolo-Mok
Page 146
Table emp
empno ename
-------- ------7067
Jones
7056
James
...
table dept
deptno dname loc
-------- -------- ---10
sales Boston
20
Info St Louis
...
Copyright G. Mopolo-Mok
a)
[SIZE integer][K | M]
[INITRANS integer] [MAXTRANS integer]
[TABLESPACE tablespace_name]
[STORAGE storage_clause]
[INDEX]
[[HASH IS colonne] HASHKEYS integer]
b)
create table emp(...) cluster cluster_emp_dept (deptno);
create table dept(...) cluster cluster_emp_dept (deptno);
clause
Description
SIZE
HASH IS
HASHKEYS
c)
create index idx_emp_dept on cluster cluster_emp_dept ;
Exemple de cration d'un cluster hach
a) create cluster cluster_dept_emp (deptno number(3))
SIZE 2K
HASHKEYS 1000;
b) create table dept (deptno number(3), ...)
CLUSTER cluster_dept_emp;
Page 147
Copyright G. Mopolo-Mok
Page 148
Copyright G. Mopolo-Mok
Page 149
Copyright G. Mopolo-Mok
Page 150
Copyright G. Mopolo-Mok
dimensionnement du segment
Gnralits
Acclrateur de requte
peut tre unique ou non unique
peut tre cr explicitement ou implicitement (depuis
Oracle7)
sa structure interne est un arbre balanc (B-arbre)
Un B-arbre
BLOC DINDEX
RACINE
BLOC DINDEX
INTERMEDIAIRE
Bloc
dindex
feuille
Bloc
dindex
feuille
BLOC DINDEX
INTERMEDIAIRE
Bloc
dindex
feuille
Bloc
dindex
feuille
Page 151
Copyright G. Mopolo-Mok
Page 152
Copyright G. Mopolo-Mok
Le segment dindex
Gnralits (suite)
King
Blake
James
Miller
[ TABLESPACE tablespace ]
Simonth
[ STORAGE storage_clause ]
Simonth Smith
James
Miller
Blake
Clark
[ NOSORT ]
Scott
Ford
King
Adams
[ PCTFREE integer ]
Jones
[REVERSE]
Martin
[PARTITION clause_de_partionnement]
Allen
Modification du segment
Notes :
A chaque feuille on trouve : la valeur cl et le ROWID (index unique) ou la liste
des ROWID (Index non unique). Par exemple ADAMS '00000012.0002.0002 '.
Suppression du segment
DROP INDEX [ schema.] index
Page 153
Copyright G. Mopolo-Mok
Page 154
Gnralits
Oracle cr automatiquement ces segments si la
zone de tri (paramtre SORT_AREA_SIZE) s'avre
petite
Page 155
Copyright G. Mopolo-Mok
Copyright G. Mopolo-Mok
Page 156
Copyright G. Mopolo-Mok
Gnralits
Page 157
Copyright G. Mopolo-Mok
Page 158
Syntaxe
Copyright G. Mopolo-Mok
[ TABLESPACE tablespace ]
[ STORAGE (
storage_clause
[ OPTIMAL
integer [ K | M ] | NULL ] )
Syntaxe
Exemple
| OFFLINE
| STORAGE storage_clause }
Exemple
PUBLIC : segment accessible par toutes les instances dune mme base
Page 159
Page 160
Copyright G. Mopolo-Mok
Syntaxe
DROP ROLLBACK SEGMENT robllack_segment
Reprsentation schmatique
Exemple
E1
NOTE :
Page 161
Copyright G. Mopolo-Mok
Page 162
RBS 2
T2 T5 T8
E3
T1 T4 T7
E2
RBS 3
T3 T6
T9 ?
Page 163
Copyright G. Mopolo-Mok
Copyright G. Mopolo-Mok
N transactions simultanes
n <= 16
16<= n <= 32
32 <= n
nb= n / 4
INVALID
RBS supprim
OFFLINE
donnes recouvres
avec succs
RBS
RBS
mis online mis offline
avec nb < 50
RBS
Supprim
ONLINE
Transaction
distribue
rsolue
transaction
en suspend
rsolue
RBS
Partiellement
Disponible
PB rseaux
transaction
suspendue
Erreur de support
physique
ou corruption
RBS
ncessite un
recouvrement
Erreur de support
physique
ou corruption
Page 165
Copyright G. Mopolo-Mok
Page 166
Copyright G. Mopolo-Mok
TABLESPACE_NAME
BYTES
BLOCKS
SYSTEM
SYSTEM
204800
100
EXTENTS
RB_TEMP
SYSTEM
1484800
725
15
RB1
ROLLBACK_DATA
102400
50
Exemples :
RB2
ROLLBACK_DATA
102400
50
RB3
ROLLBACK_DATA
102400
50
RB4
ROLLBACK_DATA
102400
50
Page 167
SEGMENT_NAME
TABLESPACE_NAME
STATUS
SYSTEM
SYSTEM
ONLINE
RB_TEMP
SYSTEM
OFFLINE
RB1
ROLLBACK_DATA
ONLINE
RB2
ROLLBACK_DATA
ONLINE
RB3
ROLLBACK_DATA
ONLINE
RB4
ROLLBACK_DATA
ONLINE
Copyright G. Mopolo-Mok
Page 168
Transactions actives
1
Copyright G. Mopolo-Mok
count
2089
633
1235
942
Buffers demands
929530
Ratio par class ci = classi / sum(value)
Si le ratio est > 1% alors ajouter des RBS
Page 169
Copyright G. Mopolo-Mok
Page 170
A la cration de la base
CREATE DATABASE DBGM
CONTROLFILE REUSE ...
UNDO TABLESPACE undotbs_01 DATAFILE
'c:\oracle\ora9data\dbgm\tsundo1\undo0101.dbf
size 10M AUTOEXTEND ON
Copyright G. Mopolo-Mok
b) Dynamiquement
ALTER SYSTEM SET UNDO_TABLESPACE =
undotbs_02;
Page 171
Copyright G. Mopolo-Mok
Page 172
Copyright G. Mopolo-Mok
5.1 Gnralits
5.2 Les Privilges
Plan
Introduction
Les privilges Systmes
Les privilges Objets
Page 173
Copyright G. Mopolo-Mok
Page 174
PLAN
5.1 Gnralits
5.6 L'audit
Intrt de l'audit
Types d'audit et modes d'activation
Audit Systme
Audit objet
La table aud$
Page 175
Copyright G. Mopolo-Mok
Page 176
Copyright G. Mopolo-Mok
5.1 Gnralits
Intrtoduction
Un privilge donne le droit d'excuter certaines
commandes SQL ou le droit d'accder certaines
ressources
PRIVILEGES
(Systmes
et Objets)
et ROLES
Droits daccs
aux tablespaces
(quotas,
TS temporaire,
TS par dfaut)
PROFILES
UTILISATEURS
AUDIT
LES VUES
Page 177
Copyright G. Mopolo-Mok
Page 178
Copyright G. Mopolo-Mok
AUDIT
CONTEXT
DATABASE LINK
INDEX
LIBRARY
MISCELLANEOUS
OUTLINE
PROCEDURE
Public Database Link
ROLE
SESSION
SNAPSHOT
SYSTEM
TABLESPACE
TRIGGER
USER
Copyright G. Mopolo-Mok
role
Page 179
Page 180
Copyright G. Mopolo-Mok
Exemple :
REVOKE ALTER ANY TABLE FROM PUBLIC ;
REVOKE CREATE SESSION FROM SCOTT ;
Exemple
GRANTEE
PRIVILEGE
CONNECT
ALTER SESSION
ADM
NO
CONNECT
CREATE CLUSTER
NO
Copyright G. Mopolo-Mok
Page 182
Copyright G. Mopolo-Mok
Privilges objets
Libell
Objets concerns
REFERENCES
table
Privilges objets
Libell
Objets concerns
ALTER
droit de modifier
table, squence
READ
directory
DELETE
droit de supprimer
table , vue, VM
SELECT
droit de consulter
EXECUTE
droit dexcuter
procdure, fonction,
package,type user,
oprateur, indextype,
library
table, vue,
snapshot, sequence
UPDATE
table ou vue
UNDER
WRITE
INDEX
table
INSERT
droit dinsrer
table, vue,VM
ON COMMIT REFRESH
droit de crer une vue matriali- table
s ON COMMIT REFRESH
sur une table
QUERY REWRITE droit de crer une vue matrialis QUERY REWRITE
sur une table
table
Page 183
Copyright G. Mopolo-Mok
Page 184
Copyright G. Mopolo-Mok
Syntaxe
GRANT { object_priv | ALL [ PRIVILEGES ] } [( column [,column ] ...) ]
[, { object_priv | ALL [ PRIVILEGES ] } [ ( column [,column] ...) ] ]
ON [ schema.] object
TO { user | role | PUBLIC } [ WITH GRANT OPTION ]
Syntaxe
REVOKE { object_priv | ALL [ PRIVILEGES ] }
ON [ schema. ] object
FROM { user | role | PUBLIC } [CASCADE CONSTRAINTS ]
Notes
Notes :
ALL : nest pas un privilge mais signifie "tous les privilges sur un objet"
Exemples
Exemple
sql> GRANT INSERT (ename, job) ON emp TO scott with grant option ;
sql> GRANT UPDATE (SAL), DELETE ON emp TO scott ;
sql> GRANT REFERENCES, UPDATE ON bonus TO dupont ;
Copyright G. Mopolo-Mok
Page 186
DBA_TAB_PRIVS
DBA_COL_PRIVS
ALL_TAB_PRIVS
ALL_COL_PRIVS
USER_TAB_PRIVS
USER_COL_PRIVS
All_TAB_PRIVS_MADE
DBA_COL_PRIVS
USER_TAB_PRIVS_MADE
ALL_COL_PRIVS_MADE
USER_TAB_PRIVS_MADE
USER_COL_PRIVS_MADE
GRANTEE OWNER
ALL_TAB_PRIVS_RECD
ALL_COL_PRIVS_RECD
USER_TAB_PRIVS_RECD
ALL_COL_PRIVS_RECD
TABLE_PRIVILEGES
COLUMN_PRIVILEGES
DUPONT
DUPONT
DUPONT
DUPONT
DUPONT
DUPONT
DUPONT
Copyright G. Mopolo-Mok
Page 187
Copyright G. Mopolo-Mok
SCOTT
SCOTT
SCOTT
SCOTT
SCOTT
SCOTT
SCOTT
TABLE_NAME
BONUS
BONUS
BONUS
BONUS
BONUS
BONUS
BONUS
GRANTOR
SCOTT
SCOTT
SCOTT
SCOTT
SCOTT
SCOTT
SCOTT
PRIVILEGE
ALTER
DELETE
INDEX
INSERT
SELECT
UPDATE
REFERENCES
Tous les droits sur toutes les colonnes des tables dans la base
SELECT * FROM sys.dba_col_privs ;
Page 188
Copyright G. Mopolo-Mok
Plan
Gnralits
Dfinition
Un rle est un concept Oracle qui permet de regrouper
plusieurs privilges et / ou rles afin de les affecter ou
retirer en bloc un utilisateur et / ou un rle.
Gnralits
Cration d'un rle
Modification d'un rle
Suppression d'un rle
Affectation de privilges un rle
Affectation d'un rle un utilisateur
Rles prdfinis
Informations sur les rles
Page 189
Copyright G. Mopolo-Mok
Page 190
Copyright G. Mopolo-Mok
Gnralits (suite)
Utilisateur 1
Privilge 2
CREATE ROLE role
[ { NOT IDENTIFIED
| IDENTIFIED { BY password | EXTERNALLY | GLOBALLY |
USING package} ]
Privilge 3
...
Utilisateur 2
Privilge N
Utilisateur 1
Privilge 2
Exemple
Role 1
Privilge 3
...
Utilisateur 2
Privilge N
Page 191
Copyright G. Mopolo-Mok
Page 192
Copyright G. Mopolo-Mok
Syntaxe
Exemple
DROP ROLE rl_admin_secu ;
Exemple
sql> ALTER ROLE ROLE rl_etudiant IDENTIFIED EXTERNALLY ;
sql> ALTER ROLE rl_admin_backup IDENTIFIED BY backup_pass;
sql> ALTER ROLE rl_admin_secu NOT IDENTIFIED;
Page 193
Copyright G. Mopolo-Mok
Page 194
Copyright G. Mopolo-Mok
UNLIMITED TABLESPACE
Privilges Objets
INDEX
Copyright G. Mopolo-Mok
Page 196
Copyright G. Mopolo-Mok
Syntaxe
ora_<SID>_<role>[_[D][A] : [user1, [user2], [ ...]]
Avec
SID
role
D
A
: nom de l'instance
: nom du rle
: rle par dfaut
: WITH ADMIN OPTION
Exemple :
ora_COURS_rl_connect_D:scott, mopolo, tintin
ora_COURS_rl_admin_secu_DA:mopolo,osmani
Page 197
Copyright G. Mopolo-Mok
Page 198
Rles prdfinis
NOM DU ROLE
CONNECT
RESOURCE
DBA
exp_full_database
imp_full_database
Page 199
Copyright G. Mopolo-Mok
Copyright G. Mopolo-Mok
Execute_catalog_role
Select_catalog_role
Delete_catalog_role
Page 200
Copyright G. Mopolo-Mok
Rles prdfinis
NOTES :
Page 201
Copyright G. Mopolo-Mok
ROLE
PASSWORD
CONNECT
RESOURCE
DBA
EXP_FULL_DATABASE
IMP_FULL_DATABASE
MONITORER
RL_ADMIN_SECU
RL_CONNECT
NO
NO
NO
NO
NO
NO
NO
NO
Page 202
GRANTEE
Copyright G. Mopolo-Mok
NO
Default
YES
Gnralits
Un profile est un concept Oracle qui permet
l'administrateur d'une base de contrler la
consommation des ressources systmes et des mots
de passes
Il existe un profile par dfaut appel DEFAULT. Il est
par dfaut affect un utilisateur lors de sa cration
Les limites du profile DEFAULT sont positionnes
UNLIMITED
Le profile DEFAULT ne peut tre supprim. Les
limites de ce profile peuvent par contre tre modifies
ROLE
MONITORER
DBA
EXP_FULL_DATABASE
IMP_FULL_DATABASE
RL_ADMIN_SECU
Page 203
Copyright G. Mopolo-Mok
Page 204
Copyright G. Mopolo-Mok
Failed_login_attempts
: nombre dchecs avant le blocage du compte
password_life_time
: dure en jours avant lexpiration du mot de passe
password_reuse_time
: dure en jours avant la rutilisation dun password
password_reuse_max
: nombre de modif du password avant rutilisation
password_lock_time
: dure en jours du verrouillage dun compte
password_grace_time
: dlai de tolrance du password avant son expiration
password_verify_function
: fonction de contrle des mots de passes
Page 205
Copyright G. Mopolo-Mok
Page 206
Copyright G. Mopolo-Mok
Exemple (suite)
Exemple 1
Exemple 2
CREATE profile pf_agent LIMIT
sessions_per_user
2
cpu_per_session
unlimited
cpu_per_call
1000
composite_limit
20000
private_sga
32K ;
Exemple 3
CREATE PROFILE pf_admin
PASSWORD_LIFE_TIME 200
LIMIT PASSWORD_REUSE_MAX DEFAULT
PASSWORD_REUSE_TIME UNLIMITED
CPU_PER_SESSION UNLIMITED
Page 207
Copyright G. Mopolo-Mok
Page 208
Copyright G. Mopolo-Mok
Failed_login_attempts
: nombre dchecs avant le blocage du compte
password_life_time
: dure en jours avant lexpiration du mot de passe
password_reuse_time
: dure en jours avant la rutilisation dun password
password_reuse_max
: nombre de modif du password avant rutilisation
password_lock_time
: dure en jours du verrouillage dun compte
password_grace_time
: dlai de tolrance du password avant son expiration
password_verify_function
: fonction de contrle des mots de passes
Page 209
Copyright G. Mopolo-Mok
Page 210
Copyright G. Mopolo-Mok
Exemple 1 :
Exemple 2 :
Page 211
Copyright G. Mopolo-Mok
Page 212
Copyright G. Mopolo-Mok
Syntaxe
ALTER RESOURCE COST
[ CPU_PER_SESSION integer ]
[ CONNECT_TIME
integer ]
[ LOGICAL_READS_PER_SESSION integer]
[ PRIVATE_SGA integer ]
T = poids * consommation_per_resource_limit
Exemple 1 :
SQL> ALTER RESOURCE COST
cpu_per_session
100
connect_time
1;
T = 100*cpu_per_session_consomm + 1*connect_time_consomm +
0*logical_reads_per_session + 0*private_sga
Exemple 2 :
SQL> ALTER RESOURCE COST
logical_reads_per_session
connect_time
2
0;
T = 100*cpu_per_session_consomm + 0*connect_time_consomm +
2*logical_reads_per_session + 0*private_sga
La limite PRIVATE_SGA est - t - elle toujours valide quel que soit
larchitecture dOracle ?
Page 213
Copyright G. Mopolo-Mok
Note :
Le rsultat T est comparer avec la valeur de COMPOSITE_LIMIT
Page 214
Copyright G. Mopolo-Mok
PROFILE
RESOURCE_NAME
LIMIT
DEFAULT
...
DEFAULT
PF_AGENT
PF_AGENT
PF_AGENT
PF_AGENT
PF_AGENT
...
PF_SECRETAIRE
PF_SECRETAIRE
PF_SECRETAIRE
PF_SECRETAIRE
PF_SECRETAIRE
PF_SECRETAIRE
PF_SECRETAIRE
...
COMPOSITE_LIMIT
UNLIMITED
CPU_PER_SESSION
COMPOSITE_LIMIT
CONNECT_TIME
CPU_PER_CALL
PRIVATE_SGA
SESSIONS_PER_USER
600
20000
DEFAULT
1000
32768
2
COMPOSITE_LIMIT
CONNECT_TIME
CPU_PER_CALL
CPU_PER_SESSION
IDLE_TIME
LOGICAL_READS_PER_CALL
SESSIONS_PER_USER
DEFAULT
480
1000
UNLIMITED
30
100
2
Syntaxe
DROP PROFILE nom_profile [CASCADE]
Exemple
sql>DROP PROFILE pf_secretaire CASCADE ;
Page 215
Copyright G. Mopolo-Mok
Page 216
Copyright G. Mopolo-Mok
Exemple 2 :
Exemple 3 :
Gnralits
UNIT_COST
100
2
0
0
LIMIT
COMPOSITE_LIMIT
SESSIONS_PER_USER
CPU_PER_SESSION
CPU_PER_CALL
LOGICAL_READS_PER_SESSION
LOGICAL_READS_PER_CALL
IDLE_TIME
CONNECT_TIME
PRIVATE_SGA
UNLIMITED
UNLIMITED
600
UNLIMITED
UNLIMITED
UNLIMITED
UNLIMITED
UNLIMITED
UNLIMITED
Page 217
Copyright G. Mopolo-Mok
Copyright G. Mopolo-Mok
Gnralits (suite)
Gnralits (suite)
Authentification des utilisateurs
Page 219
Copyright G. Mopolo-Mok
Page 220
Copyright G. Mopolo-Mok
Gnralits (suite)
Utilisateur et schma
Syntaxe
CREATE USER user
IDENTIFIED { BY password | EXTERNALLY| GLOBALLY
AS nom_externe }
[ DEFAULT TABLESPACE tablespace ]
[ TEMPORARY TABLESPACE tablespace ]
[ QU0TA { integer [ K | M ] | UNLIMITED } ON tablespace ] ...
[ PROFILE profile ]
[PASSWORD EXPIRE]
[ACCOUNT {LOCK | UNLOCK}]
Page 221
Copyright G. Mopolo-Mok
Page 222
Copyright G. Mopolo-Mok
Notes
. le tablespace temporaire par dfaut est SYSTEM
. le tablespace par dfaut est SYSTEM
. il est obligatoire daffecter des quotas sur les tablespaces
ou d'affecter le privilge UNLIMITED TABLESPACE
. les rles affects lors de la cration d'un utilisateur sont par
dfaut
. le privilge CREATE USER est requis.
Page 223
Copyright G. Mopolo-Mok
NOTES :
Rle par dfaut = Rle affect directement un utilisateur
Page 224
Copyright G. Mopolo-Mok
Exemple 1
Exemple 2
Modification de l'utilisateur TINTIN : assignation d'un
nouveau tablespace par temporaire TEMP et
assignation de tous rles par dfaut sauf
rl_admin_secu.
user
CASCADE
Exemple
Copyright G. Mopolo-Mok
Page 226
Copyright G. Mopolo-Mok
Page 227
USER_DATA
TEMPORARY_DATA
created
07/05/96
USER_ID
CREATED
SYSTEM
26/09/95
SCOTT
26/09/95
DUPONT
13
29/04/96
OPS$MOPOLO
22
05/05/96
OTTOCAR
23
07/05/96
Page 228
Copyright G. Mopolo-Mok
Exemple 5 :
Informations sur les quotas de tous les utilisateurs
CREATED PROFILE
SYSTEM 5 D4DF7931AB130E37
USER_DATA
SCOTT
8 F8948444 402B67
USER_DATA
SYSTEM
SYSTEM
29/04/96 DEFAULT
OPS$MOPOLO 22 EXTERNAL
SYSTEM
SYSTEM
05/05/96 DEFAULT
OTTOCA 23 5006630829F6EA0E
USER_DATA
TEMPORARY_DATA OTTOCAR
USER_DATA
BYTES
MAX_BYTES
USER_DATA
552960
270
TTEST
20480
10
Page 229
Copyright G. Mopolo-Mok
BLOCKS MAX_BLOCKS
blocks
Page 230
-1
Copyright G. Mopolo-Mok
Copyright G. Mopolo-Mok
-1
20
Page 231
Note :
-1
MAX_
BLOCKS
Serial#
8
11
40960 -1
BLOCKS
5.6 Laudit
sid
13
14
OTTOCAR
BYTES MAX_
BYTES
bytes
USERNAME
Copyright G. Mopolo-Mok
5.6 Laudit
5.6 Laudit
Types daudits
Types de surveillance
statement_opt
: option des ordres sql auditer
system_priv
: privilge systme auditer
user
: audit des ordres sql et/ou privilges pour un user
BY SESSION
: audit des ordres sql et/ou privilges par session
BY ACCESS
: audit des ordres sql et/ou privilges par accs
SUCCESSFUL
: audit des ordres sql et/ou privilges si succs
ALL
: audit de tous les ordres SQL
ALL PRIVILEGES : audit de tous les privilges
Page 233
Copyright G. Mopolo-Mok
Page 234
Exemples 1
auditer les connexions et dconnexions des utilisateurs rackham
et cyclone (en cas de succs ou d'insuccs).
sql> AUDIT SESSION BY rackham, cyclone ;
Exemples 2
auditer les ordres select, insert, delete pour toutes les tables et le
privilge execute any procedure par accs et ceci en cas d'chec.
sql> AUDIT select table, insert table, delete table,
execute any procedure
BY ACCESS WHENEVER NOT SUCCESSFUL ;
ou
sql> AUDIT table, execute any procedure
BY ACCESS WHENEVER NOT SUCCESSFUL ;
Page 235
Copyright G. Mopolo-Mok
5.6 Laudit
5.6 Laudit
Copyright G. Mopolo-Mok
Options
alter system
alter system
cluster
database link
index
not exists
procedure
public synonym
role
Page 236
Copyright G. Mopolo-Mok
5.6 Laudit
5.6 Laudit
Options
Options
rollback segment
alter sequence
alter table
comment table
sequence
synonym
delete table
audit, no audit
execute procedure
grant procedure
grant table
insert table
system audit
system grant
GRANT system_privileges/roles
TO user/role
REVOKE system_privileges/roles
FROM user/role
table
tablespace
trigger
create trigger,
alter trigger enable or disable
alter table with enable, disable
and drop clauses
user
view
Page 237
Copyright G. Mopolo-Mok
lock table
select table
update table
update, vue
Context
DIMENSION
DIRECTORY
Page 238
Copyright G. Mopolo-Mok
5.6 Laudit
Exemple 1
Syntaxe
AUDIT object_opt [, object_opt] ...
ON {[ schema.]object | DIRECTORY
directory_name | DEFAULT}
[ BY { SESSION | ACCESS } ]
[ WHENEVER [ NOT ] SUCCESSFUL ]
object_opt
object
DEFAULT
BY SESSION
BY ACCESS
SUCCESSFUL
DIRECTORY
Copyright G. Mopolo-Mok
Exemple 2
Page 239
select sequence
5.6 Laudit
Page 240
Copyright G. Mopolo-Mok
5.6 Laudit
5.6 Laudit
Objet du
schma concern
alter
audit
comment
table, vue
delete
table | vue
execute
execute procedure
procdure
grant
grant (objets)
index
create index on
table
insert
table, vue
lock
table, vue
rename
rename ...
select
update
table, vue
Note :
all :
Page 241
Exploitation de laudit
Copyright G. Mopolo-Mok
Page 242
5.6 Laudit
Copyright G. Mopolo-Mok
5.6 Laudit
Colonne
Description
Colonne
GRANTEE
AUDIT_OPTION
SES_ACTIONS
LOGOFF_TIME
LOGOFF_LREAD
LOGOFF_PREAD
LOGOFF_LWRITE
LOGOFF_DLOCK
COMMENT_TEXT
SESSIONID
ENTRYID
STATEMENTID
RETURNCODE
PRIV_USED
OBJECT_LABEL
SESSION_LABEL
OS_USERNAME
USERNAME
USERHOST
TERMINAL
TIMESTAMP
OWNER
OBJ_NAME
ACTION
code de l'action
ACTION_NAME
nom de l'action
NEW_OWNER
NEW_NAME
OBJ_PRIVILEGE
SYS_PRIVILEGE
ADMIN_OPTION
Page 243
Copyright G. Mopolo-Mok
Page 244
Description
Copyright G. Mopolo-Mok
5.6 Laudit
5.6 Laudit
Exemple
Exemple (suite)
Problme
Page 245
Copyright G. Mopolo-Mok
Page 246
5.6 Laudit
Copyright G. Mopolo-Mok
5.6 Laudit
Exemple (suite)
Exemple (suite)
USER_NAME AUDIT_OPTION
SUCCESS
FAILURE
OWNER OBJECT_ OBJECT_TY ALT AUD COM DEL GRA IND INS LOC ...
NAME
LAMA
RACKHAM
BY ACCESS
BY ACCESS
BY ACCESS
BY ACCESS
BY ACCESS
BY ACCESS
BY ACCESS
NOT SET
TINTIN EMP
TINTIN EMPLOYES
CREATE SESSION
CREATE SESSION
ALTER USER
LOCK TABLE
TABLE
VIEW
-/- -/- -/- A/- -/- -/- -/--/- -/- -/- -/- -/- -/-...
-/- -/- -/- -/- -/- -/- -/--/- S/S -/- -/- -/- -/-...
ALT AUD COM DEL GRA IND INS LOC REN SEL UPD REF EXE
S/S
USER_NAME
PRIVILEGE
SUCCESS
Notes :
-/- : Audit non positionn (ni en cas de succs ou d'insuccs)
LAMA
RACKHAM
CREATE SESSION
CREATE SESSION
ALTER USER
BY ACCESS BY ACCESS
BY ACCESS BY ACCESS
BY ACCESS BY ACCESS
Page 247
Copyright G. Mopolo-Mok
FAILURE
-/- -/-
-/- -/-
-/-
-/-
-/-
Page 248
Copyright G. Mopolo-Mok
5.6 Laudit
5.6 Laudit
Exemple (suite)
Listing des lignes daudit gnres par l'audit des ordres et audit
des objets
sql>SELECT username, obj_name, action_name, ses_actions
FROM dba_audit_object;
USERNAME OBJ_NAME ACTION_NAME
LAMA
LAMA
LAMA
EMP
EMP
IDX_ENAME
LOCK
DELETE
CREATE INDEX
57
LOGOFF_
PREAD
LOGOFF_ LOGOFF_
LWRITE DLOCK
SES_ACTIONS
Syntaxe
LAMA
RACKHAM 11/05/96
Exemples
sql>NOAUDIT session;
sql>NOAUDIT role;
sql>NOAUDIT session BY tintin, cyclone ;
sql>NOAUDIT delete any table;
sql>NOAUDIT select any table, insert any table,
delete any table, execute any procedure;
sql>NOAUDIT select table, insert table, delete table;
sql>NOAUDIT ALL ;
sql>NOAUDIT ALL PRIVILEGES ;
Note : le privilge requis est AUDIT SYSTEM
Page 249
Copyright G. Mopolo-Mok
Page 250
5.6 Laudit
5.6 Laudit
Syntaxe
NOAUDIT object_opt [, object_opt] ...
ON {[ schema.]object | DEFAULT}
[ WHENEVER [ NOT ] SUCCESSFUL ]
Copyright G. Mopolo-Mok
Exemples
sql>NOAUDIT select ON tintin.emp ;
sql>NOAUDIT select
ON tintin.emp WHENEVER SUCCESSFUL;
sql>NOAUDIT ALL ON tintin.emp ;
sql>NOAUDIT ALL ON DEFAULT ;
Note : le privilge requis est AUDIT SYSTEM
Page 251
Copyright G. Mopolo-Mok
Page 252
Copyright G. Mopolo-Mok
6 Sauvegarde et restauration
Plan
6.1 Gnralits
6.1 Gnralits
6.2 Sauvegarde en mode NOARCHIVELOG
6.3 Sauvegarde en mode ARCHIVELOG
6.4 Restauration d'une Base de donnes
6.5 Recovery Manager (voir Annexe)
Page 253
Copyright G. Mopolo-Mok
Page 254
Fichiers
de donnes
Fichiers
Redo log
Les fichiers
d'archives
La commande
Recover
commandes OS
Page 255
Les fichiers
de sauvegarde
La commande
Alter database
archivelog
begin backup
Segments
rollback
Copyright G. Mopolo-Mok
Multiplexage
des fichiers
Redo log
et de contrle
Hypothses
nous acceptons de perdre les donnes
l'arrt de la base n'est pas gnant
Fichiers de
contrle
Sauvegarde et
Restauration
6.1 Gnralits
Copyright G. Mopolo-Mok
Mode de sauvegarde
Backup complet la cration de la base et chaque
modification importante de sa structure (ajout d'un
fichier, d'un tablespace, ...). Ce backup doit se faire
en mode normal aprs un SHUTDOWN NORMAL
ou IMMEDIATE
les fichiers sauvegarder sont :
les fichiers de donnes de tous les tablespaces
les fichiers REDO LOG
les fichiers de contrle
NOTE :
Il faut aussi dfinir une priodicit des sauvegardes
adaptes aux besoins.
Page 256
Copyright G. Mopolo-Mok
Fichiers de
Fichiers de
donnes
donnes
. Fichiers de contrles
SELECT * FROM v$parameter
WHERE name LIKE 'control_files';
Fichiers de
Fichiers
donnes
Redo log
Fichiers de
Fichiers de
donnes
contrle
Page 257
Copyright G. Mopolo-Mok
Page 258
Hypothses
Copyright G. Mopolo-Mok
Backup partiel
Modes de sauvegarde
Backup complet la cration ou intervalles rguliers
(suivre les mmes tapes qu'en mode noarchivelog)
Etape 2 :
. Mettre le Tablespace X OFFLINE NORMAL
sql>ALTER TABLESPACE X OFFLINE NORMAL ;
Etape 3 :
. Utiliser les commandes de lOS (cp, tar, dump, ...) pour
sauvegarder effectivement les fichiers sur bande ou disque
Etape 4 :
. Ractiver le Tablespace X
sql>ALTER TABLESPACE X ONLINE ;
Page 259
Copyright G. Mopolo-Mok
Page 260
Copyright G. Mopolo-Mok
Etape 1 :
Etape 2 :
. Indiquer Oracle le dbut de la sauvegarde de X
sql>ALTER TABLESPACE X BEGIN BACKUP ;
Etape 3 :
sql>ALTER DATABASE
BACKUP CONTROLFILE nomfic [REUSE] ;
Etape 4 :
. Informer Oracle de la fin de la sauvegarde du tablespace X
Copyright G. Mopolo-Mok
Page 262
FichierS1
Tablespace
User
Fichieru1
Tablespace DATA
Fichierd1
FichieruN
FichierdN
Sauvegarde
du fichier de
contrle
Pourquoi restaurer ?
Au moment d'une panne, les blocs de donnes
modifis par une transaction peuvent ne pas avoir t
crits dans les fichiers REDO LOG
BASE X
Fichier de
Contrle
Synthse
Tablespace
System
Copyright G. Mopolo-Mok
Sauvegarde
du fichierdN
Fichier
Fichiers
redo
log log
Redo
Page 263
Archivage des
Redo log
Copyright G. Mopolo-Mok
Fichier
Fichiers
redo
log
d'Archives
Administration Oracle 10G
Page 264
Copyright G. Mopolo-Mok
Image
Image
aprs
Image
aprs
aprs
Fichiers de donnes
(Base incohrente)
Image
Image
aprs
aprs
Restauration dinstance
Survient la suite de l'arrt brutal des process tches
de fond (DBWR, LGWR, SMON, PMON, ...)
Fichier de donnes
(Base cohrente)
Image
Image
aprs
aprs
Donnes non
commites
Donnes commites
Image
Image
aprs
Image
aprs
aprs
Reconstruction
des segments de donnes
et des segments Rollback (RBS)
Fichiers d'Archives
si ARCHIVELOG
Page 265
Copyright G. Mopolo-Mok
Page 266
Copyright G. Mopolo-Mok
La commande RECOVER
* Cette commande est loutil de recouvrement en mode
ARCHIVELOG
* cest aussi une clause de la commande ALTER
DATABASE (forme dutilisation dconseille par
Oracle)
* privilge requis : ALTER DATABASE
Syntaxe
[ALTER DATABASE]
RECOVER [ AUTOMATIC ] [ FROM location ]
{ [ DATABASE ] [ UNTIL CANCEL
| UNTIL TIME date
| UNTIL CHANGE integer
| UNTIL BACKUP CONTROLFILE ]
| TABLESPACE tablespace [ tablespace ] ...
| DATAFILE 'filename' [ 'filename' ] ...
| LOGFILE 'filename'
| CONTINUE [ DEFAULT ]
| CANCEL }
Page 267
Copyright G. Mopolo-Mok
Page 268
Copyright G. Mopolo-Mok
Description
AUTOMATIC
FROM location
DATABASE
UNTIL CANCEL
TABLESPACE tablespace
DATAFILE filename
LOGFILE filename
fichier
CONTINUE [DEFAULT]
CANCEL
Page 269
Copyright G. Mopolo-Mok
Page 270
Copyright G. Mopolo-Mok
2. remdier la panne
Page 271
Copyright G. Mopolo-Mok
Page 272
Copyright G. Mopolo-Mok
. Recouvrement incomplet
- Le recouvrement incomplet est ncessaire :
Etapes suivre
2. Remdier la panne
3. Remplacer les fichiers endommags par leur sauvegarde
Copyright G. Mopolo-Mok
Page 274
Copyright G. Mopolo-Mok
( suivre)
Page 275
Copyright G. Mopolo-Mok
Page 276
Copyright G. Mopolo-Mok
Archivelog
X
X
X
X
X
Page 277
X
X
Noarchivelog
recouvrement
complet
Recouvrer le
fichier manquant
Recouvrer le
fichier manquant
Faire un backup
de tous les fichiers
de donnes
recouvrer le fichier
de contrle
recouvrer le fichier
de contrle puis
faire un recouvrement incomplet
recouvrer le fihchier
de contrle
Page 278
sans effet
sans effet
Copyright G. Mopolo-Mok
Mode d'archivage
Archivelog
recouvrement
incomplet
recouvrement
incomplet
Recouvrer le fichier
de contrle puis les
les fichiers de
donnes
Recouvrer le fichier
de contrle. Faire
Reset redo log ...
Faire un recouvrement incomplet
Recouvrer le fichier
de contrle puis les
les fichiers de
donnes puis sauver
Noarchivelog
partir d' une sauvegarde complte
sans effet
partir d' une sauvegarde complte
sans effet
sans effet
Recrer un fichier de
contrle si arrt normal sinon partir d'un
backup complet
Recouvrer le fichier
de contrle puis faire un recouvrement
incomplet
Copyright G. Mopolo-Mok
sans effet
Copyright G. Mopolo-Mok
Page 280
Copyright G. Mopolo-Mok
Copyright G. Mopolo-Mok
Page 282
Plan
7. Outils d'administrations et les NLS
7.1 Export/Import
7.1.1 Gnralits
7.1.2 Export
7.1.3 Import
7.1.4 Les tablespaces transportables
7.2 Sqlloader
7.3 Sqlplus
7.4 Les NLS
7.5 Oracle Entreprise Manager(OEM)
7.5.1 Objectifs
7.5.2 Rappel sur les outils d'administration Oracle
7.5.3 L'Architecture de OEM
7.5.4 Les composants OEM
7.5.4.1 La console OEM
7.5.4.2 Les services communs de OEM
7.5.4.3 Outils d'administration bases de donnes OEM
Page 283
Copyright G. Mopolo-Mok
Copyright G. Mopolo-Mok
Page 284
Copyright G. Mopolo-Mok
7.1 Export/Import
7.1.1 Gnralits
Plan
7.1.1 Gnralits
7.1.2 Export
7.1.3 Import
Page 285
Copyright G. Mopolo-Mok
Archivage de donnes
Upgrade vers de nouvelles versions
Sauvegarde et restaurations de donnes
Dplacement de donnes entre bases Oracle
Page 286
7.1.1 Gnralits
Copyright G. Mopolo-Mok
7.1.2 Export
Reprsentation schmatique de
l'import/export
1. tables
Export dune ou N tables dans un schma. Le DBA peut
exporter les tables de N schma
BASE DE
DONNEES
ORACLE
BASE DE
DONNEES
ORACLE
2. Utilisateur ou schma
Export de tous les objets appartenant au schma c'est
dire un utilisateur (tables, vues, squences, donnes,
privilges, index, ...)
CIBLE
SOURCE
Import
Export
3. La base entire
FICHIERS
OS
Copyright G. Mopolo-Mok
Page 288
Copyright G. Mopolo-Mok
7.1.2 Export
7.1.2 Export
Page 289
Mode Utilisateur
schma de la table
donnes de la table
grant fait sur les tables
Index sur la table
contraintes sur la table
trigger de la table
Types utilisateurs
Tables imbriques
Indexes d'autres users
Triggers d'autres users
cluster
databases link
job queue
refresh group
squences
snapshot
snapshot log
procdure stocke
synonymes privs
Les vues
Copyright G. Mopolo-Mok
Mode FULL
schma de la table
donnes de la table
grant sur les tables
Index sur la table
contraintes sur la table
trigger de la table
Types utilisateurs
Tables imbriques
Indexes d'autres users
Triggers d'autres users
cluster
databases link
job queue
refresh group
squences
snapshot
snapshot log
procdure stocke
synonymes privs
Les vues
profiles
catalogue de rplication
cot des ressources
rles
dfinition des RBS
Options d'audit systme
privilges systmes
dfinition des tablespaces
quotas sur les tablespaces
dfinition des utilisateurs
Administration Oracle 10G
7.1.2 Export
Copyright G. Mopolo-Mok
7.1.2 Export
Nom
paramtre
Description
userid
username/password
none
buffer
rows_in_array*max_row_size
4096
file
expdat.dmp
compress
grants
indexes
rows
constraints
log
fichier log
none
full
non
owner
utilisateur(s) exporter
undefined
tables
tables exporter
undefined
record lenght
inctype
non
record
non
parfile
none
non
consistent
non
statistics
estimate
non
help
aide
Copyright G. Mopolo-Mok
Page 292
Copyright G. Mopolo-Mok
7.1.2 Export
7.1.2 Export
Nom
paramtre
Description
Direct
Chemin direct
feedkack
Consistent
filesize
resumables
Transport_tablespace
impport des mtadonnes des TS N
Tablespace
TS transporter
Datafile
fichier transporter
en mode commande
Copyright G. Mopolo-Mok
Page 294
7.1.2 Export
Copyright G. Mopolo-Mok
7.1.2 Export
a) en mode commande
a) en mode commande
b) en mode interactif
b) en mode interactif
$ exp tintin/milou
$ exp tintin/milou
Page 295
Copyright G. Mopolo-Mok
Page 296
Copyright G. Mopolo-Mok
7.1.2 Export
7.1.2 Export
a) en mode commande
a) en mode commande
b) en mode interactif
b) en mode interactif
$ exp system/manager
$ exp system/manager
Page 297
Copyright G. Mopolo-Mok
Page 298
7.1.2 Export
Page 299
7.1.2 Export
Activation
Copyright G. Mopolo-Mok
Description
Backup incrmental
Backup cumulatif
Backup complet
$ exp parfile=parfic.par
Copyright G. Mopolo-Mok
Page 300
Copyright G. Mopolo-Mok
7.1.2 Export
7.1.2 Import
1. tables
objet export
1er export
Incrmental
table1, index1,
table2 , table3, table4
table1, table2
2me export
Incrmental
table1, index1
table2 , table3, table4
table5, table6
1er Export
Cumulatif
table1, index1
table2 , table3, table4
table5, table6
table1, table2,table5,table6
(fusion des fichiers d'export
incrmental)
1er Export
Complet
table1, index1
table2 , table3, table4
table5, table6
table1, index1
table2 , table3, table4
table5, table6
2. Utilisateur ou schma
Import de tous les objets appartenant au schma c'est
dire un utilisateur (tables, vues, squences, donnes,
privilges, index)
3. La base entire
Copyright G. Mopolo-Mok
Page 302
Page 303
Mode Utilisateur
schma de la table
donnes de la table
grant fait sur les tables
Index sur la table
contraintes sur la table
trigger de la table
Types utilisateurs
Tables imbriques
Indexes d'autres users
Triggers d'autres users
cluster
databases link
job queue
refresh group
squences
snapshot
snapshot log
procdure stocke
synonymes privs
Les vues
Copyright G. Mopolo-Mok
7.1.3 Import
7.1.3 Import
Copyright G. Mopolo-Mok
Utilisation de lImport
Mode FULL
schma de la table
donnes de la table
grant sur les tables
Index sur la table
contraintes sur la table
trigger de la table
Types utilisateurs
Tables imbriques
Indexes d'autres users
Triggers d'autres users
cluster
databases link
job queue
refresh group
squences
snapshot
snapshot log
procdure stocke
synonymes privs
Les vues
profiles
catalogue de rplication
cot des ressources
rles
dfinition des RBS
Options d'audit systme
privilges systmes
dfinition des tablespaces
quotas sur les tablespaces
dfinition des utilisateurs
Administration Oracle 10G
Copyright G. Mopolo-Mok
7.1.3 Import
7.1.3 Import
Page 305
Copyright G. Mopolo-Mok
Nom
paramtre
Description
buffer
charset
commit
destroy
feedback
file
fromuser
full
grants
help
ignore
inctype
indexes
indexfile
log
mls*
record lenght
rows
show
tables
touser
userid
rows_in_array*max_row_size
jeux de caractre utilis l'export
commit aprs chaque tableau
inclus l'option reuse de fichier
Nbre de lignes afficher / objet
nom du fichier en entre
liste de schmas importer
importer toute la base
importer aussi les prvilges
aide
ignorer les erreur de cration
incrmental, cumulatif, complet ?
exporter les index
y insrer les create index
fichier log
utile si trusted Oracle
taille(bytes) de l'enreg. du fichier
importer les lignes ?
visualiser au lieu d'importer
tables importer
schma cible
username/password
4096
none
N
N
0 (toutes)
expdat.dmp
NONE
N
Y
N
N
none
Y
NONE
none
Page 306
7.1.3 Import
Nom
paramtre
Description
Destroy
Indexfile
statistics
resumables
Compile
Transport_tablespace
impport des mtadonnes des TS N
fichier transporter
Copyright G. Mopolo-Mok
Datafile
OS dpendant
Y
oui
N
oui
non
none
none
oui
filesize
TS transporter
oui
User name :
Tablespace
oui
oui
password :
Skip_unusable_index
Ignorer la maintenance dindex
unitilisables
affiche la progression toute les
N lignes
oui
7.1.3 Import
feedkack
oui
. Import
en mode commande
Copyright G. Mopolo-Mok
Page 308
Copyright G. Mopolo-Mok
7.1.3 Import
7.1.3 Import
a) en mode commande
$ imp system/manager file=tintin.dmp
fromuser=tintin tables="(emp)"
b) en mode interactif
$ imp system/manager
Import file : tintin.dmp >
Enter array fetch buffer size : 10240 >
List contents of import file only (Y/N) : N>
Copyright G. Mopolo-Mok
tables="(emp)"
Activation
$ imp system/manager parfile=parimp.par
Page 310
7.1.3 Import
Gnralits
La commande dIMPORT
IMP username/passwd
INCTYPE={SYSTEM|RESTORE}
SYSTEM :
importe les objets systmes les plus rcents grce
l'export incrmental le plus rcent. Pas d'import des
objets et donnes des utilisateurs.
RESTORE :
importe tous les objets et donnes des utilisateurs en
appliquant les export incrmentaux dans un ordre
chronologie ascendant (du plus vieux export au plus
rcent)
Copyright G. Mopolo-Mok
7.1.3 Import
Page 311
Copyright G. Mopolo-Mok
Exemple
temps
...
COM1
...
CUM1
INC1
INC2
Copyright G. Mopolo-Mok
Gnralits
Copyright G. Mopolo-Mok
Snapshot/replication
Function-based indexes
Scoped REFs
Domain indexes (un nouveau type d'index cr par
l'utilisateur)
8.0-compatible advanced queues with multiple
recipients
Page 313
Page 314
Copyright G. Mopolo-Mok
7.2 Sqlloader
Plan
Gnralits
Fonctionnement de SQLLOADER
Le langage de dfinition de donnes de SQLLOADER
Le mode chargement traditionnel et direct
Les exemples
Copyright G. Mopolo-Mok
Page 316
Copyright G. Mopolo-Mok
7.2 Sqlloader
7.2 Sqlloader
Gnralits
Fonctionnement de SQLLOADER
Fichier de donnes
(contient les enregistrements
charger)
Fichier de contrles
(contient la description
du chargement)
SQLLOADER
(extraction des champs)
rejet
accept
SQLLOADER
(traitement de la clause
WHEN)
dtruit
Fichier BAD
(mauvais enregistrements)
Slectionn
Fichier DISCARD
(enregistrements
dtruits :
clause WHEN)
SGBD Oracle
Rejet
Insr
Base de donnes Orcale
Copyright G. Mopolo-Mok
Page 318
Copyright G. Mopolo-Mok
7.2 Sqlloader
7.2 Sqlloader
Le fichier de donnes
Exemple 1:
champ 1 CHAR de 7
T I
R A
M A
champ 2
INTEGER
K
L
champ 1
CHAR
R A
Copyright G. Mopolo-Mok
T I
Page 319
Page 320
H
A
Copyright G. Mopolo-Mok
7.2 Sqlloader
7.2 Sqlloader
Le fichier de contrle
Le fichier LOG
Ce fichier contient les informations suivantes :
1) Informations d'en-tte (version Sqlloader, la date, ...)
Page 321
Copyright G. Mopolo-Mok
Page 322
7.2 Sqlloader
Le fichier Discard
Le fichier bad
ce fichier reoit deux types d'enregistrements :
ceux non dcrits dans le fichier de Contrle
et ceux violant les contraintes de la Base Oracle
La commande SQLLOADER
Syntaxe
sqlldr username/passwd [param1=value1] ... [paramN=vauleN]
description
valeur / dfaut
BAD
BINDSIZE
CONTROL
DATA
DIRECT
DISCARD
DISCARDMAX
ERRORS
FILE
LOAD
nomcontrolfile.BAD
os dpendant
ctl.if
nomcontrolefile.dat
LOG
PARFILE
PARALLEL
ROWS
SILENT
SKIP
USERID
Page 323
Copyright G. Mopolo-Mok
7.2 Sqlloader
Copyright G. Mopolo-Mok
Page 324
Copyright G. Mopolo-Mok
nomcontrolfile.date
tous
nomcontrolfile.log
aucun
7.2 Sqlloader
7.2 Sqlloader
Copyright G. Mopolo-Mok
Le LDD de SQLLOADER
Syntaxe
OPTIONS (options)
LOAD DATA
[{INFILE | INDDN} {nom_fichier | * }
[STREAM | RECORD | FIXED n [BLCKSIZE taille]
| VARIABLE [m]]
[{BADFILE | BADDN} nom_fichier]
[{DISCARDFILE | DISCARDDN} nom_fichier]
[{DISCARDS | DISCARDMAX} n]
[{INFILE | INDDN} ...]
[APPEND | REPLACE | INSERT]
[RECLEN n]
[{CONCATENATE n | CONTINUEIF
{[THIS | NEXT] (dbut [:fin]) | LAST}
oprateur {'chaine_de_caractre' | X'chane_hexa'}}]
INTO TABLE nom_table
[APPEND | REPLACE | INSERT]
[WHEN conditions]
[FIELDS [spcification_dlimiteur]]
( nom_colonne )
RECNUM | CONSTANT valeur | SEQUENCE ({n | MAX | COUNT}[,
incrmentation]) |
POSITION ({dbut [: fin] | * [+n]}] spcification_de_type_de_donnes
[NULLIF condition] [EFAULT condition] } [, ...] )
Contenu de utlexple1.par
userid= system/manager
control=utlexple1.ctl
log=utlexple1.log
bad=utlexple1.bad
silent=(HEADER, ERRORS, DISCARDS)
errors=200
Page 325
Page 326
7.2 Sqlloader
Description
STREAM
7.2 Sqlloader
Mot cl
Copyright G. Mopolo-Mok
RECORD
FIXED
BEGIN DATA
12,RESEARCH,"SARATOGA"
10,"ACCOUNTING",CLEVELAND
11,"ART",SALEM
13,FINANCE,"BOSTON"
21,"SALES",PHILA.
22,"SALES",ROCHESTER
42,"INTL","SAN FRAN"
CONCATENATE n | CONTINUEIF
construction d'un enreg. logique partir de plusieurs
enreg. physiques
INTO TABLE
Page 327
Page 328
Copyright G. Mopolo-Mok
7.2 Sqlloader
7.2 Sqlloader
Exemple (suite)
Exemple (suite)
Exemple 2 :
Exemple 3 :
LOAD DATA
INFILE ulcase2.dat
LOAD DATA
INFILE *
APPEND
INTO TABLE EMP
FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY "
(empno, ename, job, mgr,
hiredate DATE(20) "DD-Month-YYYY",
sal, comm, deptno CHAR TERMINATED BY :,
projno, loadseq SEQUENCE(MAX,1) )
Page 329
MANAGER
PRESIDENT
CLERK
MANAGER
SALESMAN
SALESMAN
ANALYST
Copyright G. Mopolo-Mok
7839 2572.50
5500.00
7782 920.00
7839 3123.75
7698 1600.00
7698 1312.50
7566 3450.00
300.00
1400.00
10
10
10
20
30
30
20
BEGINDATA
7782, "Clark", "Manager", 7839, 09-June-1981, 2572.50,, 10:101
7839, "King", "President", , 17-November-1981, 5500.00,, 10:102
7934, "Miller", "Clerk", 7782, 23-January-1982, 920.00,, 10:102
7566, "Jones", "Manager", 7839, 02-April-1981, 3123.75,, 20:101
7499, "Allen", "Salesman", 7698, 20-February-1981, 1600.00, 300.00,
30:103
7654, "Martin", "Salesman", 7698, 28-September-1981, 1312.50, 1400.00,
30:103
7658, "Chan", "Analyst", 7566, 03-May-1982, 3450,, 20:101
Page 330
7.2 Sqlloader
Copyright G. Mopolo-Mok
7.2 Sqlloader
Exemple (suite)
Exemple (suite)
Exemple 4 :
Exemple 5:
LOAD DATA
INFILE "ulcase4.dat"
DISCARDFILE "ulcase4.dis"
DISCARDMAX 999
REPLACE
CONTINUEIF (1) = *
INTO TABLE EMP
( EMPNO POSITION(01:04) INTEGER EXTERNAL,
ENAME POSITION(06:15) CHAR,
JOB POSITION(17:25) CHAR,
MGR POSITION(27:30) INTEGER EXTERNAL,
SAL POSITION(32:39) DECIMAL EXTERNAL
COMM POSITION(41:48) DECIMAL EXTERNAL,
DEPTNO POSITION(50:51) INTEGER EXTERNAL,
HIREDATE POSITION(52:60) INTEGER EXTERNAL)
LOAD DATA
INFILE ulcase5.dat
BADFILE ulcase5.bad
DISCARDFILE ulcase5.dis
REPLACE
INTO TABLE EMP
(EMPNO POSITION(1:4) INTEGER EXTERNAL,
ENAME POSITION(6:15) CHAR,
DEPTNO POSITION(17:18) CHAR,
MGR POSITION(20:23) INTEGER EXTERNAL)
Page 331
Copyright G. Mopolo-Mok
Copyright G. Mopolo-Mok
7.2 Sqlloader
7.2 Sqlloader
Exemple (suite)
Exemple 5 (suite) :
Fichier de donnes: utlcase5.dat
1234
1234
2664
5321
2134
2414
6542
2849
4532
1244
123
1453
BAKER
JOKER
YOUNG
OTOOLE
FARMER
LITTLE
LEE
EDDS
PERKINS
HUNT
DOOLITTLE
MACDONALD
Page 333
10
10
20
10
20
20
10
xx
10
11
12
25
9999
9999
2893
9999
4555
5634
4532
4555
9999
3452
9940
5532
Copyright G. Mopolo-Mok
101
777
425
321
236
236
102
294
40
665
132
200
102
888
abc
55
456
456
321
40
103
999
102
40
133
456
le chemin traditionnel :
utilise la commande INSERT
vrifient toutes les contraintes d'intgrit
le chemin direct
40
14
Page 334
7.2 Sqlloader
7.2 Sqlloader
sqlloader
chemin traditionnel
chemin direct
allocation de
nouveaux extents
buffer cache
Lecture des blocs
de donnes
Page 335
Copyright G. Mopolo-Mok
Copyright G. Mopolo-Mok
Page 336
Copyright G. Mopolo-Mok
7.2 Sqlloader
7.2 Sqlloader
contraintes
impossible de charger dans des tables en cluster
pas de condition SQL dans le fichier de contrle
pas d'Ordre Select sur une table indexe
Page 337
Copyright G. Mopolo-Mok
Page 338
7.3 Sqlplus
Copyright G. Mopolo-Mok
7.5 Sqlplus
Gnralits
Commande
Description
ARCHIVELOG
CONNECT
DESCRIBE
DISCONNECT
EXECUTE
EXIT
Quitter Sqlplus
HELP
HOST
MONITOR
RECOVER
REMARK
SET
Page 339
Copyright G. Mopolo-Mok
SHOW
SHUTDOWN
SPOOL
STARTUP
VARIABLE
Page 340
Copyright G. Mopolo-Mok
Plan
Gnralits
Gnralits
Les NLS permettent de mettre en oeuvre une ou
plusieurs applications dans des langues diffrentes
Copyright G. Mopolo-Mok
Page 342
Exemple
NLS_LANG=AMERICAN_AMERICA.US7ASSCII
NLS_LANG=FRENCH_FRANCE.ISO8859P1
NLS_LANG=FRENCH_CANADA.WE8DEC
NLS_LANG=JAPANESE_JAPAN.JA16EUC
Notes
Page 343
Copyright G. Mopolo-Mok
Copyright G. Mopolo-Mok
Exemple
NLS_LANGUAGE=FRENCH
Notes:
Page 344
Copyright G. Mopolo-Mok
le format de la date
le caractre dcimal et le sparateur de milliers
le symbole montaire local
le symbole montaire ISO du pays
le 1er jour de la semaine.
Exemple
NLS_LANGUAGE=FRANCE
format date
caractre dcimal
sparateur de millier
Notes:
: JJ/MM/AA
:,
:.
NLS_DATE_FORMAT
NLS_DATE_LANGUAGE
NLS_NUMERIC_CHARACTERS
NLS_CURRENCY
NLS_ISO_CURRENCY
NLS_SORT
permettent d'agir explicitement.
Exemple
NLS_DATE_FORMAT=DD RM YY
NLS_DATE_LANGUAGE=FRENCH
NLS_ISO_CUYRRENCY=FRANCE
NLS_NUMERIC_CHARACTERS =,.
...
Page 345
Copyright G. Mopolo-Mok
Page 346
En gnral
G (Groupe)
Exemple
ALTER SESSION SET
NLS_LANGUAGE=FRENCH
NLS_TERRITORY=FRANCE
NLS_DATE_FORMAT=DD RM YY
NLS_DATE_LANGUAGE=FRENCH
NLS_NUMERIC_CHARACTERS=,.
NLS_CURRENCY=FF
NLS_ISO_CURRENCY=FRANCE ;
NLS_ISO_CUYRRENCY=FRANCE
NLS_NUMERIC_CHARACTERS =,. -- DG
NLS_ISO_CUYRRENCY=FF
1234 9G999 => 1.234
3,234.44 L9G999D99
NLS_LANGUAGE
NLS_TERRITORY
NLS_DATE_FORMAT
NLS_DATE_LANGUAGE
NLS_NUMERIC_CHARACTERS
NLS_CURRENCY
NLS_ISO_CURRENCY
NLS_SORT
peuvent tre modifis la vole pour une session en
cours grce la commande ALTER SESSION
Exemple
Page 347
C(monnaie ISO)
Copyright G. Mopolo-Mok
=> FF3.234,44
Copyright G. Mopolo-Mok
Page 348
Copyright G. Mopolo-Mok
NLS_DATE_FORMAT
NLS_DATE_LANGUAGE
NLS_NUMERIC_CHARACTERS
NLS_CURRENCY
NLS_ISO_CURRENCY
NLS_SORT
Page 349
Copyright G. Mopolo-Mok
Page 350
NLS_DATE_LANGUAGE
TO_NUMBER :
NLS_NUMERIC_CHARACTERS,
NLS_CURRENCY,
NLS_ISO_CURRENCY
TO_CHAR :
NLS_DATE_LANGUAGE
NLS_NUMERIC_CHARACTERS,
NLS_CURRENCY,
NLS_ISO_CURRENCY
NLS_SORT
NLS_LOWER :
NLS_SORT
NLS_INITCAP :
NLS_SORT
NLSSORT :
NLS_SORT
NLS_UPPER :
Copyright G. Mopolo-Mok
Exemple
SELECT to_number(13.000,00, 99G999D99,
nls_numeric_characters=.,)
FROM dual;
SELECT to_date(1-MAY-89, DD-MON-YY,
nls_date_language=FRENCH)
FROM dual;
SELECT to_char(hiredate, DD/MON/YYYY,
nls_date_language=FRENCH)
FROM EMP ;
SELECT ename FROM emp
ORDER BY NLSSORT(ename, nls_sort=GERMAN);
SELECT ename FROM emp
ORDER BY nls_lower(ename, nls_sort=GERMAN);
Page 351
Copyright G. Mopolo-Mok
Page 352
Copyright G. Mopolo-Mok
8. Loption procdurale
OEM
Page 353
Copyright G. Mopolo-Mok
PLAN
Page 354
Copyright G. Mopolo-Mok
Dfinition
Unit de traitement PL/SQL pouvant contenir des
Ordres SQL, des variables, des constantes, des
curseurs et des exceptions
Page 355
Copyright G. Mopolo-Mok
8.1 Gnralits
8.1 Gnralits
8.2 Les procdures et fonctions
8.3 Les packages
8.4 Les Triggers
Page 356
Copyright G. Mopolo-Mok
Application base
de donnes
Serveur Oracle
code du programme
....
creer_emp(...);
...
code du programme
...
plus de performance :
changes rduits entre l'application et la base
une compilation pour plusieurs excutions
moins d'E/S, procdure dj dans la zone des requtes
creer_emp(...)
BEGIN
....
END;
...
code du programme
....
creer_emp(...);
...
code du programme
...
liste_emp(...);
...
Page 357
Copyright G. Mopolo-Mok
liste_emp(...)
BEGIN
...
END;
Page 358
Copyright G. Mopolo-Mok
Copyright G. Mopolo-Mok
Page 360
Copyright G. Mopolo-Mok
Syntaxe
ALTER { FUNCTION | PROCEDURE }
[schema.]nom COMPILE ;
Mots cls ou
paramtres
nom
schema
COMPILE
Exemple
Description
Exemple
ALTER FUNCTION emp_info COMPILE;
Page 361
Copyright G. Mopolo-Mok
Page 362
8.3 Packages
Copyright G. Mopolo-Mok
8.3 Packages
Gnralits
Gnralits (suite)
Reprsentation schmatique
Dfinition
Un package Oracle est l'image du package ADA une
unit de traitement PL/SQL nomme, regroupant des
procdures, des fonctions avec des curseurs et des
variables qu'elles utilisent ensemble
Un package comporte deux parties : la partie
spcification (PACKAGE SPECIFICATION) et la
partie implmentation (PACKAGE BODY)
Les composants d'un package peuvent tre publics ou
privs : Les composants publics sont dclars au
niveau de la partie spcification et les composants
privs au niveau la partie implmentation
Application 1
...
code programme
...
Nom_pack.nom_var1 = ...;
Nom_pack.nom_proc1(...) ;
...
code programme
Application N
...
code programme
...
Nom_pack.nom_var2 = ...;
ret=Nom_pack.nom_fonct1(...)
...
code programme
NOTE:
Lappel des objets dun package en dehors
de ce dernier doit se faire en prfixant l'objet
du nom du package.
Package spcification
nom_var1 type_var 1 ;
nom_var2 type_var2 ;
nom_proc1(...) ;
nom_proc2(...);
nom_fonct1(...);
Package body
nom_proc1(...)
BEGIN
nom_var1 := nom_var_2;
...
END
nom_proc2(...)
BEGIN
nom_proc1(...);
...
END
nom_fonct1(...)
BEGIN
...
END
Copyright G. Mopolo-Mok
Page 364
Copyright G. Mopolo-Mok
8.3 Packages
8.3 Packages
Description
schma
Description
schma
nom_package
Note : Les noms utiliss dans la partie spcification doivent tre les
mmes que dans la partie implmentation.
nom_package
spcification PL/SQL
Page 365
Copyright G. Mopolo-Mok
corps PL/SQL
Page 366
Cration
Copyright G. Mopolo-Mok
8.3 Packages
8.3 Packages
PACKAGE tintin.gestion_employes
END gestion_employes ;
END gestion_employes;
Page 367
Copyright G. Mopolo-Mok
Page 368
Copyright G. Mopolo-Mok
8.3 Packages
8.3 Packages
Exemple en interactif
sql > EXECUTE
gestion_employes.pemp_info(7856);
sqlplus>EXECUTE nouveau_sal(7856, 0.5);
Page 369
Copyright G. Mopolo-Mok
Page 370
8.3 Packages
Copyright G. Mopolo-Mok
8.3 Packages
Page 371
Copyright G. Mopolo-Mok
Page 372
Copyright G. Mopolo-Mok
Nom du
package
Description
Procdures
dbms_alert
dbms_describe
describe_procedure
dbms_job
run
dbms_lock
dbms_output
dbms_pipe
create_pipe, pack_message,
send_message, receive_message,
next_item_type, unpack_message
remove_pipe, purge, reset_buffer,
unique_session_name
dbms_shared_
pool
dbms_application_info
set_module, set_action,
set_client_info, read_module
read_client_info
dbms_system
set_sql_trace_in_session
Page 373
Copyright G. Mopolo-Mok
Page 374
Nom du
package
Description
dbms_space
fourni les infos sur lespace des segments non accessibles via les vues
dbms_sql
dbms_refresh
(voir dbmssnap.sql)
dbms_snapshot
(voir dbmssnap.sql)
Procdures
Gnralits
Un trigger BD est une action qui se dclenche avant ou
aprs un vnement.
Les triggers BD Oracle sont des blocs PL/SQL stocks
dans la base pouvant se dclencher automatiquement
avant ou aprs l'excution d'un Ordre SQL d'insertion,
modification ou suppression sur une table.
Reprsentation schmatique
Application cliente
dbms_defer,
permet construire et administrer des
dbms_defer_sys, appels de procdures distantes
dbms_defer_query
(voir dbmdefr.sql)
UPDATE
TABLEX ...
dbms_repcat
(voir dbmsrepc.sql)
INSERT INTO
TABLEX ...
Page 375
Copyright G. Mopolo-Mok
Copyright G. Mopolo-Mok
(voir dbmsrepc.sql)
DELETE FROM
TABLEX ...
Page 376
Copyright G. Mopolo-Mok
Trigger de
MAJ
Trigger
dinsertion
Trigger
de suppression
Types de triggers BD
BEFORE
UPDATE
INSERT
AFTER
DELETE
Statement Level
Copyright G. Mopolo-Mok
Mots cls
ou paramtres
Description
OR REPLACE
schma
trigger
BEFORE
AFTER
Delete, update, insert
on schema.table
FOR EACH ROW
WHEN
PL/SQL BLOCK
Page 378
Copyright G. Mopolo-Mok
Exemples 1 :
Cration d'un trigger qui permet d'assurer la contrainte d'intgrit
de mise jour et de suppression d'une cl dans la table matre et
d'assigner la cl trangre NULL dans la table ayant la cl
trangre.
<UPDATE - DELETE - SET NULL>
CREATE TRIGGER updateset
AFTER DELETE OR UPDATE OF deptno ON dept
FOR EACH ROW
-- Avant de supprimer une ligne dans la table dept ou modifier la cl dans
-- cette table. Mettre les cls trangres NULL
BEGIN
IF UPDATING AND :OLD.deptno != :NEW.deptno
OR DELETING THEN
UPDATE emp SET emp.deptno = NULL
WHERE emp.deptno = :old.deptno ;
END IF ;
END;
/
Copyright G. Mopolo-Mok
Page 380
Copyright G. Mopolo-Mok
Exemples 2
Cration d'un trigger qui permet (lors d'une suppression, modification ou
insertion) de mettre jour automatiquement le montant de la commande pour
chaque ligne de commande enregistre.
Etapes
1. Le trigger doit tre arm
2. le code du trigger sera rcompil sa premire excution
(code absent de la SGA) ou si modification des objets rfrencs
dans le code du trigger (note: rcompilation inutile depuis la 7.3)
3. Excuter le trigger
Notes
a) un trigger doit avoir moins de 60 lignes
b) utiliser les procdures pour tendre la taille dun trigger
END IF;
END;
Copyright G. Mopolo-Mok
Page 382
Domaines dapplications
Syntaxe
ALTER TRIGGER [schema.]trigger
{ENABLE | DISABLE | COMPILE}
Exemple
sql> ALTER TRIGGER updateset COMPILE ;
sql> ALTER TRIGGER updateset DISABLE ;
Copyright G. Mopolo-Mok
Page 383
Copyright G. Mopolo-Mok
Page 384
Copyright G. Mopolo-Mok
Copyright G. Mopolo-Mok
Exemple
sql>SELECT trigger_type, triggering_event, table_name
FROM user_triggers WHERE trigger_name = UPDATESET;
TRIGGER_TYPE
TRIGGERING_EVENT
TABLE_NAME
DEPT
sql>SELECT trigger_body
FROM user_triggers WHERE trigger_name = UPDATESET;
TRIGGER_BODY
BEGIN
IF UPDATING AND :OLD.deptno != :NEW.deptno
OR DELETING THEN
UPDATE ...
...
END;
Page 386
Copyright G. Mopolo-Mok