DBA
DBA
DBA
Initie avec Farouk Toumani, Professeur Clermont-Ferrand Premire version en 2002 luniversit Blaise Pascal
3 anne ISIMA (cole ingnieur) DESS SIAD
Jean-Marc Petit
Thmes du cours
Concrtiser la conception physique des bases de donnes Dmystifier les ordres SQL simples
create table EMP ( ); insert into EMP values ( ); select * from EMP where ;
Pr-requis
Autour des BD
Modle relationnel Langage de requtes Transactions Langage de programmation et BD
ressources
Sur ce cours
Forte volutivit des versions sous Oracle Comprendre les concepts importants, maitriser les points cls de lenvironnement Sur la technique :
savoir utiliser la documentation en ligne dOracle !!!
Histoire dOracle
1977
Relational Software Inc. (RSI - currently Oracle Corporation) established
1978
Oracle V1 ran on PDP-11 under RSX, 128 KB max memory. Written in assembly language. Implementation separated Oracle code and user code. Oracle V1 was never officially released.
1980
Oracle V2 released - the first commercially available relational database to use SQL. Oracle runs on on DEC PDP-11 machines. Coide is still written in PDP-11 assembly language, but now ran under Vax/VMS.
1982
Oracle V3 released, Oracle became the first DBMS to run on mainframes, minicomputers, and PC's (portable codebase). First release to employ transactional processing. Oracle V3's server code was written in C.
1983
Relational Software Inc. changed its name to Oracle Corporation.
1984
Oracle V4 released, introduced read consistency, was ported to multiple platforms, first interoperability between PC and server.
1986
Oracle V5 released. Featured true client/server, VAX-cluster support, and distributed queries. (first DBMS with distributed capabilities).
Corolaire :
Certains ordres prsents dans ce document peuvent tre errons en fonction de la version dOracle que vous utilisez
1988
Oracle V6 released - PL/SQL introduced.
1989
Released Oracle 6.2 with Symmetric cluster access using the Oracle Parallel Server
1991
Reached power of 1,000 TPS on a parallel computing machine. First database to run on a massively parallel computer (Oracle Parallel Server).
1992
Released Oracle7 for Unix
suite
1994
Oracle's headquarters moved to present location. Released Oracle 7.1 and Oracle7 for the PC.
Plan du cours
Introduction
Le rle de l'administrateur base de
1995
Reported gross revenues of almost $3 billion.
1995
OraFAQ.com website launched.
donnes
Composants de larchitecture dOracle Utilisation des outils dadministration
1997
Oracle8 released (supports more users, more data, higher availability, and object-relational features)
1998
Oracle announces support for the Intel Linux operating system
Serveur Oracle
Gestion dune instance Oracle Cration dune base de donnes Cration de vues du dictionnaire de donnes et Cration des packages standards
1999
Oracle8i (the "i" is for internet) or Oracle 8.1.5 with Java integration (JVM in the database)
2000
Oracle8i Release 2 released Oracle now not only the number one in Databases but also in ERP Applications Oracle9i Application Server generally available: Oracle tools integrated in middle tier
2001
Oracle9i Release 1 (with RAC and Advanced Analytic Service)
2002
Oracle9i Release 2
2004
Oracle10g Release 1 (10.1.0) available ("g" is for grid, the latest buzzword)
2005
Oracle10g Release 2 (10.2.0) available
Sauvegarde/Restauration
Quesaco ? Partie 1
Administration des bases de donnes
conception physique des bases de donnes Dernire tape dun processus de conception de BD Nombreux choix possibles sur la faon dorganiser le serveur de bases de donnes
taille dun bloc, emplacements des fichiers sur disque, nombre de fichiers de donnes, taille des fichiers, multiplexage, espace logique de stockage (tablespace),
Tches de ladministrateur de BD
Dans la phase de conception
dfinition du schma conceptuel de la base rgles de gestion, cohrence des informations cycle de vie des donnes, volumtrie
Grandes fonctions :
installer le SGBD et les applications clientes Crer la base de donnes en faisant des choix au niveau physique et la maintenir Grer les utilisateurs Assurer la cohrence et la scurit des donnes Echanger des donnes avec l'extrieur Amliorer les performances
gestion des ressources mmoires gestion des temps de rponses prohibitifs
Administration du rseau 15
16
Tendance actuelle
Administrateur de base de donnes
souvent form "sur le tas" l'intersection de plusieurs domaines beaucoup de demande, peu d'offre
mouton 5 pattes, env 45 KE/an
Tendances actuelles
progiciels intgrs
minimise les besoins en administration sans pour autant les supprimer
Utilisateurs
Connexion directe l'hte
e.g. avec telnet + sql*plus
Administrateurs
chargs de l'entretien du serveur Oracle
20
Processus Utilisateur
Fonctionne sur la machine du client Dmarre lors de l'appel d'un outil ou d'une application Excute l'outil ou l'application (SQL*Plus, Server Manager, OEM, Developer/2000) Inclut l'UPI (User Program Interface) Appelle le serveur Oracle
Session : connexion spcifique entre un utilisateur et un serveur prt l'emploi, i.e. un serveur dmarr.
21 22
Processus Serveur
Fonctionne sur la mme machine que le serveur Oracle En cas de serveur ddi, prend en charge un unique processus utilisateur Utilise une PGA exclusive (Program Global Area) Inclut l'OPI (Oracle Program Interface) Traite les appels gnrs par le client Retourne les rsultats au client en cas de serveur partag (MTS), plusieurs processus utilisateurs partagent un processus serveur
23
Architecture
Architecture serveur ddi
1 processus <-> 1 processus client serveur Architecture
la plus simple la plus rpandue
24
2. Serveur Oracle
Serveur Oracle =
25
26
... 27 28
BD Oracle
dsigne par un nom (DB_NAME), souvent pris identique celui de l'instance correspondante. reprsente les structures physiques des donnes se compose de fichiers du systme d 'exploitation
fichiers de donnes (>=1), (10g >=2) fichiers de reprise (redo log) (>=2) fichiers de contrle (>=1) fichier de paramtres fichier mot de passe fichiers de reprise archivs
29
30
Architecture Oracle
Processus utilisateur
Instance
Zone de mmoire m partage partag
SGA
Cache de donnes
Cache de reprise
Fichiers journaux Fichier de Fichiers de Fichiers de Fichiers de contrle journalisation archivs paramtres donnes Fichier de mots de passe
Base de donnes
31
32
Sert pour lallocation de mmoire des requtes SQL et code PL/SQL compose de :
library cache
contient le texte de la requte, le code analys et un plan d'excution dtermin par l'optimiseur
Paramtres
nombre de blocks dfini par DB_BLOCK_BUFFERS taille d'un bloc dfinie par DB_BLOCK _SIZE
33
34
PGA contient :
une zone de tri des informations sur la session l'tat du curseur ...
2. Si des blocs ne sont pas dj dans le cache, copie des blocs du disque dans le cache 3. Mise jour de verrou sur les donnes 4. Enregistrement des modifications
apporter au rollback (image avant) et aux donnes (nouvelles valeurs)
donnes
35
Ces blocs sont marqus comme modifis (diffrents des blocs stocks sur disque)
36
Rollback Segment
Permet la gestion des transactions
COMMIT : valide un ensemble de MAJ ROLLBACK : annule un ensemble de MAJ
Cache de reprise
Redo log = reprise Fait partie de la SGA Taille dfinie par LOG_BUFFER Stocke la trace des modifications
le bloc modifi l'emplacement de la modification la nouvelle valeur
les 3 constituent une "entre redo"
Avant d'effectuer une modification des donnes, le processus serveur enregistre l'ancienne valeur dans un
rollback segment
Intrts :
si la transaction choue, les modifications "dj faites" sont annules Assure une lecture cohrente des donnes par les autres transactions en cas de panne, les donnes sont restaures dans un tat cohrent.
Cache circulaire
capacit infinie !
37
38
DBWR
un des processus serveur en arrire plan enregistre les modifications du cache de donnes dans les fichiers de donnes Quand ?
Nombre de blocs modifis atteint un seuil pas assez de blocs libres dclenchement d'un point de synchronisation
1/3
une transaction est valide juste avant que DBWR ne fonctionne
Comme le cache de reprise, les fichiers de reprise sont organiss de faon circulaire
39 capacit infinie 40
10
COMMIT
est
1. Le processus serveur enregistre dans le cache de reprise 1 SCN 2. LGWR effectue une lecture contigu de tout le cache de reprise (SCN inclu) dans les fichiers de reprise 3. L'utilisateur reoit "commit complete" 4. Le processus serveur libre les verrous 41
Identification des applications d'administrations d' Oracle Entreprise Manager (OEM) Objectif :
Utilisation
des composants d'OEM du mode ligne de commande
42
Exemples d'outils
Mode ligne de commandes
Sqlplus sous NT
remplace SQL*DBA
Mode graphique
Outils d'OEM
Instance Manager Storage Manager SQL Worksheet Schema Manager Security Manager Backup Manager Data Manager
43
11
Objectifs Partie 2
Dcrire larchitecture dun SGBD
Comprendre son interface avec le matriel, le systme dexploitation
Etre capable de crer son propre serveur de bases de donnes Trois notions importantes Serveur de bases de donnes
Instance Base de donnes Dictionnaire et packages
45
46
Cration du fichier de paramtres Dmarrage d'une instance et ouverture de la base de donnes Fermeture de la base de donnes et arrt de l'instance Obtention et initialisation des paramtres Gestion des sessions Contrle des fichiers d'alertes et de traces
47
48
12
Instance Oracle
Pralable obligatoire pour accder une base de donnes Oracle Instance Oracle
associe une unique base de donnes SGA processus en arrire plan
Utilisateurs administrateurs
Utilisateur SYS et SYSTEM
crs automatiquement (rle DBA)
SYS
mot de passe : celui spcifi avec ORADIM ou change_on_install propritaire du dictionnaire
relations + vues dans le schma SYS
SYSTEM
mot de passe : celui spcifi avec ORADIM ou manager moins de privilges que SYS
de l'arrter
aprs avoir fermer puis dmonter la BD
Authentification
Deux possibilits :
laisser Oracle grer l'authentification dcharger Oracle en se rfrant au SE
4 cas de figure :
utilisateurs sans privilge utilisateurs privilgis (SYSOPER, SYSDBA) utilisateur sys affecter des rles aux utilisateurs
13
nettoie les ressources lors de l'echec d'un processus CKPT : Synchronise et assure la cohrence des donnes
53
54
Instance et Service NT
serveur Oracle = instance + BD Sous NT, chaque serveur est associ un service Pour crer un service, il faut utiliser l'outil ORADIM
permet d'excuter plusieurs serveurs Oracle sur la mme machine Attention au nombre de caractres
< 4 pour les noms de service (V8)
Taille SGA =
db_block_size * db_block_buffer + shared_pool_size + log_buffer
Exemple : Soit 500 Mo de RAM disponible => SGA = 200 Mo pour fixer les paramtres, dpend de la version dOracle !
10g :
db_cache_size = db_block_size * db_block_buffer, db_block_buffer plus maintenu
55
14
Le fichier de paramtres
Paramtre obligatoire :
db_name : idf de la bd, < 8 charactres, pas de chiffre comme 1er caractre
SGA
Vues dynamiques :
V$SGA : gnralit V$SGAINFO : info sur taille composants V$SGASTAT : info dtaille Exemple :
select sum(value) from V$SGA
57
# define directories to store trace # and alert files # background_dump_dest=D:\oracle\product\10.2 .0\admin\Mais\bdump user_dump_dest=D:\oracle\product\10.2.0\adm in\Mais\udump
Certaines commandes ncessitent que la base soit dans une de ces options
tape NOMOUT pour la cration de la base de donnes tape MOUNT pour renommer des fichiers de reprise, ...
59
60
15
Restauration d'instance
Fait suite un problme
du SE, de l'instance du matriel ...
le processus SMON
restaure automatiquement l'instance
lorsque l'instance est redmarre le cache des donnes est restaure partir du fichier de reprise
61
62
La commande STARTUP
Syntaxe :
STARTUP [FORCE] [RESTRICT] [PFILE=filename] [EXCLUSIVE | PARALLEL | SHARED] [ OPEN [RECOVER][DATABASE] | MOUNT | NOMOUNT] open : permet aux utilisateurs d'accder la base mount : monte la base mais accs limits nomount : sga + processus arrire plan. Pas d'accs la base exclusive : seule cette instance accde la base parallel ou shared : avec server // Oracle force : annule l'instance courante avant de dmarrer normalement restrict : accs rservs aux utilisateurs ayant le privilge RESTRICTED SESSION recover : dmarre la restauration quand la base dmarre
La commande SHUTDOWN
Syntaxe :
SHUTDOWN [NORMAL | TRANSACTIONNAL | IMMEDIAT | ABORT]
Mode d'arrt nouvelles connexions permises attend la fin des sessions en cours attend la fin des transactions en cours force un point de synchronisation et ferme
A 0 0 0 0
I 0 0 0 1
T 0 0 1 1
N 0 1 1 1
63
64
16
Exemples
SGA
V$PARAMETER, V$SGA, V$OPTION, V$PROCESS , V$SESSION , V$VERSION , V$INSTANCE
Dcrivent les structures du disque et de la mmoire Utiles pour le tuning des performances Prfixes par V$
dfinies partir de tables normalises prfixes par X$
Fichiers :
V$THREAD , V$CONTROLFILE , V$DATABASE , V$DATAFILE , V$DATAFILE_HEADER , V$LOGFILE
ou
select name from V$PARAMETER where name like '%control%';
65
66
V$SQL_BIND_DATA (V8)
V$SQL_BIND_METADATA (V8)
V$BACKUP_DATAFILE (V8) V$BACKUP_DEVICE (V8) V$BACKUP_PIECE (V8) V$BACKUP_REDOLOG (V8) V$BACKUP_SET (V8) V$DELETED_OBJECT (V8)
V$RECOVERY_FILE_STATUS
V$SQL_CURSOR V$SQL_SHARED_MEMORY
FIXED Vues
V$FIXED_TABLE V$FIXED_VIEW_DEFINITION V$INDEXED_FIXED_COLUMN
DATABASES et INSTANCES
V$ACTIVE_INSTANCES V$BGPROCESS V$BH (V8) V$COMPATIBILITY V$COMPATSEG V$COPY_CORRUPTION (V8) V$DATABASE V$DATAFILE V$DATAFILE_COPY (V8) V$DATAFILE_HEADER (V8) V$DBFILE V$DBLINK V$DB_PIPES V$INSTANCE V$LICENSE V$OFFLINE_RANGE (V8) V$OPTION V$SGA V$SGASTAT V$TABLESPACE (V8) V$VERSION
I/O
V$FILESTAT V$WAITSTAT
V$LATCH_MISSES V$LATCH_PARENT V$LOCK V$LOCK_ACTIVITY V$LOCK_ELEMENT V$LOCKED_OBJECT V$LOCKS_WITH_COLLISIONS V$PING V$RESOURCE V$RESOURCE_LIMIT (V8)
V$TRANSACTION_ENQUEUE (V8)
Verrous
V$BUFFER_POOL (V8) V$CACHE_LOCK V$CLASS_PING (V8)
V$DLM_CONVERT_LOCAL (V8) V$DLM_CONVERT_REMOTE (V8)
V$_LOCK V$_LOCK1
Divers
V$TIMER V$TYPE_SIZE V$_SEQUENCES (V8)
CACHE MANAGEMENT
V$CACHE (V8) V$DB_OBJECT_CACHE V$LIBRARYCACHE V$ROWCACHE V$SUBCACHE (V8)
CONTROL FILES
V$CONTROLFILE V$CONTROLFILE_RECORD_S ECTION (V8)
CURSORS et SQL
V$OPEN_CURSOR
V$DLM_LATCH (V8) V$DLM_MISC (V8) V$ENQUEUE_LOCK (V8) V$EVENT_NAME V$FALSE_PING V$FILE_PING (V8) V$LATCH V$LATCHHOLDER V$LATCHNAME V$LATCH_CHILDREN
67
68
17
PERFORMANCE
V$GLOBAL_TRANSACTION (V8)
REDO LOGS
V$LOG V$LOGFILE V$LOGHIST V$LOG_HISTORY
V$OBJECT_DEPENDENCY
V$SHARED_POOL_RESERVED
ROLLBACK SEGMENTS
V$ROLLNAME V$ROLLSTAT
V$SYSTEM_EVENT V$TRANSACTION
SECURITE et PRIVILEGES
V$ENABLEDPRIVS V$PWFILE_USERS
SESSIONS
V$ACCESS V$MYSTAT V$PROCESS V$SESSION V$SESSION_CONNECT_INFO V$SESSION_CURSOR_CACHE V$SESSION_EVENT V$SESSION_LONGOPS (V8)
V$SESSION_OBJECT_CACHE (V8)
PARAMETRES ORACLE
V$NLS_PARAMETERS V$NLS_VALID_VALUES V$PARAMETER V$SYSTEM_PARAMETER
69
70
Fermeture de sessions
Identifier la session fermer
interroger la vue V$SESSION Exemple :
select sid, serial# from V$SESSION where username='SCOTT';
Fichiers de trace
Remplis par le serveur et les processus en arrire plan Tout y est consign
constitue un journal chronologique des messages et des erreurs
Intrts :
permet de dtecter les erreurs internes et les corruptions de blocs surveiller (espionner) les oprations sur la base de donnes
18
commande SHOW
73
74
Prrequis
Un compte autoris DBA
tous les privilges sur le systme d'exploitation
BD Oracle : Rappel
dsigne par un nom DB_NAME
souvent le mme que celui de l'instance reprsente les structures physiques des donnes
se compose de fichiers du SE
fichiers de donnes (>=1)
stocke le dictionnaire des donnes, les objets utilisateurs et les images avant des donnes
Autres fichiers :
fichier de paramtres, fichier mot de passe, fichiers de reprise archivs
76
19
Sous Windows :
Cration automatique au cours d'une installation Cration via Oracle Database Assistant ou cration manuelle
78
Fichier de paramtres
Crer un fichier init<sid>.ora partir d'un fichier existant Editer le pour modifier certains paramtres
choix difficiles, nombreux paramtres
SPFILE
Exemple :
CREATE SPFILE='/u01/oracle/dbs/test_spfile.ora' FROM PFILE='/u01/oracle/dbs/test_init.ora';
20
82
Objectifs
Sur le dictionnaire :
Construction des vues du dictionnaire de donnes
script catalog.sql
Utilisation du dictionnaire
par exemple, pour l'valuation smantique des requtes
83
84
21
Dictionnaire de donnes
Fournit des informations sur
la structure logique et physique d'une base de donnes les noms, dfinitions, et allocation d'espace des objets des schmas les contraintes d'intgrit les utilisateurs, les privilges de la base l'audit
Vues du dictionnaire
Le prfixe USER
USER_XXX : objets qui appartiennent l'utilisateur Exemple :
USER_TABLES : contient toutes les tables d'un utilisateur
Le prfixe ALL
ALL_XXX : objets qui sont accessibles aux utilisateurs (grce colonne OWNER)
Le prfixe DBA
DBA_XXX : objets de toute la base Accdes par
l'administrateur ou un utilisateur ayant le privilge systme SELECT ANY TABLE
Les vues :
simplifient l'accs aux tables cres partir du script catalog.sql
Ordre d'inclusion :
85 USER <= ALL <= DBA 86
Exemples de vues
Vues
dictionary dict_columns dba_tables dba_objects dba_lobs dba_tab_constraints dba_users dba_sys_privs dba_roles dba_extents dba_free_space dba_segments dba_rollback_segs dba_data_files dba_tablespaces dba_audit_trail dba_audit_objects dba_audit_obj_opts
Description
Gnralits Informations sur les objets utilisateurs, e.g. tables, colonnes Informations sur les privilges et les rles utilisateurs Allocation despace pour les objets de la base Structure gnrale de la base Information sur laudit
USER_OBJECTS ou OBJ
OBJECT_NAME OBJECT_TYPE LAST_DDL_TIME STATUS OBJECT_ID CREATED TIMESTAMP COMMENTS
Trace des commandes excutes sur des objets appartenant lutilisateur. USER_AUDIT_SESSION Trace des connexions et des dconnexions de lutilisateur. USER_AUDIT_STATEMENT Trace des commandes suivantes:GRANT, REVOKE, AUDIT, NOAUDIT, et ALTER SYSTEM USER_TAB_COLUMNS ou COLS Liste des colonnes des tables, vues ou cluster crs par lutilisateur USER_COL_GRANTS Liste des Autorisations sur les colonnes pour lesquelles lutilisateur est le propritaire ou a lautorisation USER_COL_GRANTS_MADE Liste des Autorisations attribues par cet utilisateur sur les colonnes ou tables ou vues lui appartenant. USER_CONSTRAINTS Liste des Contraintes dfinies sur les tables de lutilisateur.
OWNER CONSTRAINT_TYPE SEARCH_CONDITION R_CONSTRAINT_NAME STATUS CONSTRAINT_NAME TABLE_NAME R_OWNER DELETE_RULE
USER_AUDIT_OBJECT
87
88
22
USER_CONS_COLUMS Listes des Colonnes intervenant dans la dfinition des contraintes sur les tables de l'utilisateur USER_DEPENDENCIES Listes des dpendances entre tables ou vues et procdures, fonctions et packages USER_ERRORS Listes des Erreurs courantes relatives aux procdures fonctions ou corps de package. USER_IND_COLUMNS Liste des colonnes, des index dfinis sur les tables de l'utilisateur. USER_INDEXES ou IND Liste des index crs par l'utilisateur USER_OBJECTS ou OBJ Tous ceux appartenant l'utilisateur USER_RESOURCE_LIMITS Description des valeurs limites des ressources pour cet utilisateur. USER_ROLE_GRANTS Liste des rles attribus cet utilisateur. USER_SEQUENCES ou SEQ Liste des squences cres par l'utilisateur USER_SOURCE Liste des textes des procdures packages, fonctions et corps de package crs par l'utilisateur. USER_SNAPSHOTS Liste des snapshots crs par l'utilisateur. USER_SYNONYMS ou SYN Liste des synonymes privs cres par l'utilisateur. USER_SYS_GRANTS Liste des privilges systmes attribus cet utilisateur. USER_TAB_COMMENTS Liste de commentaires relatifs aux tables et vues de l'utilisateur. USER_TAB_GRANTS_MADE Liste des Autorisations sur les objets appartenant l'utilisateur. USER_TAB_GRANTS_RECD Liste des objets sur lesquels l'utilisateur a reu une autorisation. USER_TABLES ou TABS Liste des tables cres par l'utilisateur. USER_TABLESPACES Liste des tablespaces accessibles cet utilisateur. USER_TRIGGERS Liste des triggers crs par l'utilisateur. USER_TS_QUOTAS Description des quotas de l'espace des tablespaces attribus l'utilisateur. USER_USERS Informations sur ce user. USER_VIEWS Liste des vues cres par cet utilisateur. CONSTRAINTS_DEFS Liste des dfinitions de contraintes relatives aux tables accessibles l'utilisateur.
ALL_COL_COMMENTS Liste des commentaires relatifs aux colonnes des tables et vues accessibles l'utilisateur. ALL_COL_GRANTS Liste des colonnes pour lesquelles l'utilisateur est autoris accder. ALL_CONSTRAINTS Liste des contraintes dfinies sur les tables accessibles l'utilisateur. ALL_CONS_COLUMNS Liste des colonnes intervenant dans la dfinition des contraintes dfinies sur les tables accessibles lutilisateur. ALL_DEPENDENCIES Liste des dpendances entre tables ou vues et procdures, fonctions et package, ces objets tant accessibles lutilisateur. ALL_ERRORS Liste des erreurs courantes relatives aux procdures, fonctions et packages, ces objets tant accessibles lutilisateur. ALL_IND_COLUMNS Liste des colonnes des index dfinis sur les tables accessibles lutilisateur. ALL_INDEXES Liste des index dfinis sur les tables accessibles lutilisateur. ALL_OBJECTS Liste des objets accessibles l'utilisateur.
OWNER OBJECT_NAME OBJECT_ID OBJECT_TYPE CREATEDLAST_DDL_TIME TIMESTAMP STATUS
ALL_SEQUENCES ALL_SOURCE
Liste des squences accessibles l'utilisateur. Liste des textes de procdures, fonctions et corps de package accesibles l'utilisateur.
89
90
Liste des snapshots accessibles l'utilisateur. Liste des synonymes accessibles l'utilisateur. Liste des colonnes, des tables, vues ou clusters accessibles l'utilisateur. ALL_TAB_COMMENTS Liste des commentaires relatifs aux tables et vues accessibles l'utilisateur. ALL_TAB_GRANTS Liste des autorisations sur les tables ou vues pour lesquelles l'utilisateur est autoris explicitement. ALL_TAB_GRANTS_MADE Liste des autorisations attribues ou reues par lutilisateur. ALL_TAB_GRANTS_RECD Liste des objets sur lesquels l'utilisateur a reu une autorisation. ALL_TABLES Liste des tables accessibles l'utilisateur. ALL_TRIGGERES Liste des triggers accessibles un utilisateur. ALL_USERS Liste des Informations sur les utilisateurs. ALL_VIEWS Liste des vues accessibles l'utilisateur.
91
92
23
Numro de version de la dernire session d'importation. DBA_EXTENTS Liste des extensions de tous les tablespaces de la base. DBA_FREE_SPACE Description des extensions libres dans tous les tablespaces de la base. DBA_IND_COLUMNS Liste des colonnes de tous les index dfinis sur toutes les tables de la base. DBA_INDEXES Liste des index de la base. DBA_OBJET_AUDIT_OPTS Liste des options d'audit pour toutes les tables et vues de la base. DBA_OBJECTS Liste de tous les objets de la base. DBA_PROFILES Liste de s profils attribus aux utilisateurs. DBA_ROLE_GRANTS Liste des rles attribus aux utilisateurs, et d'autres rles. DBA_ROLES Liste de tous les rles dans la base. DBA_ROLLBACK_SEGS Liste des segments d'annulation de la base DBA_SEGMENTS Description de tous les paramtre de stockage de tous les segments de la base. DBA_SEQUENCES Liste de toutes les squences de la base. DBA_SOURCE Liste des textes de toutes les procdures, packages, fonctions et corps de package DBA_SNAPSHOTS Liste de tous les snapshots de la base. DBA_SNAPSHOTS_LOGS Liste de tous les snapshots logs dans la base. DBA_SYNONYMS Liste de tous les synonymes de la base. DBA_SYS_GRANTS Liste des privilges systmes attribus aux utilisateurs et aux rles. DBA_TAB_COLUMNS Liste des colonnes des tables, vues ou cluster DBA_TAB_COMMENTS Liste des commentaires relatif aux tables et vues DBA_TAB_GRANTS Liste d'autorisations sur tous les objets de la base. DBA_TABLES Liste des tables de la base. DBA_TABLESPACES Liste des tablespaces de a base. DBA_TRIGGERS Liste des triggers de la base. DBA_TS_QUOTAS Description des quotas de l'espace des tablespaces DBA_USERS Informations sur tous les utilisateurs. DBA_VIEWS Liste des vues de la base.
DBA_EXP_VERSION
VUES DYNAMIQUES
Liste des objets verrouills actuellement. Description de lactivit des processus darrire plan. V$DATABASE Description de la base de donnes partir du fichier de contrle. V$DATAFILE Description de fichiers de donnes partir du fichier de contrle. V$DISPATCHERS Description de l'activit des processus dispatchers. V$FILESTAT Statistiques sur le oprations de lecture/criture sur un fichier. V$LOGFILE Description des fichiers de reprise partir du fichier de contrle. V$PARAMETER Description des valeurs actuelles des paramtres dinitialisation. V$PROCESS Description des processus actifs. V$SESSION Description des sessions courantes. V$SGA Description sommaire de la SGA. V$GASTAT Description dtaille de la SGA. V$SHARED_SERVERS Description des serveurs partags. V$TRANSACTION Description des transactions en cours.
V$ACCESS V$BGPROCESS
93
94
Scripts administratifs
Information catalogue et dictionnaire de donnes
cat*.sql exemple : catrman.sql pour l'utilitaire Recovery Manager
DBMS_SESSION
gnre commandes SQL tq
ALTER SESSION o u SET ROLE
DBMS_UTILITY
routines utilitaires
DBMS_SPACE
informations relatives la disponibilit de l'espace des segments.
DBMS_ROWID
fournit les informations sur le ROWID
DBMS_SHARED_POOL
conserve et retire des objets dans la SHARED_POOL 96
24
ou commande DESCRIBE
exemples :
describe dbms_session describe dbms_session.set_role
97
25
Partie 3
Fichiers de contrle
101
102
Objectifs
Explication sur les utilisations du fichier de contrle Examen du contenu du fichier de contrle Rcupration de l'information sur le fichier de contrle Multiplexage du fichier de contrle
26
le nom des tablespaces La date et l'heure de la cration de la base de donnes le numro de squence du fichier de reprise courant informations sur le dernier point de synchronisation historique du journal
105
106
Fichiers de reprise
d'chec
107
108
27
Objectifs
Explication sur l'utilisation des fichiers de reprise (journaux) Rcupration de l'information sur le fichier de reprise et sur l'archivage Contrle des basculements et des points de synchronisation des fichiers de reprise Multiplexage et maintenance de fichiers de reprise
Ne sont utiliss qu'en cas d'chec d'une instance pour restaurer des
109
110
Un membre est un lment d'un groupe, i.e. un fichier de reprise LGWR crit simultanment sur chaque membre du groupe
tous les membres d'un groupe possdent un numro de squence log
sert d'identifiant le numro courant est stock dans le fichier de contrle
Les membres d'un groupe sur des disques diffrents au moins 2 groupes
111
112
28
Rappel
Serveur Oracle enregistre squentiellement toutes les modifications dans le buffer de reprise circulaire de la SGA Transfert du buffer vers le groupe courant de reprise par LGWR
quand un commit est excut quand le buffer est rempli au 1/3 lors d'un dlai d'attente du LGWR (3s) avant que DBWR n'crive les blocs modifis du buffer cache de donnes dans les fichiers de donnes
Point de synchronisation
Un point de synchronisation se produit:
quand LGWR change de groupe courant quand une instance s'arrte (N,T ou I) avec les paramtres d'initialisation
LOG_CHECKPOINT_INTERVAL LOG_CHECKPOINT_TIMEOUT
commande de l'administrateur
ALTER SYSTEM SWITCH LOGFILE ALTER SYSTEM CHECKPOINT GLOBAL
plus rapide, n'implique pas de switch logfile
Actions faites :
tous les blocs modifis du cache de donnes qui sont aussi traits par le cache de reprise sont crits par DBWR le processus en arrire plan CKPT met jour les fichiers de contrle pour signaler 114 son aboutissement
suivant
113
Archivage
Dpend de la politique locale vis vis des donnes, i.e.
Une perte des donnes peut-elle tre envisage ?
Oui ? Non ?
Archivage
soit manuel
c'est l'administrateur de dclencher ou pas un archivage des fichiers de reprise
ALTER SYSTEM ARCHIVE LOG pas conseill par Oracle
soit automatique
paramtre de l'instance LOG_ARCHIVE_START=true dans init.ora, voir aussi paramtres :
LOG_ARCHIVE_DEST LOG_ARCHIVE_FORMAT
mode NOARCHIVELOG
fichiers de reprise sont crass (quand une boucle est faite) On accepte de perdre en cas de panne des modifications
29
V$INSTANCE
archiver
117
118
Suppression
Suppression de groupes de fichiers de reprise
ALTER DATABASE DROP LOGFILE GROUP 3
Ajout de membres
ALTER DATABASE ADD LOGFILE MEMBER 'D:\data\DISK3\log1b.rdo' TO GROUP 1, 'D:\data\DISK3\log2b.rdo' TO GROUP 2;
119
120
30
Objectifs Partie 4
Faire le lien entre structure physique et logique
via les fichiers de donnes
123
124
31
Gnralits
Base de donnes Oracle
structure physique
fichier de contrle fichiers de reprise fichiers de donnes
Utilisation du tablespace
Contrle de l'allocation d'espace et affectation de quotas aux utilisateurs Contrle de disponibilit des donnes par la mise online ou offline des tablespaces
structure logique
tablespace segment extent bloc
Excution de sauvegarde partielle Conservations de volumes importants de donnes statiques sur des dispositifs en lecture seule.
126
125
Tablespaces
Appartient une seule base de donnes Chaque tablespace comprend un ou plusieurs fichiers SE Les tablespaces peuvent tre mis on/off line lors de l'excution de la base de donnes
except le tablespace SYSTEM et un tablespace avec un rollback segment actif
Fichiers de donnes
Un ou plusieurs fichiers de donnes sont associs un tablespace
un fichier de donnes ne peut appartenir qu' un tablespace un serveur Oracle cre toujours un peu plus d'espace disque que ce qui est spcifi
Informations quantitatives :
nombre maximum de fichier par tablespace = 1023 nombre maximum de tablespace par base de donnes : 64 000
127
128
32
Lien segments/extents/blocs
Segments
Espace allou un type spcifique de structure logique de stockage dans un tablespace
segments de table, segments d'index, segment temporaire, rollback segment
Structure logique
Extents
Ensemble de blocs contigus. Chaque type de segment est compos d'un ou plusieurs extents
Blocs de donnes
contient un ou plusieurs blocs de fichier physique allou partir d'un fichier de donnes existant plus petite unit d'E/S sa taille vaut DB_BLOC_SIZE 129 130
S'il en existe un seul, c'est lui ! Ne devrait pas contenir de donnes utilisateurs Depuis 10 g, tablespace SYSAUX est ncessaire 131
132
33
Syntaxe
CREATE TABLESPACE nom DATAFILE file SIZE integer [K|M] [autoextend_clause] [, file [autoextend_clause] [MINIMUM EXTENT integer [K|M]] [DEFAULT storage_clause] [PERMANENT | TEMPORARY] [ONLINE | OFFLINE] storage_clause ::= STORAGE ( [INITIAL integer [K|M]] [NEXT integer [K|M]] [MINEXTENTS integer] [MAXEXTENTS [integer | UNLIMITED] [PCTINCREASE integer] ) autoextend_clause ::= AUTOEXTEND [OFF | ON [NEXT integer [K|M] ] [MAXSIZE [UNLIMITED | integer [K|M]]]]
Paramtres de stockage
Paramtres qui influent sur l'allocation d'espace de segment
INITIAL : taille du 1er extent (min 2*DB_BLOC_SIZE, par dfaut 5 blocs) NEXT : taille du suivant (min 1 bloc, par dfaut 5 blocs) MINEXTENTS : nombre d'extents allous lors de la cration du segment (min 1). MAXEXTENTS : nombre maximum d'extent d'un segment (min 1, par dfaut dpend de la taille du bloc, i.e. DB_BLOC_SIZE, max =UNLIMITED) PCTINCREASE : % de croissance de la taille de l'extent calcule par :
Taille du nime extent = NEXT*(1+PCTINCREASE/100)^(n-2)
133
134
Tablespaces temporaires
Utilis pour les oprations de tri
par les segments de tri (= segments temporaires)
135
136
34
Statut OFFLINE
Les donnes d'un tablespace offline ne sont plus accessibles
L'administrateur peut sauvegarder cette partie des donnes sans arrter le fonctionnement du reste de la base
Exemple :
ALTER TABLESPACE app_data OFFLINE;
137
138
Lecture seule
Empche toute opration d'criture sur les fichiers de donnes Permet de faciliter l'administration d'un sous-ensemble stable des donnes de l'application
donnes peuvent rsider sur CDROM ou WORM Exemple :
ALTER TABLESPACE app_data READ ONLY
Un tablespace contenant encore des donnes ne peut tre supprim sans l'option INCLUDING CONTENTS Ne supprime que les pointeurs de fichiers du fichier de contrle => les fichiers de donnes existent toujours
140
35
Informations (2)
Informations sur les fichiers de donnes et les tablespaces partir du
DBA_TABLESPACES
fichier de contrle
Jointure entre V$DATAFILE et V$TABLESPACE sur l'attribut TS#
A retenir :
utiliser de nombreux tablespaces assigner des quotas aux utilisateurs
141
142
Quelques conseils
Sparez les donnes utilisateurs des donnes du dictionnaire Sparez les donnes utilisateurs suivant les applications qui les utilisent => notion de charge Afin de diminuer la contention E/S, placer les fichiers des tablespaces diffrents sur des disques distincts Sparer les segments rollback des segments de donnes
143
144
36
Types de segments
Table (ou table non-clusterise ou table non-partitionne)
ressource la plus courante pour stocker les donnes donnes stockes sans ordre particulier on a peu de contrle sur l'emplacement des lignes dans les blocs d'une table. Appartient un seul tablespace
146
Cluster (suite)
Cluster (fin)
147
148
37
Index-Organized table
les donnes sont stockes dans l'index bas sur une valeur cl
Segment temporaire
pour grer lopration de tri omniprsente en SQL permet dimplanter un algorithme de tri out of core
Partition d'index
mme ide que Partition de table
Segment LOB
pour stocker des colonnes d'objets volumineux (LOB), e.g. documents textes, images, vidos
149 150
151
152
38
Manuellement :
Avec l'ordre
ALTER TABLE table ALLOCATE EXTENT;
153
154
Un bloc contient :
entte de bloc :@ du bloc de donnes, rpertoire de la table et de la ligne et entres transactionnelles. Croit de faon descendante. espace des donnes : les donnes d'une ligne sont insres de manire ascendante. espace libre : se trouve au milieu !
155
156
39
MAXTRANS
par dfaut, vaut 255
spcifie le nombre min/max d'entres de transaction cres dans un bloc (de donnes ou d'index)
PCTUSED : %tage d'espace au del duquel le bloc n'est pas considr comme libre
par dfaut, vaut 40%
157
158
159
160
40
PCTUSED
161
162
DBA_TABLESPACES Tablespaces * DBA_SEGMENTS Segments * DBA_EXTENTS Extents utiliss * DBA_DATA_FILES Fichiers de donnes * DBA_FREE_SPACE Extents libres
information gnrale :
owner, segment_name segment_type, tablespace_name
taille :
extents, blocks
initialisation du stockage :
initial_extent, next _extent min_extent, max_extent pct_increase
Exemple :
SELECT segment_name, tablespace_name, extents, blocks FROM DBA_SEGMENTS WHERE owner = 'SCOTT'
163
164
41
Emplacement et taille
tablespace_name relative_fno file_id block_id blocks
Exemple :
SELECT tablespace_name, count(*), max (blocks), sum(blocks) FROM dba_free_space GROUP BY tablespace_name;
Exemple :
SELECT extent_id, file_id, block_id, blocks FROM DBA_EXTENTS WHERE owner = 'SCOTT' AND segment_name = 'EMP'
165
166
Tendance la fragmentation
Tablespace
SYSTEM TOOLS DATA_n INDEX_n RBS_n TEMP_n Dico Appli Seg. Donnes Seg. index Rollback seg. Seg. Tmp Nulle Trs basse Basse Basse Elev Trs lev
167
168
42
Objectifs
Maintenir des informations pour tre capable dannuler des mises jour de donnes Deux types de gestion :
au niveau dun tablespace spcifique
Automatic undo management : UNDO TABLESPACE Introduit dans la 10g Fortement conseill par Oracle
L'entte du rollback segment contient une table des transactions donnant les transactions courantes utilisant le segment
Transaction
utilise un seul rollback segment y sont stocks tous les enregistrements rollback de la transaction l inverse est faux
Intrts (2)
Lecture cohrente
les autres transactions voient l'image avant des donnes grce au rollback segment
Restauration de transactions
En cas de panne, relecture du rollback segment dans un fichier de donnes
NB :
Permet de grer la cohrence des donnes lors des oprations de MAJ A ne pas confondre avec les fichiers de reprise
171
43
Cration
Ordre :
2/4
Non-SYSTEM
cr par l'administrateur deux cas :
Private utilisation normale Public serveur // d'Oracle
173
174
Gestion
Modification
ALTER ROLLBACK SEGMENT Mise ONLINE
3/4
Informations
Interroger la vue
DBA_ROLLBACK_SEGS
identification
SEGMENT_ID SEGMENT_NAME
4/4
Libration d'espace
ALTER ROLLBACK SEGMENT name SHRINK TO 2M;
Mise OFFLINE
ALTER ROLLBACK SEGMENT name OFFLINE
Statistiques
V$ROLLNAME V$ROLLSTAT
175
176
44
Segments temporaires crs dans le tablespace temporaire affect l'utilisateur pour trier
177 178
179
180
45
Exemple :
select s.username, u."USER", u.tablespace, u.contents, u.extents, u.blocks from V$SESSION s, V$SORT_USAGE v where s.saddr = u.session_addr;
181
46
185
186
Contraintes diffres
Lors de mise jour de la base de donnes (ordre du LMD), l'intgrit des donnes est vrifie
soit chaque ordre constituant la transaction
Option INITIALLY IMMEDIATE (par dfaut)
V8
DISABLE ENABLE NOVALIDATE
les donnes existantes peuvent ne pas tre cohrentes, les nouvelles le sont
Exemples :
au niveau de la session :
ALTER SESSION SET CONSTRAINTS = IMMEDIATE;
ENABLE VALIDATE
toutes les donnes sont cohrentes
au niveau de la transaction :
SET CONSTRAINTS pk1, fk2 DEFERRED;
Exemple :
ALTER TABLE emp ENABLE NOVALIDATE pk1;
187
188
47
Triggers
Permet de dfinir des contraintes lors d'insertion/suppression/modification de lignes dans une table Activation
ALTER TABLE scott ENABLE ALL TRIGGERS;
Informations relatives
Pour les contraintes, interroger les vues
DBA_CONSTRAINTS DBA_CONS_COLUMNS
Dsactivation
ALTER TRIGGER scott.tg1 DISABLE;
Suppression
DROP TRIGGER scott.tg1;
189
190
48
Niveaux de scurit
Comptes utilisateurs
connexion (directe ou indirecte) une base de donnes protection par des mots de passe
Rles
A mi-chemin entre
les utilisateurs : Ordre de cration de rle similaire les privilges : Assure l'affectation de plusieurs privilges
Rles et privilges
de niveau objets
gestion des accs aux objets (e.g., select sur la table EMP de SCOTT)
de niveau systme
gestion des commandes de niveau systme (e.g., create table, alter index, create database )
195
196
49
Niveau Oracle
Utilisateurs Rles Profiles Affectation directe des privilges
197
198
Utilisateur de BD = Schma
souvent utilis de faon indiffrente
Dcider des quotas pour chaque tablespace Crer lutilisateur Accorder des privilges et des rles l'utilisateur
199
200
50
Exemples
Sous sqlplus :
Authentification par Oracle
CREATE USER Paul IDENTIFIED BY edze!2z DEFAULT TABLESPACE data01 TEMPORARY TABLESPACE temp QUOTA 1M ON data01;
Modification
Avec ordre ALTER USER Exemples :
Changement du compte
ALTER USER Paul IDENTIFIED BY edze!2z PASSWORD EXPIRE; <- ligne optionnelle
Authentification par le SE
CREATE USER Paul IDENTIFIED EXTERNALLY DEFAULT TABLESPACE data01 TEMPORARY TABLESPACE temp QUOTA 1M ON data01; Conseil Oracle : A utiliser avec modration !
Suppression de quota
ALTER USER Paul QUOTA 0 ON data01;
les donnes existantes restent mais plus possible d'en insrer d'autres
quota illimit
ALTER USER Paul QUOTA UNLIMITED ON data01;
Avec OEM
Oracle Security Manager
Nom rel
ALTER USER Paul GLOBALY AS "Jean Paul Lponge";
201
202
Suppression
Syntaxe :
DROP USER utilisateur [CASCADE]
Option CASCADE
supprime tous les objets du schma puis supprime l'utilisateur
Exemples :
select username,default_tablespace, temporary_tablespace from dba_users where username = 'PAUL'; select * from dba_ts_quotas where username= 'PAUL';
Exemple :
DROP USER Paul CASCADE;
Remarque :
impossible de supprimer un utilisateur connect
203
204
51
205
206
Modification/suppression
Modification
ordre ALTER PROFILE Exemple :
alter profile new_prof limit sessions_per_user 3 idle_time 2;
Suppression
ordre DROP PROFILE
option CASCADE : assure que tous les utilisateurs ayant ce profil seront mis jour!
Exemple
create profile new_prof limit sessions_per_user 2 idle_time 1; alter user Paul profile new_prof; alter system set RESOURCE_LIMIT=true; 207
208
52
Exemples :
select distinct profile from dba_profiles; select * from dba_profiles where profile='DEFAULT';
209
210
Privilges
Deux types de Privilges
SYSTEME
permet aux utilisateurs d'effectuer des oprations dans la base de donnes Environ 80 privilges systmes
OBJET
permet aux utilisateurs d'accder /manipuler un objet particulier
Pour accorder un privilge systme, il faut possder le privilge WITH ADMIN OPTION Avec OEM, utiliser Oracle Security
Manager
Ordre GRANT permet d'ajouter un privilge un utilisateur
Exemple :
GRANT create index, create table TO Paul;
211
212
53
Privilges Objets
Les principaux privilges Objet :
ALTER, DELETE, INDEX, REFERENCES (pour les tables), SELECT, UPDATE, EXECUTE (pour les procdures)
Exemples :
GRANT execute ON dbms_pipe TO public; GRANT select ON emp TO Bob WITH GRANT OPTION; REVOKE execute ON dbms_pipe FROM scott;
Exemple :
select * from DBA_SYS_PRIVS; select * from SESSION_PRIVS; select * from DBA_TAB_PRIVS where grantee='BOB';
Attention la formulation :
pour donner le privilge "with admin option", il faut faire :
GRANT WITH GRANT OPTION
213
214
les privilges
Assure l'affectation de plusieurs privilges
215
216
54
Cration/Affectation de Rles
Cration
Ordre CREATE ROLE Exemples :
CREATE ROLE Vente; CREATE ROLE Vente IDENTIFIED BY bonus; CREATE ROLE Vente IDENTIFIED EXTERNALLY;
Exemples :
ALTER USER scott DEFAULT ROLE Vente, Achat; ALTER USER scott DEFAULT ROLE ALL; ALTER USER scott DEFAULT ROLE ALL EXCEPT Vente; ALTER USER scott DEFAULT ROLE NONE;
Sous OEM :
Oracle Security Manager
Affectation
Ordre GRANT Exemples :
GRANT create any table TO Vente ; GRANT Vente TO scott; GRANT Vente TO scott WITH ADMIN OPTION;
217
218
Conseils
Crer un rle pour chaque tche
d'application
e.g. traitement du salaire
Attribuer aux rles d'application les privilges ncessaires pour excuter la tche Crer un rle pour chaque type
d'utilisateur
e.g. chef de service
219
55
DBA_ROLE_PRIVS
rles accords aux utilisateurs et aux rles
ROLE _ROLE_PRIVS
rles accords aux rles
DBA_SYS_PRIVS
Privilges accords aux utilisateurs et aux rles
ROLE_SYS_PRIVS
Privilges systmes accords aux rles
ROLE_TAB_PRIVS
Privilges de table accords aux rles
SESSION_ROLES
rles d'un utilisateur actuellement activs
221
56
Sauvegarde / restauration
la sauvegarde la plus rcente est utilise pour restaurer la base perte d'information possible
Mode Archivelog
idem + fichiers de reprise archivs pas de perte d'information
de l'environnement technique
commandes du SE, outils NT, manuel, automatique environnement disques (RAID)
225
226
Sauvegarde froid
La plus simple mettre en uvre Les tapes :
identification des fichiers
select name from v$datafile; select member from v$logfile; select name from v$controlfile;
mode ARCHIVELOG
Restauration possible en cas d'incidents disque et logiciel Sauvegarde possible tout en gardant la BD ouverte et prte l'emploi Beaucoup de travail supplmentaire pour le DBA pour maintenir les fichiers archivs
Redmarrer la base
227
57
(mode ARCHIVELOG)
Sauvegarde de fichiers de donnes
Identifier les fichiers de donnes d'un tablespace, eg 'tbs' Tablespaces activs
1. ALTER TABLESPACE tbs BEGIN BACKUP; 2. Copier les fichiers partir du SE 3. ALTER TABLESPACE tbs END BACKUP;
Tablespaces dsactivs
1. ALTER TABLESPACE tbs OFFLINE NORMAL; 2. Copier les fichiers partir du SE 3. ALTER TABLESPACE tbs ONLINE;
Attention :
l'tat d'un fichier de donnes sauvegard online partir du SE est incertain
229
230
Requtes
Sur le mode d'archivage
select log_mode from v$database;
Restaurations
Mode Noarchivelog
perte des donnes saisies depuis la dernire sauvegarde restauration de tous les fichiers
En mode archivage
informations sur les tablespaces actuellement sauvegards
V$BACKUP, V$DATAFILE_HEADER,
Mode Archivelog
Diffrentes restaurations :
Restauration complte
Base de donnes ferme Base de donnes ouverte, tablespaces dsactivs Base de donnes ouverte, tablespaces dsactivs, fichiers de donnes endommags Fichier de contrle corrompu
Restauration incomplte
bas sur l'annulation bas sur les modifications et sur le temps
commande 'recover'
doc dans SQL*Plus !
231
232
58
Restauration: le principe
Restauration complte
Mode Noarchivelog
Les tapes 1. Fermer la base 2. Rparer la panne disque 3. Restaurer tous les fichiers de la sauvegarde la plus rcente 4. Ouvrir la base l'tape OPEN
Si les emplacements des fichiers ont chang, il faut renommer ces fichiers au niveau du fichier de contrle
redmarrer la base l'tape MOUNT
Possibilit de restaurer
toute la base des tablespaces le fichier de contrle des fichiers de donnes
3. Rparer la panne disque 4. Restaurer seulement les fichiers endommags 5. Lancer la restauration
RECOVER TABLESPACE tablespace ou pour chaque fichier de donnes RECOVER DATAFILE nom_fich
7. Activer le tablespace
ALTER TABLESPACE nom ONLINE
236
59
serveur NT l'coute de connexion sur un serveur Oracle par l'intermdiaire d'un ou plusieurs protocoles rseaux"
Protocoles rseaux
e.g., TCP/IP, NMP,
Configuration du rseau
Serveur BD Oracle
instance + base, e.g. ORCL, U01 ...
Notion de service
utiliser pour la rplication, l'authentification par le SE, ...
Crer autant de service qu'il existe de faon d'accder au serveur Redmarrer le PC pour prendre en compte les modifications Utiliser lsnrctl
commandes utiles :
status, set password 'pwd', stop 'listener', start 'listener'
239
240
60
Cot Client
Les configurations sont enregistres dans le fichier tnsnames.ora
c:\orant\net8\admin ou c:\orant\sqlnet\admin
Le SID de la BD est 'ORCL' La machine distante s'appelle 'lmijmp' Le protocole rseau est TCP/IP
faon transparente
choisir un nom de service pertinent, e.g.
Paye
241 242
Audit
243
244
61
Rsultats de laudit
Vue DBA_AUDIT_SESSION
OS_USERNAME USERNAME TERMINAL RETURNCODE ...
246
Groupes dactions
Possibilit de grouper les actions auditer
exemple : audit de toutes les commandes qui affectent les rles audit role audit connet whenever not successfull exemple de groupes fournis par Oracle
DBA : commande qui ncessitent une autorit DBA (grant, revoke, ) RESOURCE : create et drop pour les tables, clusters, vues, index, tablespaces, types et synonyms 248
Affectation dun code pour chaque action pouvant faire lobjet dun audit
Vue AUDIT_ACTIONS
Rsultats de laudit
Vue DBA_AUDIT_OBJECT pour dterminer comment un objet a t affect par une action
247
62
249
250
SQL*Loader
Pour charger des donnes stockes ailleurs que dans des bases Oracle
Direct-load insert
chargement rapide de tables
251
252
63
Mode table
dfinition, donnes, index, triggers, contraintes, autorisations,
Mode utilisateur
en fonction des droits de l'utilisateur
253
254
Utilisation d'export
Ligne de commande
utilitaire EXP[80]
cf doc Oracle8 Server Utilities exp80 help=y
exemple :
exp80 scott/tiger tables=(dept,emp) \ file=emp.dmp log=exp.log
plus rapide que le chemin conventionnel n'influence pas de faon significative les performances de l'export
Conventionnel :
direct = n (par dfaut)
OEM
Utiliser Oracle Data Manager
Data -> Export ...
255
256
64
Utilisation d'Import
Ligne de commande
utilitaire IMP[80]
cf doc Oracle8 Server Utilities imp80 help=y
Comportement d'Import
Ordre d'import
lecture contigu du fichier d'export table -> donnes -> index -> contraintes Si les tables existent dj, il est recommand de dsactiver les contraintes d'intgrit rfrentielles avant de faire l'import
exemple :
imp80 scott/tiger file=emp.dmp log=imp.log ignore=y
OEM
Utiliser Oracle Data Manager
Data -> Import
cf privilge IMP_FULL_DATABASE
257
258
Fichiers de donnes
contiennent les donnes au format dfini dans le fichier de contrle
Fichier "bad"
enregistrements refuss lors de l'insertion
Fichier "log"
trace du chargement
Fichier "discard"
facultatif, contient les enregistrements qui ne correspondaient pas aux critres de selection
259
260
65
SQL*Loader
Chemin direct
criture directe dans des blocs de donnes pas d'informations enregistres dans les fichiers de reprise (sauf si mode ARCHIVELOG) applique seulement les contraintes de cl primaire, unique et not null.
261
262
Utilisation
Sous invite SE, par ex msdos :
SQLLDR80 scott/tiger \ control=ulcase6.ctl \ log=ulcase6.log direct=true Ne fonctionne pas en mode interactif
Direct-Load insert
263
264
66
Chargement direct
V8 uniquement Utile pour charger des volumes de donnes important
plus rapide que les chemins conventionnels Ordre INSERT avec le hint APPEND
Exemple :
INSERT /*+APPEND*/ INTO bob.emp NOLOGGING SELECT * FROM scott.emp;
L'option NOLOGGING spcifie que les modifications ne sont pas enregistres dans les fichiers de reprise
265
67