Académique Documents
Professionnel Documents
Culture Documents
Olivier Guibert
Page 1 sur 27
De nombreuses explications sont fournies dans les deux ouvrages suivants qui constituent des rfrences pour tout administrateur dune base de donnes gre par Oracle : toute la documentation dOracle (plus de 16000 pages, en langue anglaise) : incontournable ! A. ABDELLATIF, M. LIMAME et A. ZEROUAL, Oracle7 : Langages Architecture Administration, EYROLLES, 1994 : indispensable ! Ces ouvrages ont largement contribu la ralisation de ce mini-cours dadministration dOracle et des exercices associs. Quelques sites Internet et groupes de discussion (news) sont galement conseills : www.osborne.com/oracle/index.htm : collection (de livres) officielle dOracle prsente par lditeur Oracle Press (Osborne/McGraw-Hill) www.oracle.com : site officiel dOracle www.oracle.fr : site franais dOracle home.nordnet.fr/~bdesquesne/index.html : site indpendant franais de B. Desquesne sur Oracle www.onwe.co.za/frank/faq.htm : site indpendant proposant des rponses aux questions les plus couramment poses sur Oracle ainsi que des pointeurs sur dautres sites sur Oracle comp.databases.oracle. extension : groupe de discussion sur Oracle (moteur, outils, etc.) comp.databases : groupe de discussion sur les SGBD
Page 2 sur 27
1.
2.
ARCHITECTURE INTERNE ........................................................................................................................................... 6 2.1. PRINCIPE GNRAL ......................................................................................................................................................... 6 2.2. LES FICHIERS .................................................................................................................................................................. 6 2.2.1. La structure physique ............................................................................................................................................ 7 2.2.2. La structure logique............................................................................................................................................... 7 2.3. LA MMOIRE .................................................................................................................................................................. 8 2.4. LES PROCESSUS .............................................................................................................................................................. 8
3.
CRATION ET DMARRAGE DE LA BASE DE DONNES..................................................................................... 9 3.1. CRATION DE LA BASE DE DONNES ............................................................................................................................... 9 3.2. MODIFICATION DES CARACTRISTIQUES DE LA BASE DE DONNES ................................................................................. 9 3.3. DMARRAGE ET FERMETURE DE LA BASE DE DONNES ................................................................................................ 10 3.3.1. Dmarrage dune base de donnes Oracle.......................................................................................................... 10 3.3.2. Fermeture dune base de donnes Oracle ........................................................................................................... 10
4. 5. 6.
TRANSACTIONS ET ACCS CONCURRENTS ......................................................................................................... 10 SCURIT DES DONNES............................................................................................................................................ 11 SAUVEGARDE ET RESTAURATION DE DONNES ............................................................................................... 11 6.1. LES DIFFRENTES PANNES ............................................................................................................................................ 11 6.2. LES MCANISMES MIS EN UVRE.................................................................................................................................. 12 6.2.1. Le journal ............................................................................................................................................................ 12 6.2.2. La restauration .................................................................................................................................................... 12 6.3. LES SAUVEGARDES ....................................................................................................................................................... 13 6.3.1. Les stratgies de sauvegardes.............................................................................................................................. 13 6.3.2. Les diffrentes sauvegardes ................................................................................................................................. 13 6.3.3. Quelques conseils ! .............................................................................................................................................. 13
7.
LOPTIMISATION........................................................................................................................................................... 13 7.1. OPTIMISATION D'UNE REQUTE .................................................................................................................................... 14 7.1.1. Les phases d'excution d'une requte .................................................................................................................. 14 7.1.2. Le plan d'excution .............................................................................................................................................. 14 7.1.3. Laccs aux donnes ............................................................................................................................................ 14 7.1.4. Les mthodes d'optimisation................................................................................................................................ 14 7.1.5. Les buts d'optimisation ........................................................................................................................................ 15 7.1.6. Paramtrage ........................................................................................................................................................ 15 7.1.7. Forcer les choix de loptimiseur par programmation ......................................................................................... 15 7.1.8. Modification de la requte par loptimiseur ........................................................................................................ 16 7.2. OPTIMISATION DE LA MMOIRE (CENTRALE) ................................................................................................................ 16 7.2.1. Appels superflus l'analyseur ............................................................................................................................. 16 7.2.2. Dfauts de mmoire du cache de la bibliothque ................................................................................................ 16 7.2.3. Dfauts de mmoire du cache du dictionnaire des donnes ................................................................................ 16 7.2.4. Dfauts de mmoire du buffer cache ................................................................................................................... 16 7.2.5. Dfauts de mmoire des fichiers de reprise ......................................................................................................... 17 7.2.6. Non utilisation de PL/SQL................................................................................................................................... 17 7.2.7. Dfauts de mmoire lis aux tris.......................................................................................................................... 17 7.3. OPTIMISATION DES ENTRES/SORTIES .......................................................................................................................... 17 7.3.1. Contentions des disques....................................................................................................................................... 17 7.3.2. Allocation d'espace dans les blocs....................................................................................................................... 17 7.3.3. Dfragmentation du disque.................................................................................................................................. 17 7.3.4. Allocation dynamique d'espace supplmentaire .................................................................................................. 17 7.4. RDUCTION DES CONTENTIONS DES PROCESSUS ........................................................................................................... 17 7.4.1. Contentions sur les segments dannulation ......................................................................................................... 17 7.4.2. Taux d'occupation du processus dispatcher ........................................................................................................ 18 7.4.3. Temps d'attente du processus dispatcher ; processus partags........................................................................... 18
8.
8.1. TRACE DE LEXCUTION DUNE REQUTE..................................................................................................................... 18 8.1.1. Le paramtre SQL_TRACE ................................................................................................................................ 18 8.1.2. Lutilitaire TKPROF ........................................................................................................................................... 18 8.1.3. La commande EXPLAIN.................................................................................................................................... 19 8.2. GNRATION DE STATISTIQUES DESTINES LOPTIMISEUR : LA COMMANDE ANALYZE ........................................... 19 8.3. OUTILS DE DVELOPPEMENT ........................................................................................................................................ 19 8.3.1. Utilisation des tableaux ....................................................................................................................................... 19 8.3.2. Programmation en PL/SQL ................................................................................................................................. 19 8.3.3. Quelques paquetages ........................................................................................................................................... 20 8.4. OUTILS DADMINISTRATION ......................................................................................................................................... 20 8.4.1. Lutilitaire SQL*DBA .......................................................................................................................................... 20 8.4.2. Lutilitaire Import/Export .................................................................................................................................... 20 8.4.3. Lutilitaire SQL*Loader ...................................................................................................................................... 21 8.5. OUTILS POUR UN ENVIRONNEMENT RSEAU ................................................................................................................. 21 8.5.1. SQL*Net et larchitecture client/serveur ............................................................................................................. 22 8.5.2. SQL*Star et les bases de donnes rparties ........................................................................................................ 22 9. NOUVEAUTS DES VERSIONS 8 ET 8I...................................................................................................................... 23 ORACLE ENTERPRISE MANAGER .............................................................................................................................................. 24 NET8 ........................................................................................................................................................................................ 25 LES RLES SYSOPER ET SYSDBA......................................................................................................................................... 25 SERVER MANAGER ................................................................................................................................................................... 26 LARCHITECTURE CLUSTER ................................................................................................................................................ 26 10. 11. 12. NOUVEAUTS DE LA VERSION 9I (ET 8I) ........................................................................................................... 26 NOUVEAUTS DE LA VERSION 10G ..................................................................................................................... 26 NOUVEAUTS DE LA VERSION 11G ..................................................................................................................... 27
LA VERSION STANDARD EDITION ............................................................................................................................................. 27 Installation, configuration et administration....................................................................................................................... 27 Donnes et applications compltes...................................................................................................................................... 27 Dveloppement .................................................................................................................................................................... 27 Performance, Reliability, Security and Scalability.............................................................................................................. 27
Page 4 sur 27
1. Architecture fonctionnelle
Larchitecture fonctionnelle dOracle repose sur un modle en couches : les applications se servent doutils (de dveloppement dapplications, de communication, de gnie logiciel, dadministration ou daide la dcision) qui utilisent directement SQL ou qui sappuient sur le PL/SQL (Programming Language / SQL), langage procdural dOracle qui transforme ses instructions en SQL, les ordres SQL sollicitant finalement le moteur (ou noyau) dOracle qui quant lui accde au dictionnaire des donnes.
1.2. Description
noyau : communication avec la base de donnes, connexion dautres noyaux (cas dune base rpartie) intgrit et cohrence confidentialit sauvegarde et restauration gestion des accs concurrents optimisation de lexcution des requtes (analyse, optimisation, excution) gestion des trois acclrateurs (index, clusters, hash clusters) stockage physique des donnes dictionnaire des donnes : mtabase (stocke sous la forme dun schma relationnel) dcrivant de faon dynamique la base de donnes (c.--d. structure centralise contenant la description de tous les objets grs par Oracle) objets de la base : schma : ensemble de structures logiques de donnes (cluster, lien de base de donnes, index, paquetage, procdure, squence, clich, journal de clich, table, vue, dclencheur, fonction) cluster (ou groupement) : contient une ou plusieurs tables ayant une ou plusieurs colonnes communes lien de base de donnes (database link) : permet laccs une base (Oracle ou non) distante index : structure contenant ladresse physique de chaque ligne dune table ou dun cluster paquetage (package) : collection de fonctions, de procdures et autres objets stocks procdure : programme PL/SQL stock dans la base de donnes ne retournant pas de valeur squence : permet de gnrer des entiers uniques clich (snapshot) : table contenant le rsultat dune requte dfinie sur une base distante journal de clich (log snapshot) : table associe la table matresse utilise par le clich table : structure de donnes contenant les donnes, compose de lignes (occurrences) et de colonnes (champs) vue : reprsentation logique combinant une ou plusieurs tables ou vues dclencheur (trigger) : procdure stocke dans la base associe un vnement fonction : programme PL/SQL stock dans la base de donnes retournant une valeur synonymes : re-dnomination de certains des objets de la base segment dannulation : sauvegarde des donnes permettant de valider ou de dfaire les transactions espace de tables (tablespace) : allocation despace disque dans la base de donnes pour stocker les objets cl primaire : une ou plusieurs colonnes permettant didentifier de manire unique chaque ligne de la table cl unique : une ou plusieurs colonnes permettant didentifier de manire unique chaque ligne de la table, autorisant la valeur indtermine cl trangre : une ou plusieurs colonnes dont les valeurs dpendent dune cl primaire Page 5 sur 27
intgrit rfrentielle : consistance des relations des cls trangres rfrenant les cls primaires utilisateurs avec leurs privilges sur les diffrents objets profil : ensemble de limitations de ressources, attribu explicitement ou implicitement chaque utilisateur rle : ensemble de privilges attribuables des utilisateurs ou autres rles privilge daccs : droit accord un utilisateur sur la base de donnes utilisateur : compte administr par Oracle ayant accs tout ou partie de la base de donnes informations relatives lactivit de la base (connexions, ressources utilises, verrouillages, etc.) Le dictionnaire des donnes est organis comme une base de donnes relationnelle de sorte que ses tables et vues sont accessibles en SQL, en lecture pour certains utilisateurs, en lecture et mise jour par le noyau via lutilisateur SYS ; ces vues sont rparties en quatre classes (la liste complte des tables, vues et synonymes sobtient en consultant la vue DICTIONARY) : vues relatives aux objets dun utilisateur (USER_) : trace de connexion/dconnexion de lutilisateur (USER_AUDIT_SESSION), tables, vues, synonymes et squences de lutilisateur (USER_CATALOG), objets de lutilisateur (USER_OBJECTS), tables cres par lutilisateur (USER_TABLES), colonnes des tables, vues, clusters cres par lutilisateur (USER_TAB_COLUMNS), espaces de tables accessibles par lutilisateur (USER_TABLESPACES), informations sur lutilisateur (USER_USERS), privilges systmes attribus lutilisateur (USER_SYS_GRANTS), autorisations sur les tables et vues appartenant lutilisateur ou donnes ou reues (USER_TAB_GRANTS), etc. vues relatives aux objets accessibles un utilisateur (ALL_) : les mmes ! vues relatives aux administrateurs (DBA_) : les mmes, description des fichiers de donnes (DBA_DATA_FILES), extensions libres dans les espaces de tables (DBA_FREE_SPACE), etc. vues relatives au suivi des performances disponibles aux administrateurs (V$ ou V_$) : objets actuellement verrouills (V$ACCESS), description de la base de donnes ou des fichiers de donnes ou des fichiers de reprise partir du fichier de contrle (V$DATABASE ou V$DATAFILE ou V$LOGFILE), valeurs de paramtres dinitialisation (V$PARAMETER), processus actifs (V$PROCESS), mmoire (V$SGA), transactions en cours (V$TRANSACTION), session courante (V$SESSION), etc. SQL : interface entre le noyau et les diffrents outils Oracle ; chaque commande (interprte) subit une vrification syntaxique et smantique, est dcompose en oprations lmentaires et soumise au noyau pour excution, est rcupre et transmise lapplication ou loutil en ayant fait la demande PL/SQL : extension procdurale du langage SQL outils de dveloppement d'applications : SQL*Plus, SQL*Forms, SQL*ReportWriter, SQL*Menu, Pro* (Pro*C, Pro*COBOL, SQL*Webserver, etc.) outils de communication SQL*Star : SQL*Net, SQL*Connect outils de gnie logiciel : CASE*Dictionary, CASE*Designer, CASE*Generator outils d'administration SQL*DBA : toute administration dOracle, en mode menu ou en mode ligne Import/Export : change de donnes entre diffrentes bases Oracle ; cest galement un outil de dfragmentation SQL*Loader : importer un fichier dans une base de donnes Oracle outils d'aide la dcision : ORA 1-2-3, SQL*QMX, Easy*SQL, SQL*Calc, Oracle*Mail
2. Architecture interne
Larchitecture interne dOracle est compose de fichiers, de processus (programmes en cours dexcution) et de mmoire. Une instance Oracle (dsigne par le SID, System Identifier) correspond un ensemble de fichiers, une zone mmoire alloue et des excutables assurant le fonctionnement dune base de donnes. Chaque instance est compltement indpendante et il est possible de faire fonctionner simultanment plusieurs instances.
Page 6 sur 27
Oracle respecte la norme ANSI/X3/SPARC reprsentant une base de donnes en trois niveaux (externe, conceptuel, interne respectivement les vues et la gestion des utilisateurs et de leurs droits daccs, la structure logique, la structure physique).
espace de tables : regroupement d'objets logiques sous la forme dun ensemble de fichiers au moins SYSTEM pour le dictionnaire des donnes, il est conseill den avoir au moins un second pour stocker les objets de la base de donnes sparment du dictionnaire des donnes dsactivable (except SYSTEM) pour rendre un espace de tables inaccessible aux utilisateurs fichier : ensemble de segments segment : ensemble d'extensions donnes : stockage des tables utilisateurs, systmes et groupes (clusters) index : stockage des donnes d'index annulation (rollback) : enregistrement des actions des transactions (identification du bloc modifi et des valeurs avant mise jour pour chaque rollback entry) temporaire : associ aux requtes ncessitant un espace disque supplmentaire (cration d'index, slection avec tri, oprateur ensembliste) amorage (bootstrap) : dfinition du dictionnaire des donnes charge lors de l'ouverture de la base de donnes (situ dans lespace de tables SYSTEM) extension (extent) : suite de blocs (logiques) contigus extension initiale et supplmentaires (suivante et pourcentage d'accroissement partir de la troisime extension) bloc (logique) : la plus petite unit logique d'entre/sortie gre par Oracle la taille d'un bloc logique est un multiple de la taille d'un bloc physique gr par le systme d'exploitation
PCTFREE (10% par dfaut) : pourcentage d'espace du bloc devant rester libre (pour les modifications) Si la valeur de PCTFREE est faible, on gagne en espace (peu de blocs) mais on perd en performance (donnes
fragmentes). La valeur de PCTFREE doit tre suprieure 10% si et seulement si la mise jour d'une ligne entrane souvent une augmentation de sa taille. PCTUSED (40% par dfaut) : pourcentage d'espace du bloc autorisant ou non l'insertion dans ce bloc Format d'un bloc : entte (adresse du bloc, type de segment auquel il appartient), liste des tables (informations sur les tables clustrises), liste des lignes (adresse de chaque ligne, etc.), espace libre (pour la modification des lignes), donnes (sur une ou plusieurs lignes, ou sur une partie de ligne imposant un chanage des blocs). Format d'une ligne : entte de ligne (overhead, nombre de colonnes, identifiant de cl de cluster, adresse physique en cas de chanage) et colonnes (longueur et valeur de chacune).
2.3. La mmoire
La mmoire est ainsi structure : zones rserves au code de l'applicatif : code des programmes en cours d'excution noyau Oracle outils Oracle (SQL*DBA, SQL*Plus, SQL*Forms, etc.) et programmes d'application faisant appel Oracle zone globale systme (System Global Area ou Shared Global Area) : zones tampons partages contenant les donnes et les informations de contrle relatives une instance cache base de donnes (ou buffer cache) : ensemble de zones tampons partages (par tous les processus) contenant des copies des blocs de donnes (des tables, index, segments dannulation, clusters) lus partir des fichiers de donnes ; gr par une liste des tampons modifis non encore crits sur le disque et une liste des tampons rcemment les moins utiliss (algorithme LRU c.--d. Least Recently Used) zone de reprise (Log buffer) concernant les mises jour des donnes pool partag (Shared buffer pool), gr par un algorithme LRU cache de la bibliothque (zone SQL partage) cache du dictionnaire des donnes donnes des sessions (pour la version multi-threads dOracle) zone prive SQL et PL/SQL zone globale programme (Program Global Area) : informations de contrle relatives un processus
processus serveur : processus associ un ensemble de processus utilisateurs analyse et excution des requtes SQL soumises par les applications transfert des blocs de donnes du disque en mmoire communication des rsultats aux applications processus d'arrire plan (background process) : tches du SGBD excutes de faon asynchrone smon (system monitor) : recouvrement d'instance lors de son dmarrage dbwr (database writer) : gestion du cache base de donnes et criture des mises jour apportes ce cache dans les fichiers de donnes lgwr (log writer) : gestion de la zone de reprise et criture des tampons de reprise dans le fichier de reprise pmon (process monitor) : recouvrement des processus utilisateurs reco (recover) : recouvrement en cas dchec d'une transaction rpartie arch (archiver) : copie des fichiers de reprise pleins ckpt (checkpoint) : criture de toutes les donnes (du cache base de donnes) modifies oralsn (listener) : aiguille les connexions utilisateurs vers un processus dispatcher (cas dune configuration multi-thread server) Dnnn (dispatcher) : partage les processus serveurs pour les processus utilisateurs lck0, , lck9 (lock) : grent le verrouillage inter-instances (cas dun serveur parallle) Gestion multi-processus : architecture combine : un processus utilisateur pour chaque utilisateur (remplissant aussi les fonctions des processus serveurs) architecture serveur ddi : un processus utilisateur et un processus serveur pour chaque utilisateur architecture serveur partag : un processus serveur peut tre associ plusieurs processus utilisateurs
Cration de la nouvelle base de donnes La commande create database nom de base de donnes controlfile reuse logfile fichiers de reprise datafile fichiers de donnes gnre la cration des fichiers de donnes, des fichiers de reprise, des fichiers de contrle, de lespace de tables SYSTEM et du segment dannulation SYSTEM, du dictionnaire des donnes (tables, vues, synonymes), de deux utilisateurs (SYS et SYSTEM) ; la base de donnes est alors non seulement cre mais linstance est dmarre et la base de donnes est charge (monte) et ouverte.
3.3. Dmarrage et fermeture de la base de donnes 3.3.1. Dmarrage dune base de donnes Oracle
Le dmarrage dune base de donnes Oracle consiste mettre la base de donnes la disposition des utilisateurs. Se connecter avec le privilge INTERNAL
connect INTERNAL
Dmarrer une instance Le dmarrage dune instance consiste prparer le contexte (espace mmoire et processus) pour les utilisateurs.
startup nomount
Chargement dune base de donnes Le chargement dune base de donnes consiste associer une base de donnes une instance dmarre. alter database mount (ou startup mount pour faire en mme temps le dmarrage de linstance) La base de donnes est alors accessible aux administrateurs mais pas aux autres utilisateurs ; cela permet de renommer un fichier de donnes, ajouter ou supprimer ou renommer un fichier de reprise, activer ou dsactiver loption darchivage des fichiers de reprise, effectuer un recouvrement (restauration suite une panne) total de la base de donnes, etc. Ouverture dune base de donnes Louverture dune base de donnes consiste rendre la base de donnes accessible tous les utilisateurs. alter database open (ou startup open pour faire en mme temps le dmarrage de linstance et le chargement de la base de donnes) Les fichiers de donnes et de reprise sont alors ouverts.
Fermeture dune base de donnes Les donnes en mmoire sont enregistres dans les fichiers de donnes et de reprise qui sont ensuite ferms. Dchargement dune base de donnes Le dchargement dune base de donnes consiste dissocier une base de donnes dune instance. Les fichiers de contrle sont alors ferms. Arrter une instance Larrt dune instance consiste librer la mmoire et arrter tous les processus. La commande shutdown normal refuse toute nouvelle connexion et attend que tous les utilisateurs se dconnectent ; quand il ny a plus aucun utilisateur connect, la base de donnes est ferme et dcharge et linstance est arrte.
lignes partages RS (row share) verrou slectif des lignes en vue de leur mise jour autres verrous autoriss : RS RX S SRX
select ... for update lock table ... in row share mode
(V$LOCK.LMODE=2)
lignes exclusives RX (row exclusive) (V$LOCK.LMODE=3) verrou slectif de lignes dune table en vue de leur mise jour ; les lignes ne sont cependant pas partages avec dautres transactions autres verrous autoriss : RS RX
insert
Page 10 sur 27
table partage S (share) (V$LOCK.LMODE=4) verrou sur une table ; les autres transactions peuvent effectuer des interrogations sur cette table ; si plusieurs transactions verrouillent la mme table en mode table partage, aucune ne peut effectuer de mise jour autres verrous autoriss : RS S
lock table ... in share mode
partage exclusif de lignes SRX (share row exclusive) (V$LOCK.LMODE=5) verrou sur une table ; les autres transactions peuvent effectuer des interrogations sur cette table autres verrous autoriss : RS
lock table ... in share exclusive mode
table exclusive X (exclusive) (V$LOCK.LMODE=6) verrou sur une table ; les autres transactions peuvent effectuer des interrogations sur cette table ; la transaction ayant positionn ce verrou peut effectuer une criture exclusive sur la table aucun autre verrou autoris
lock table ... in exclusive mode
La fin dune transaction lve les verrous quelle a poss. Les verrouillages du dictionnaire des donnes et internes (mmoire, etc.) sont transparents (grs par Oracle).
segments dannulation). Oracle effectue automatiquement le recouvrement : smon effectue tout dabord un roll-forward des mises jour prsentes dans les fichiers de reprise et ensuite un rollback des mises jour non valides dont les images avant sont prsentes dans les segments dannulation panne disque : qui, suite une cause matrielle, empche la lecture ou lcriture dun fichier. pour un fichier de reprise : si un fichier miroir existe, Oracle continue sans interruption ; sinon Oracle sarrte avec une perte de donnes pour un fichier de contrle : Oracle sarrte (mme si un fichier miroir existe) pour un fichier des donnes : en lecture, Oracle signale lerreur et continue ; en criture, si le fichier de reprise en ligne plein est archiv, alors une erreur est retourne dans le fichier de trace et lespace de tables est mis hors service, sinon dbwr sarrte et linstance se bloque Si loption NOARCHIVELOG est active, le recouvrement doit se faire en restaurant la dernire sauvegarde complte (toutes les donnes mises jour depuis la date de cette dernire sauvegarde sont dfinitivement perdues). Si loption ARCHIVELOG est active, le recouvrement se fait en restaurant la base jusqu la dernire transaction consistante valide.
6.2.2. La restauration
Deux situations peuvent se produire : des donnes sont mises jour par des transactions mais ne sont pas crites dans les fichiers de donnes au moment de la validation (de sorte que ces donnes ne sont prsentes que dans les fichiers de reprise) les fichiers de reprise contiennent des donnes non valides dues des transactions annules (les segments dannulation disposent de cette information) Les tapes du recouvrement sont alors les suivantes : rcuprer la dernire sauvegarde ; la base est dans un tat cohrent, mais a perdu les mises jour les plus rcentes. (roll-forward) appliquer sur les fichiers de donnes limage avant du journal c.--d. effectuer sur les fichiers de donnes toutes les mises jour prsentes dans les fichiers de reprise (en ligne et archivs) et dans les segments dannulation ; la base contient alors toutes les mises jour, valides ou non. (rollback) appliquer sur les fichiers de donnes limage arrire partir des segments dannulation (qui annulent les transactions non valides) ; la base est dans un tat cohrent et contient alors toutes les mises jour les plus rcentes ayant t valides. Page 12 sur 27
Sauvegarde complte
Sauvegarde sur un support magntique de tous les fichiers de la base de donnes (de donnes, de reprise, de contrle) --ainsi que les fichiers dinitialisation et du rseau --- par une commande du systme dexploitation. Fait suite une fermeture normale de la base de donnes. En mode ARCHIVELOG, recouvrement partir de la sauvegarde la plus rcente et utilisation des fichiers de reprise (en ligne et archivs) permettant de reprendre jusquau moment o sest produite la panne. Procdure :
shutdown normal
sauvegarde de tous les fichiers (de donnes, de reprise, de contrle) par une commande du systme dexploitation
startup
6.3.2.2.
Sauvegarde partielle
Utile quen mode ARCHIVELOG. Sauvegarde dun espace de tables ou dun fichier de donnes ou de contrle. La base peut tre ouverte ou ferme. Procdure dans le cas dun fichier de donnes ou dun espace de tables activ (online) : identifier le fichier de donnes dun espace de tables activ par la commande
select FILE_NAME from DBA_DATA_FILES where TABLESPACE_NAME= tablespace
marquer le dbut des oprations de sauvegarde de lespace de tables activ : alter tablespace sauvegarde des fichiers de donnes en ligne par une commande du systme dexploitation marquer la fin des oprations de sauvegarde de lespace de tables dsactiv : alter tablespace En mode ARCHIVELOG, Oracle insre le dernier point de vrification (checkpoint) dans le fichier de donnes permettant, en cas de restauration, dappliquer le recouvrement partir de ce point. Procdure dans le cas dun fichier de donnes ou dun espace de tables dsactiv (offline) : identifier le fichier de donnes dun espace de tables dsactiv par la commande
select FILE_NAME from DBA_DATA_FILES where TABLESPACE_NAME= tablespace
dsactiver lespace de tables : alter tablespace sauvegarde des fichiers de donnes en ligne par une commande du systme dexploitation ractiver lespace de tables : alter tablespace La sauvegarde dun fichier de donnes inactiv ne pose pas de problme car il est dans un tat cohrent.
7. Loptimisation
Il sagit de fixer les objectifs atteindre pour une meilleure utilisation des performances en adaptant Oracle aux besoins spcifiques (voire contradictoires) des applications. Par exemple, doit-on privilgier le temps de rponse ou le dbit du rsultat, ou encore doit-on considrer une requte ou une application ou tous les traitements concurrents, etc.
Page 13 sur 27
Il convient doptimiser tout dabord les requtes, ensuite la mmoire et enfin les entres/sorties et les contentions des processus. Dans tous les cas, les performances de votre systme peuvent tre dplorables si la valeur du paramtre DB_BLOCK_SIZE (correspondant lunit de taille dchange entre la mmoire principale et la mmoire auxiliaire) a mal t dfinie (et fixe une fois pour toutes) lors de la cration de la base de donnes.
La mthode statique consiste dterminer le plan d'excution en fonction des diffrentes mthodes d'accs aux donnes disponibles en privilgiant celui de moindre cot compte-tenu de la classification suivante (en commenant par la plus efficace) : accs une ligne par son adresse physique accs une ligne par jointure clustrise accs une ligne par cluster par hachage avec cl unique accs une ligne par cl unique jointure clustrise (c.--d. les deux tables rfrences par la jointure sont stockes dans le mme cluster) cl de cluster par hachage cl de cluster index Modifi le 5/11/12 16:11 - dit le 5/11/12 16:11 - Imprim le 5/11/12 16:11 Page 14 sur 27
index compos (conjonction sur toutes ses colonnes qui testent l'galit) index unique recherche borne sur des colonnes indexes recherche non borne sur des colonnes indexes jointure avec tri et fusion fonctions dagrgation minimum ou maximum de colonnes indexes tri sur une colonne indexe parcours complet de la table
7.1.4.2.
La mthode statistique
La mthode statistique consiste : commencer par gnrer les plans d'excution en fonction des diffrents chemins d'accs aux donnes disponibles, estimer ensuite le cot (nombre d'entres/sorties, temps CPU, mmoire ncessaire) de chaque plan d'excution partir des statistiques existantes sur les tables/colonnes/clusters/index concerns en considrant les critres de slectivit (pourcentage de lignes ramenes) et de facteur de blocage (nombre de lectures multi-blocs dpendant du paramtre DB_FILE_MULTIBLOCK_READ_COUNT), choisir finalement l'un des plans d'excution de cot minimal. La commande analyze permet de gnrer des statistiques sur un objet. Par exemple, lordre analyze index index compute statistics lance une analyse complte (plutt pour les index ou de petites tables) dun index tandis que lordre analyze table table estimate statistics sample 20 percent lance une analyse partielle (plutt pour des tables volumineuses) dune table.
Le but doptimisation consistant obtenir le meilleur temps de rponse permet de rduire le temps d'obtention de la premire ligne du rsultat. Cela concerne ventuellement un traitement interactif. Par exemple, une jointure par imbrication de boucles (NESTED LOOPS) favorise le temps de rponse.
7.1.5.2.
Le but doptimisation consistant obtenir le meilleur dbit du rsultat permet de minimiser le temps global d'excution (c.--d. pour obtenir la totalit) du rsultat. Cela concerne assurment les traitements par lot. Par exemple, une jointure par tri et fusion (MERGE JOIN) favorise le dbit du rsultat.
7.1.6. Paramtrage
Le paramtre de session OPTIMIZER_GOAL (modifiable par la commande alter session) indique la mthode et le but poursuivis : statique et temps de rponse (FIRST_ROWS) indpendamment de la disponibilit de valeurs statistiques statique et dbit du rsultat (ALL_ROWS) indpendamment de la disponibilit de valeurs statistiques statistique (CHOOSE) : en prsence de valeurs statistiques relatives au moins une table rfrence dans la requte (le but doptimisation est alors le meilleur dbit du rsultat) ; en labsence de valeurs statistiques, la mthode utilise est alors statique Le paramtre d'initialisation OPTIMIZER_MODE indique la mthode utilise : statique (RULE) indpendamment de la disponibilit de valeurs statistiques statistique (COST) en prsence de valeurs statistiques relatives au moins une table rfrence dans la requte (le but doptimisation est alors le meilleur dbit du rsultat) ; en labsence de valeurs statistiques, la mthode utilise est alors statique Le paramtre OPTIMIZER_GOAL est prioritaire sur le paramtre OPTIMIZER_MODE.
de la jointure : dans lordre dans lequel les tables se prsentent (ORDERED), par des boucles imbriques (USE_NL), par un algorithme tri et fusion (USE_MERGE)
Page 16 sur 27
La solution consiste augmenter le nombre de buffers (DB_BLOCK_BUFFERS) si le rapport du nombre d'accs aux donnes sur le nombre de demandes de donnes est infrieur 3/5. Il faut dfinir la valeur du nombre de buffers en sachant que la taille mmoire alloue en cache pour les donnes et les index est gale DB_BLOCK_BUFFERS * DB_BLOCK_SIZE.
Le diagnostic peut se faire l'aide de la vue V$WAITSTAT ; ses principaux champs sont la classe (CLASS avec comme principales valeurs system undo header, undo header, system undo block et undo block), le nombre (COUNT), le nom (NAME avec comme principales valeurs db block get et consistent gets), la valeur (VALUE). La solution consiste augmenter le nombre de segments dannulation si le nombre d'attente d'une classe est suprieur 1%. Une rgle simple pour dfinir la valeur du nombre de segments dannulation : nombre dutilisateurs / 4. De plus, lors de la cration des segments dannulation, il est prfrable dutiliser loption OPTIMAL (afin davoir une taille optimale pour ces segments).
Pour tous les traitements, on vrifiera : si PRSCPU,PRSELA,PRSPHR sont importants relativement EXECPU,EXEELA,EXEPHR,FCHCPU,FCHELA,FCHPHR alors diagnostic : beaucoup de temps est pass en phase danalyse solution : augmenter la taille du dictionnaire des donnes si PRSCNT est trop important alors diagnostic : des curseurs ferms sont peut-tre r-analyss si EXEPHR+FCHPHR>1.1*(EXECR+EXECU+FCHCR+FCHCU) alors solution : augmenter la taille du cache base de donnes si FCHCNT2*FCHROW alors solution : viter les curseurs implicites si une requte interactive est telle que PRSELA+EXEELA+FCHELA>250 (plus de 25 sec.) alors solution : crire diffremment ce traitement si EXECR est trop important et si FCHROW,PRSCU,EXECU,FCHCU sont beaucoup moins importants alors solution : crer des index sur les tables
statistique. Les statistiques concernent les tables (nombre de lignes, nombre de blocs, nombre de blocs inutiliss, espace libre moyen, nombre de lignes chanes, longueur moyenne des lignes), les index (niveau de lindex, nombre de blocs terminaux, nombre de cls distinctes, nombre moyen de blocs terminaux par cl, nombre moyen de blocs de donnes, valeur minimale de la cl, valeur maximale de la cl), les colonnes (nombre de valeurs distinctes). Les statistiques peuvent tre calcules pour chaque valeur (compute), estimes grce au dictionnaire des donnes (estimate) ou supprimes (delete).
Page 19 sur 27
8.4.2.1.
Limportation
Lutilitaire Import (imp) permet limportation de donnes partir dune base de donnes Oracle ; on parle de restauration logique partir dun fichier de commandes SQL de mises jour de donnes.
8.4.2.2.
Lexportation
Lutilitaire Export (exp) permet lexportation de donnes partir dune base de donnes Oracle ; on parle de copie logique gnrant dans un fichier des commandes SQL de mises jour de donnes. Les objets concerns sont : les structures des tables, les donnes des tables, les privilges, les vues, les clusters, les synonymes, les squences, les contraintes dintgrit. Trois modes dexportation sont possibles : mode table, mode utilisateur ou mode base de donnes. Modifi le 5/11/12 16:11 - dit le 5/11/12 16:11 - Imprim le 5/11/12 16:11 Page 20 sur 27
Le mode dexportation base de donnes peut concerner tous les objets y compris ceux appartenant lutilisateur SYS (entire database), tous les objets excepts ceux de SYS (full database), incrmental c.--d. concerner tous les objets y compris ceux de SYS et cela depuis la dernire exportation en mode incrmental ou cumulatif ou complet (incremental), cumulatif c.--d. concerner tous les objets y compris ceux de SYS et cela depuis la dernire exportation en mode cumulatif ou complet (cumulative), complet c.--d. concerner tous les objets y compris ceux de SYS et en remettant zro les compteurs pour les modes incrmental et cumulatif (complete). Une bonne stratgie consiste faire une premire exportation en mode complet, rgulirement des exportations en mode incrmental, de temps en temps des exportations en mode cumulatif.
Oracle a une approche client/serveur de sorte que toute application ou outil Oracle ncessitant un accs la base de donnes envoie une requte la machine grant la base de donnes ; cela autorise notamment la rpartition des donnes (SQL*Net : connexion dune application un serveur telle que le client envoie sa requte sous forme de message que le serveur excute et renvoie alors le rsultat) et des traitements (SQL*Star = SQL*Net + noyau rparti pour grer les requtes multi-bases + SQL*Connect pour tout ce qui nest pas Oracle).
Page 21 sur 27
Page 22 sur 27
intermdiaire (entre les utilisateurs du systme et ceux ne pouvant pas franchir le pare-feu) dans le cadre denvironnement multi-tiers. Oracle Secure Directory implmente SSL (Secure Socket Layer) v3 permettant lauthentification daccs et la protection des donnes prives. Rplication des applications de front office : dploiement de masse facilit grce de nouveaux modles de clichs (snapshots), possibilit de partitionner horizontalement ou verticalement les clichs afin de dployer la quantit minimale de donnes ncessaires un site distant (de plus, les donnes sont localises le plus proche possible des utilisateurs les manipulant). Partitionnement des tables et des index par hachage (rpartition des donnes en partitions de tailles gales et uniformes sur diffrents priphriques) ou hybride (les donnes sont dabord partionnes selon des plages de valeurs avant dtre haches en plusieurs sous-partitions). Entrepts de donnes (data warehouse ou data mart) : reconstruction automatique dindex en ligne (sans interruption des oprations de mise jour), suivi doprations longues (construction dindex, sauvegarde de la base, etc.). Gestion de la base de donnes de secours : disponible constamment en lecture seule, fichiers de reprise (journaux de rexcution) lui sont automatiquement expdis et appliqus. Optimiseur : copie des statistiques doptimisation dune base de donnes vers une autre, stockage des plans dexcution en les rendant non modifiables. Transactions : modle de publication/abonnement (transmission automatique des messages aux abonns) utilisant des files dattente et de messagerie afin de travailler en mode asynchrone avec dautres systmes (Advanced Queuing). Outils de diagnostics (via le service mondial dassistance technique) pour lanalyse et le dpannage. Oracle Parallel Server : nouveau mcanisme de communication entre les instances (les blocs passent par linterconnexion entre les nuds et non par la lecture du disque), utilisation simplifie (pour la localisation des erreurs, par des statistiques sur la coordination des travaux entre instances, etc.), quilibrage automatique de charge la connexion, affectation possible dun travail un nud spcifique. Espaces de tables transportables (c.--d. copiables dune base de donnes vers une autre) sparment. Nouveaux vnements : arrt/dmarrage de la base de donnes, connexion/dconnexion utilisateur, erreur du serveur, cration/modification/suppression dune table. Gestion de plusieurs crivains (dbwriters) sous la forme desclaves dentres/sorties (i/o slaves) ; aussi, le paramtre DB_WRITERS a pour nouveau nom DB_WRITER_PROCESSES.
Quelques uns des outils. Oracle Universal Installer (OUI) : outil graphique pour installer et mettre jour les produits Oracle. Oracle Online Documentation : documentation dOracle en ligne. Oracle Enterprise Manager (OEM) : outil dadministration de tous les objets de la base de donnes. Oracle DataBase Assistant : aide la cration dune base de donnes. Oracle Utilities : outils dadministration (Server Manager, Export/Import, SQL*Loader). Oracle WedDB : ensemble doutils de dveloppement (cration, dploiement, administration) dapplications Web dynamiques. Oracle ConText Cartridge (extraction de texte, quel quen soit le format : HTML, Word, Excel, Acrobat, etc.), Oracle Image Cartridge, Oracle Spatial Cartridge : gestion des objets multimdia. Oracle Call Interface (OCI) : interface de programmation de bas niveau (proche dOracle). Oracle Migration Assistant for MS Access : outil de migration dune base Access vers Oracle (lapplication Access --formulaires, tats, macros, modules --- est conserve tandis que les tables Access sont attaches des tables Oracle qui gre de plus les contraintes dintgrit). Quelques changements. Loutil SQL*DBA cde sa place Server Manager et Oracle Enterprise Manager. SQL*Net disparat au profit de Net8. Les outils SQL*Forms, SQL*ReportWriter et SQL*Menu sont regroups dans loutil Developer/2000, avec la possibilit dutiliser indiffremment les langages PL/SQL et/ou Java. Les outils de gnie logiciel CASE*Dictionary, CASE*Designer et CASE*Generator sont quant eux regroups dans loutil Designer/2000. Sont dclars obsoltes : le compte INTERNAL (il faut utiliser les rles SYSOPER et SYSDBA), linstruction SERIALIZABLE=TRUE, lquivalence entre la chane de caractres vide et NULL, labsence du privilge select avec au moins un privilge de mise jour (insert, delete, update), etc. Nous ne dvelopperons par la suite que quelques unes des nouveauts (relevant uniquement de ladministration) : Oracle Enterprise Manager, Net8, les rles SYSOPER et SYSDBA, Server Manager et larchitecture cluster .
Les agents de communication (agents intelligents) sont chargs de grer les travaux et les vnements sur la machine distante :excution des travaux, surveillance des vnements, rception des ordres de la console, transmission des informations la console. Il existe un mcanisme de dcouverte automatique des services dune machine cible dsigne. Le rfrentiel (repository) est une base Oracle contenant toutes les informations de configuration et dtat des bases gres (dans la version 8i, plusieurs consoles OEM partagent le rfrentiel commun). Oracle Enterprise Manager se compose de quatre fentres : liste hirarchique permettant dadministrer, de grer les performances et de superviser les objets des diffrentes bases de donnes du rseau (bases, groupes, listeners, noms des serveurs, serveurs Web, etc.) image graphique permettant dassocier une base de donnes un emplacement gographique systme de travaux (jobs) : dfinition de travaux accomplir sur des sites distants (transmission, historisation, visualisation des travaux en cours, contrle de lexcution et de la fin des travaux) gestionnaire des vnements (events) : surveillance de certains points prcis et possibilit dtre prvenu automatiquement en cas danomalie (voire mme dassocier un travail correctif (fixit job) ds que lvnement se produit) et de deux palettes doutils : applications : Oracle Backup Manager : gestion et automatisation des sauvegardes ; trois tapes sont ncessaires : prciser le lieu et la manire deffectuer la sauvegarde (channel), configurer la sauvegarde transmettre lagent intelligent sous forme dun travail raliser, lancer lassistant de sauvegarde Oracle Data Manager : importation, exportation et chargement de tables (c.--d. surcouche aux outils Import/Export et SQL*Loader) Oracle Instance Manager : administration, dmarrage, arrt, visualisation des tats des instances et rglage fin (tuning) (en modifiant certains paramtres dinitialisation) Oracle Replication Manager : mise en uvre, contrle du fonctionnement et action (en cas de problme ou de conflit) de tous les aspects de la rplication Oracle Schema Manager : accs et modification de toutes les caractristiques du schma (table, contrainte dintgrit, index, dclencheur et procdure stocke, etc.) Oracle Security Manager : accs tous les paramtres de scurit (mots de passe, privilges, et les dpendances croises entre comptes et objets) Oracle SQL WorkSheet : environnement SQL interactif (beaucoup plus convivial que SQL*Plus !) pour visualiser les commandes, avec historisation des requtes Oracle Storage Manager : aspects physiques de la base de donnes (fichiers de donnes, fichiers de reprise, remplissage des espaces de tables, espace disponible, etc.) Oracle Net8 Assistant : configuration du rseau (et cration des alias pointant des bases de donnes cibles distantes) Oracle Software Manager : tldistribution (dploiement) des logiciels modules optionnels (c.--d. non livrs en standard) du Performance Pack pour lanalyse des performances et le rglage fin des bases : Oracle Lock Manager : visualisation des verrous (au niveau des enregistrements et non des tables ou des blocs du disque) poss par les utilisateurs Oracle Peformance Manager : tableau dindicateurs de performance (nombre dutilisateurs connects, nombre dutilisateurs actifs, etc.), caches (buffer, bibliothque, dictionnaire des donnes, etc.), mmoire, etc. Oracle Tablespace Manager : visualisation du contenu des espaces de tables, de la fragmentation des objets, de la place libre, etc. ; dfragmentation avec loutil Export/Import Oracle Top Session : visualisation des sessions (machine, compte Oracle, compte du systme dexploitation, etc.), ordre SQL en cours (et passs), plan dexcution des requtes Oracle Trace : trace les applications en y insrant des sondes Oracle Export : analyse la base de donnes de production et donne un avis dexpert pour le rglage fin et lamlioration des performances
Net8
Net8 est le logiciel mdiateur (middleware) : il assure le lien, sur une machine (client ou serveur), entre lapplication et le protocole rseau. Sur le serveur, il sagit dun listener (logiciel qui coute les demandes de connexions), commun toutes les bases de donnes gres par cette machine. Sur chaque client, le fichier Tnsnames.ora dfinit un alias rfrenant linstance administre par le serveur. Cet alias prcise le protocole rseau, la machine cible disposant de la base de donnes, lidentifiant de linstance (SID) de la base de donnes cible, etc.
(commande connect utilisateur / mot de passe as sysoper) nauront cependant pas les privilges des administrateurs de la base de donnes tandis que ceux connects en tant que SYSDBA (commande connect utilisateur / mot de passe as sysdba) auront alors de surcrot les privilges des administrateurs de la base de donnes.
Server Manager
Server Manager est une interface SQL interactive (mode texte) offrant quelques fonctionnalits supplmentaires par rapport SQL*Plus : arrt de la base (shutdown), dmarrer la base (startup), se connecter avec le compte INTERNAL, etc. Comparativement SQL*DBA, Server Manager a perdu linterface semi-graphique et le monitoring.
Larchitecture cluster
Larchitecture cluster ( ne pas confondre avec le terme cluster dsignant un regroupement physique de tables ayant des colonnes communes) consiste faire partager une base de donnes commune (sur un ou plusieurs disques) par des instances travaillant sur des machines diffrentes (elles-mmes mono ou multiprocesseurs) ; cest le seul cas o Oracle permet un unique disque de donnes (c.--d. une unique base) dtre partag par plusieurs instances. Les instances disposent dun mcanisme de synchronisation logicielle (pour garantir la cohrence des donnes). Dans cette architecture matrielle o plusieurs serveurs (nuds) indpendants sont relis (par des canaux spciaux haut dbit) pour fonctionner comme sils constituaient un seul serveur, les avantages sont nombreux : performance, fiabilit et disponibilit, volutivit (par ajout de nuds), administration unique des machines, etc. Les problmes consistent par contre grer cette mise en commun de ressources, vrifier le bon fonctionnement de lensemble, rpartir les charges, et pallier aux pannes. Oracle propose deux solutions : Oracle Fail Safe (en standard) garantissant la disponibilit et Oracle Parallel Server (en option) offrant disponibilit, performance et volutivit. Oracle Fail Safe : la base fonctionne sur un seul (des deux) serveur un instant donn et en cas de panne, linstance est automatiquement relance sur lautre serveur (qui tait inactif jusqu prsent !). Oracle Parallel Server : la base fonctionne simultanment sur lensemble des serveurs, lajout et larrt de nuds se fait dynamiquement, en cas de dfaillance dun nud les autres nuds assurent la continuit du service ; par contre, les applications doivent tre modifies pour prciser le nud par dfaut et le nud auquel il faut se connecter en cas de dfaillance du nud par dfaut. Afin de parallliser lexcution dun ordre SQL (lecture complte dune table, tri, cration dindex, chargement dune table avec SQL*Loader, etc.), Oracle Parallel Query dcoupe lordre et le confie plusieurs processeurs.
10.
Nouveauts SQL : nouvelles fonctions, fonctions analytiques, jointures, insertions multi-tables, fusions, stabilit du plan d'excution. Fonctionnalits de dveloppement : extensions de types objet, amliorations du langage PL/SQL, Advanced Queuing, Java stock, XML, rfrentiel XML DB. Scurit des donnes : contraintes d'intgrit, option Fast Start, blocs corrompus, destinations d'archivage multiples, Recovery Manager, LogMiner, Oracle Data Guard. Scurit des accs : gestion des contextes, bases de donnes virtuelles prives, Fine-Grained Auditing, Resource Manager, rles applicatifs scuriss. Amliorations systme : plafonds et nouveaux types, fichiers init.ora et spfile, multi-buffer pool, gestion de la mmoire, amliorations de l'optimiseur de requtes, globalisation, Oracle Real Application Cluster. Fonctionnalits d'administration : SQL*Plus pour l'administration, gestion des espaces de tables, rorganisation en ligne, reprises d'oprations, Oracle Managed Files, processus job, Export/Import des espaces de tables. Gestion des gros volumes : LOBs, techniques de partitionnement des tables et index, tables temporaires, techniques d'indexation, tables organises en index (IOT), Oracle Workspace Management, ETL (Extract, Transform, Load), vues matrialises et dimensions, mode de rcriture des requtes, contraintes sur vue.
11.
Cette version a introduit larchitecture Grille (c.--d. Grid). Outils : volutions de SQL*Plus, export et import des donnes avec Data Pump. Gestion du stockage : Automatic Storage Management (ASM), Tablespace SYSAUX, amliorations des espaces des tables, segments (partitionnement, sorted hash-clustered et stockage). Exploitation : nouveaux outils dinstallation et dadministration, ordonnanceur de travaux, nouveaux paramtres du systme, Automatic Workload Repository (AWR), Diagnostic Monitor (ADDM), conseillers SQL, Resource management et consumer group, streams. Haute disponibilit : Supplemental logging, Oracle Data Guard, Logminer, Real Application Cluster, redfinition en ligne. Optimisation : obsolescence de l'optimiseur sur les rgles, collecte automatique des statistiques, gestion automatique de la SGA, amlioration du Wait Model, utilitaire TrcSess, SQL access advisor. Modifi le 5/11/12 16:11 - dit le 5/11/12 16:11 - Imprim le 5/11/12 16:11 Page 26 sur 27
Scurit : Flashback recovery area, Flashback database/table/query, Flashback row history et transaction history, RMAN (Fast incremental backup, incrmentaux sur les copies de fichiers, diverses evolutions), gestion des identits, Strong authentication (VPD, Oracle Label Security et Audit). Gestion des gros volumes : dchargement de table externe, vues matrialises et dimensions, nouvelles fonctions statistiques, CDC capture asynchrone. Dveloppement : amlioration du MERGE, jointure externe partitionne, clause MODEL, requtes insensibles la casse, expressions rgulires, amliorations du langage PL/SQL.
12.
Cette version est une volution majeure qui contient plus de 400 nouvelles fonctions. Oracle 11g supporte ainsi une multitude de nouveaux types d'objets qui permettent de grer des donnes non structures. Il s'agit, par exemple, d'images mdicales, de prsentations Powerpoint, de ressources multimdias (fichiers audio et vido) ou encore de donnes RFID auxquelles il associe des mtadonnes spcifiques. Ces objets sont dsormais grs directement dans les bases via un systme de fichiers trs rapide (accs dit fast file). Oracle annonce galement un meilleur support des bases de donnes XML qui peuvent dsormais tre archives et traites au format binaire pour amliorer les performances. Autre nouveaut, Oracle intgre des fonctions de compression qui divisent l'espace de stockage des donnes par trois (en revanche, les performances baissent lorsque la compression est active).
Dveloppement
Oracle Application Express : unique environnement de dveloppement en ligne pour construire une application (utilisant uniquement un navigateur Internet). Oracle SQL Developer : outil de dveloppement graphique gratuit permettant de parcourir les objets, crire et lancer des ordres SQL, mettre au point des programmes PL/SQL. Possibilit dintgration dans Visual Studio grce aux Oracle Data Access Components (pour des applications Oracle bases sur .NET et services Web).
Page 27 sur 27