PLAN ● L'instance ● Optimisations ● – Gestion de l'espace – La gestion des quotas – Les requêtes gourmandes – Les goulots d'étranglement Administration et sauvegardes PLAN ● L'instance ● Interconnexion ● – La couche NET – Le listener – Les clients : ... – Les logs – Où c'est cassé ? – Quand ça marche bien. Administration et sauvegardes ● Gestion de l'espace ● La création des objets ( create table) ● Les index ● Les statistiques ● Les tablespaces ● Les objets systémes ● Les axes disques ● La création des objets ● Analyse du CREATE TABLE ● Attention aux index systèmes. ● Une table appartient à un seul tablespace ● La taille des extents devrait être un multiple de 5x DB_BLOCK_SIZE ● Le high water mark ● Les objets en mémoire. HEADER PCTFREE Initrans, maxtrans, header PCTUSED + PCTFREE < 100 PCTFREE= ( 1 – initial/moyenne ) * 100 PCTUSED= 100–PCTFREE-3*100*(moyenne/dispo) PCTINCREASE, INITIAL, NEXT PCTUSED Ne pas oublier ANALYZE et VSIZE Nécessite de connaître la vie des tables. ● ● Les index Les différents types – Classique (concaténé, unique) – Clé inversé ( uniquement pour les égalités). – Bitmap ( index peu sélectif) – Fonction, key compression – Tables organisées en index ● Le rafraichissement ● L'option no logging ● La création suivant le besoin. ● ● ● ● ● Les statistiques J'en ai pas parlé C'est un module qui devient de plus en plus efficace Elles demandent de la gestion. Elles peuvent induire en erreur sur le chemin d'une requête ● Les tablespaces ● Le truc des 3 ordres de grandeur. ● Mode Dictionary ● ● – Clause d'extent par défaut – L'autoextent – La fragmentation Mode LOCAL – Autoallocate, uniform size – Space management : manual, auto Attention le nombre de fichiers est limité. ● ● Le tablespace SYSTEM Il est indispensable de le créer en même temps que la base. ● Il doit être contenu en taille ● Ca vaut le coup de le laisser en autoextend ● Se méfier des packages SQL et des tables du type analyze ● Les objets systémes ● TEMPORARY = zone de tri ● UNDO les anciens RBS => importants ● Les control files leur multiplexage ● Les traces, logs ... ● Les axes disques ● Le must suivant Oracle ● Si on a plusieurs disques et plusieurs contrôleurs ● Séparer data, index, système, traces et archives ● Séparer les disques en FS, mettre en oeuvre la surveillance la plus efficace. ● ● ● ● ● La gestion des quota On peut faire beaucoup à la création des utilisateurs ou grâce aux rôles. La limitation de l'espace en limitant à quelques tablespaces le droit d'écriture. Controler l'activité: les index ... Les quota sur le CPU ou les sessions doit-êre réservé aux cas particuliers. ● Les requêtes gourmandes ● Les 10 plus longues. ● Les 10 plus fréquentes. ● V$SQL... ● ● Se méfier des reqêtes identiques mais réinterprétées à chaque fois. Il faut se servir des variables liées. ● Les goulots d'étranglement ● Travailler souvent en mémoire ● Mieux vaut un swap OS (pas trop fréquent) ● top, free, netstat, ipcs, df, vmstat ● Explain plan + tkprof ● Utlbstat et utlestat Interconnexion ● La couche NET ● Le listener ● Les clients : ... ● Les logs ● Où c'est cassé ? ● Quand ça marche bien. ● L' interconnexion ● Elle sert surtout à relier des machines distantes ● Les développements s'appuient dessus ● Problémes de sécurité, de volume ● Sert aussi aux requêtes multi-bases ● Le passage par IPC ● OCI et préprocesseurs. ● Incontournable ● La couche NET ● Middleware ● Connexions directes ● Client/ Serveur ● Protocoles réseaux ● user/password@service ● Le listener ● C'est la partie serveur de la couche SQL*NET ● lsnrctl start,stop, status ● listener.ora redirection des traces ● ● Dans les nouvelles versions gèrent automatiquement l'inscription des services. Créer un listener par instance permet une meilleure gestion. ● Les clients ● Oracle OLE objects ● Pilote ODBC ● Jdbc léger ou lourd ● Client Oracle ● L'URL de connexion : ● Pool de connnexion et JNDI ● Les fichier tnsnames.ora et sqlnet.ora ● Les outils graphiques ● netca : Net Configuration Assistant ● netmgr : Net Manager ● Sous Windows dans la base de registres ● Où c'est cassé ? ● Se connecter en local ● Se connecter en local via SQL*NET ● Essayer avec un client Oracle ● Faire tracer. ● L'utilitaire tnsping, ping avant. ● Quand ça marche bien. ● v$session ● Les logs ● Le MTS