Ecrire du code PL/SQL de façon performante
Les types de données Oracle prédéfinies
Créer des sous-types de données basés sur des types existants
Bonnes pratiques pour la conception de curseur Oracle
Utiliser les variables curseur
Convertir les variables curseur en paramètre programme
Comparer les variables curseur et les curseurs statiques
Les listes blanches
Travailler avec les collections
Vue d’ensemble
Tableaux associatifs
Tables imbriquées
Tableaux de type VARRAY
Créer un programme en PL/SQL qui utilise les collections
Bonnes pratiques quant à l’utilisation des collections
Utilisation avancée de l’interface
Avantages d’utilisation des routines externes
Composants d’une routine externe
Appel vers un DDL alimenté par l’OS
Appel vers du Java depuis du PL/SQL
Appel vers du C depuis du PL/SQL
VPD (Virtual Private Database) et contrôles d’accès granulaires
Vue d’ensemble du contrôle d’accès granulaire, fonctionnalités et caractéristiques
Vue d’ensemble du contexte d’une application et établissement de ce contexte
Décrire le package DBMS_RLS
Mise en place d’une politique (ou règle)
Interroger le dictionnaire de données pour le contrôle d’accès granulaire
Manipulation de Large Objects
Vue d’ensemble d’un LOB (Large Object)
Gestion d’un LOB interne
Les CLOB (Character Large Objects)
Les BLOB (Binary Large Object)
LOB externs
Le type de données BFILE
Créer et utiliser un objet de type DIRECTORY pour accéder à des BFILE et les exploiter
Le package DMS_LOB
Suppression de LOB
Créer un LOB temporaire en utilisant le package DMS_LOB
Autoriser la compression et la déduplication des données
Tuning pour PL/SQL au service de la performance
Comprendre le fonctionnement du compilateur PL/SQL
Influencer le compilateur PL/SQL
Tuning de programmes en PL/SQL
La fonction DBMS_UTILITY.GET_TIME
Tuning SQL
Réduire le nombre d’appels en SQL
Le tuning PL/SQL en pratique
Compilation native en PL/SQL
Utiliser la mise en cache au service de la performance
Importance de la zone de mémoire partagée
Le cache de bibliothèque
Le cache du dictionnaire de données
Mise en cache SQL et PL/SQL
La fonction cache en PL/SQL
Analyse de code PL/SQL
Utiliser les vues du dictionnaire de données pour afficher des informations sur le code
Utiliser les packages fournis pour afficher des informations sur le code
Utiliser le package DBMS_METADATA pour afficher des métadonnées en XML
Utiliser le package DBMS_METADATA pour créer un DDL réutilisable pour la création d’objets
Types et usages d’identifiants avec PL/SCOPE
Profilage et traçage
Tracer l’éxecution d’un programme en PL/SQL
Profilage d’applications en PL/SQL
Accès aux données
Le package DBMS_PROFILER
Protection du code
Vue d’ensemble des principes d’injection SQL
Détection d’attaques
Révision du SQL dynamique
Surface d’attaque et attaques typiques en SQL
Comment réduire la surface d’attaque ?
Concevoir du code « immunisé »
Tester du code pour prévoir les erreurs lors d’une injection SQL