oraclearchitectureinterne.ppt

26
STRUCTURE PHYSIQUE STRUCTURE LOGIQUE FONCTIONNALITES DE BASE Oracle ARCHITECTURE INTERNE

Upload: hamza

Post on 16-Sep-2015

219 views

Category:

Documents


0 download

TRANSCRIPT

  • STRUCTUREPHYSIQUE

    FONCTIONNALITES DE BASE

    Oracle ARCHITECTURE INTERNE

  • ORGANISATION DES COUCHES ORACLENOYAUDICTIONNAIREDONNEESSQLPL/SQL

  • FONCTIONNALITES DES COUCHESNOYAU

    Intgrit des donnes,

    Confidentialit des donnes,

    Sauvegarde et restauration des donnes,

    Gestion des accs concurrents,

    Optimisation de l'excution des requtes (tuning),

    Gestion des acclrateurs (index, cluster),

    Stockage physique des donnes.

  • FONCTIONNALITES DES COUCHESDICTIONNAIREDONNEES

    Une mta-base qui permet de stocker les lments suivants :

    Objets de la base : tables, views, index, synonymes, clusters, squences,

    Utilisateurs accdant la base avec leurs privilges et les droits qu'ils ont sur les objets.

    Informations relatives l'activit de la base (connexions, ressources utilises, verrouillages, ).

  • FONCTIONNALITES DES COUCHESSQL

    Interface unique entre le noyau RDBMS et les outils. Cette couche assure :

    Vrification smantique et syntaxique.

    Dcomposition en opration lmentaires.

    Envoi au noyau pour traitement.

    Rcupration des rsultats et communication aux outils.

  • PL/SQLFONCTIONNALITES DES COUCHES

    Extension procdurale de la couche SQL, intgre au noyau depuis la version 7.1, elle permet :

    Raliser les traitements procduraux.

    crire des traitements stocks dans le dictionnaire (Procdures, fonctions, packages, triggers)

  • ARCHITECTURE TECHNIQUE LA MEMOIREDatabase BuffersREDO LOGBuffersSQL AreaDictionary CacheSGA (System Global Area)Library CacheDatafilePMONARCHSMONCKPT LGWRDBWRRECOLISTSRVDISPAControlFileRedo LogFile

  • ARCHITECTURE TECHNIQUE LA MEMOIREINSTANCEEnsemble de ressources permettant d'accder une base de donnes Processobligatoires Process optionnelsPMONSMONCKPT LGWRDBWRLISTCKPT ARCHRECODISP

  • ARCHITECTURE TECHNIQUE LA MEMOIREELEMENTS de gestion d'une INSTANCEFichier des paramtres PFILE

    c:\oracle\admin\nom_base\pfile\initXXX.ora

    sql> desc V$PARAMETERVues systmes pour la gestion de l'instance

    V$THREADV$INSTANCEV$DATABASEParamtres dans le PFILE

    db_block_sizedb_cache_sizecontrol_filesopen_cursorsbackground_dump_destcore_dump_desttimed_statisticsuser_dump_destdb_nameinstance_namejava_pool_sizelarge_pool_sizeshared_pool_sizeprocess

    .

  • db_block_size=4096db_cache_size=33554432 control_files=("C:\oracle\oradata\orabase\CONTROL01.CTL", "C:\oracle\oradata\orabase\CONTROL02.CTL", "C:\oracle\oradata\orabase\CONTROL03.CTL")

    open_cursors=300 background_dump_dest=C:\oracle\admin\orabase\bdumpcore_dump_dest=C:\oracle\admin\orabase\cdumptimed_statistics=TRUEuser_dump_dest=C:\oracle\admin\orabase\udumpdb_domain=""remote_login_passwordfile=EXCLUSIVEcompatible=9.0.0db_name=orabasefast_start_mttr_target=300instance_name=orabasejava_pool_size=33554432large_pool_size=1048576shared_pool_size=33554432processes=150undo_management=AUTOundo_tablespace=UNDOTBSsort_area_size=524288 Exemple d'un PFILE

  • SGA (SYSTEM GLOBAL AREA) Ensemble de buffers permettant en mmoire les blocs de donnes lus dans le fichiers de la base.

    Un bloc contenu dans le buffer est accessible tous les utilisateurs.

    Le nombre de buffers a un grand impact sur le performances.

    Plus Le nombre de buffers est grand, moins sont les entres.

    Dcoupe en 3 sous zones logiques diffrentes :

    KEEP : donnes permanentes (rfrentiel). RECYCLE : donnes temporaires. DEFAULT : algorithme LRU (Least Recently Used).

    DATABASE BUFFER

  • Vues systme utilises

    V$SGA ; V$PARAMETER ;

    Paramtres dans le PFILE :

    DB_BLOCK_SIZE ; DB_BLOCK_BUFFERS

    Taille globale = DB_BLOCK_SIZE * DB_BLOCK_BUFFERS

    SGA (SYSTEM GLOBAL AREA)DATABASE BUFFER

  • SGA (SYSTEM GLOBAL AREA)REDO LOG BUFFER Zone associe aux fichiers de journalisation. Lors d'une mise jour de la base, l'image avant la mise jour et aprs sont crites dans le buffer. Un ordre COMMIT, ordonne LGRW de consigner les transactions dans les fichiers de journalisation. L'augmentation de la taille de cette zone, crot la performance du systme (rduction des E/S).

  • SGA (SYSTEM GLOBAL AREA)REDO LOG BUFFER

    Vues systme utilises

    V$SGA ; V$PARAMETER ;

    Paramtres dans le PFILE :

    LOG_BUFFER

  • SGA (SYSTEM GLOBAL AREA)SQL AREALIBRARY CACHEDICTIONARY CACHESHARED POOL Une zone mmoire partage, utilise pour rduire au maximum les entres/sorties disque. La rpartition entre les sous-zones est logique et est gre par le noyau. D'autres zones ont t rajoutes, en fonction des versions d'Oracle.POOL JAVAPFILE SHARED_POOL_SIZEVidage du poolALTER SYSTEM FLUSH SHARED POOL

  • SGA (SYSTEM GLOBAL AREA)SQL AREA Stockage des informations du parsing (analyse requte SQL). Rutilisation du parsing dj effectu pour une requte donne. Parsing pnalise la ressource CPU.Vues du dictionnaire utilises pour la zone SQL Area V$SQLAREA V$SQL V$SQLTEXT

    SQL> desc v$sqltextName Type Nullable Default Comments ------------ ------------ -------- ------- -------- ADDRESS RAW(4) Y HASH_VALUE NUMBER Y COMMAND_TYPE NUMBER Y PIECE NUMBER Y SQL_TEXT VARCHAR2(64) Y

  • DICTIONARY CACHE Conservation dans le cache les donnes en provenance du dictionnaire. Accs par les process serveurs. Minimiser les accs sur le dictionnaire.Vue du dictionnaire utilises pour la zone SQL Area V$ROWCACHE ;

    SGA (SYSTEM GLOBAL AREA)

  • LIBRARY CACHESGA (SYSTEM GLOBAL AREA) Permet de stocker les premiers traitements (fonctions, procdures, packages) lancs, pour un accs ultrieur plus rapide. Accessibilit ces traitements par tous les utilisateurs.Vue du dictionnaire utilises pour la zone SQL Area V$LIBRARYCACHE ;

  • LARGE POOLSGA (SYSTEM GLOBAL AREA) Utilis partir de la version 8, pour une architecture en multithread. Permet de stocker les informations de plusieurs sessions en multithreading.Dans le PFILELARGE_POOL_SIZE

  • SGA (SYSTEM GLOBAL AREA)OUTIL DE SUIVISHARED_POOL_SIZELOG_BUFFERDB_BLOCK_SIZEDB_BLOCK_BUFFERSSHARED_POOL_SIZEDB_NAMEINSTANCE_NAME

    V$SGAV$SQLAREAV$LIBRARYCACHEV$ROWCACHEV$DATABASEV$INSTANCEV$SESSION

    PFILEVIEWS SYSTEM

  • PROCESS MEMOIREObligatoiresDBWRx Processus de lecture/criture dans la base, On peut en avoir plusieurs s'il y a une forte activit sur la BDD.

    Paramtres DB_BLOCK_WRITE_BATCH : Nombre de blocs crits par dclenchement.

    DB_WRITER_PROCESSES : Nombre de process /Instance.

    DB_IO_SLAVES : Gnrs par un DBWRi.

  • PROCESS MEMOIREObligatoiresLGWR crire des donnes des blocs du buffer REDO LOG en cas de COMMIT.

    Assurer l'intgrit de la base.

    Comme le nombre de fichiers de journalisation est au minimum gal 2, on demander un switch explicite :

    ALTER SYSTEM SWITCH LOGFILE;

  • PROCESS MEMOIREObligatoiresSMON - System Monitor Utilis au dmarrage de la base, Restaure la base suite un arrt anormal. Nettoie les segments temporaires lors du redmarrage. Restitue la base dans un tat cohrent en cas d'arrt avec des transactions en cours. Dfragmente la base.

  • PROCESS MEMOIREObligatoiresPMON - Process Monitor Traitement de rcupration des processus utilisateur. Nettoyage de la mmoire cache et des ressources librespar un process utilisateur.

  • PROCESS MEMOIREObligatoiresCKPT - CHECKPOINT Provoque l'activation du DBWR pour crire les blocs modifis depuis le dernier point de contrle, S'excute automatiquement quand les fichiers de journalisation sont pleins.Paramtre dans PFILE

    CHECKPOINT_PROCESS = TRUE

  • PROCESS MEMOIREOPTIONNELS ARCH : Recopie des fichiers de journalisation sur un mdia.- ParamtresLOG_ARCHIVE_START ;LOG_ARCHIVE_DEST ;

    RECO : Lance les restaurations sur les bases distribues. SNAP : Rafrachissement automatique des snapshot. DISPATCHER (Dxxxx) : MultiThreading. LSTNR : Agent d'coute pour les clients de la base. LCK : Gestion des verrous pour les serveurs parallle d'Oracle.