vendredi 18 mai 2012

Contrôle de la compatibilité des fichiers d'export

Au moment de faire un import avec l'utilitaire Oracle Datapump, si vous rencontrez les erreurs suivantes :

    ORA-39001: invalid argument value
    ORA-39000: bad dump file specification
    ORA-39142: incompatible version number 3.1 in dump file "/u01/app/oracle/admin/ORCL/dpdump/FICHIER.DMP"

Cela signifie que vous tentez d'importer un fichier d'export dont la version de la base de données d'où a été exécuté l'export ne corresond à celle de destination.

Pour contourner ceci, vous pouvez utiliser le paramètre "VERSION" au moment de l'export pour indiquer que la structure du fichier d'export doit être compatible avec la version mentionnée. Voici un exemple :

    expdp dumpfile=fichier.dmp logfile=fichier.log content=all schemas=test version=10.2

Amélioration de la sécurité sous Oracle 11g

La version 11g de la base de données apporte un lot d’amélioration touchant la sécurité. Entre autre, le profil d’utilisateur par défaut est créé avec une politique d’expiration du mot de passe. Ce comportement peut être changé cependant il est recommandé de conserver cette politique pour le profil par défaut. Au besoin, mieux vaut créer de nouveaux profils avec les politiques désirées et les associer aux utilisateurs concernés.

La modification du profil s’effectue de la façon suivante pour que le mot de passe n’expire jamais :

SQL> alter profile [Nom_Profil] limit password_life_time unlimited;

Autre point à considérer avec la version 11g, le mot de passe est dorénavant sensible à la casse.

Accès controlés aux services réseaux (ACL)

Dorénavant, toutes les fonctionnalités de base de données exigeant une interaction avec les services réseaux sont maintenant contrôlées par une liste d’accès. Cette liste est appelée « Access Control List (ACL) ». Oracle a mis en place un contrôle d’accès granulaire aux services externes.

Ce mécanisme permet de contrôler les accès aux fonctionnalités « UTL_TCP », « UTL_SMTP », « UTL_MAIL », « UTL_HTTP », et « UTL_INADDR ». Si le schéma Oracle exécutant ces fonctionnalités ne possède pas les droits nécessaires, une erreur sera soulevée. Pour octroyer des privilèges, vous pouvez utiliser le package d’Oracle « DBMS_NETWORK_ACL_ADMIN ».

Oracle Fail.... Quoi ?

Connaissez-vous Oracle Fail Safe ? C’est un logiciel inclus avec une licence de base de données Oracle sous le système d’exploitation Microsoft Windows Server. C'est un logiciel de haute disponibilité qui s’intègre à Microsoft Cluster Server et qui procure une solution rapide et efficace pour configurer, vérifier et basculer les bases de données Oracle ainsi que les applications sur une plateforme Windows. Par exemple, dans le cas d'une défaillance du système, Oracle Fail Safe fonctionne avec Microsoft Cluster Server pour redémarrer la base de données Oracle et les applications sur un nœud (serveur) de cluster.

Oracle Fail Safe est optimisé pour un environnement cluster de Microsoft et il comprend deux principales composantes, un serveur et un gestionnaire :
  • Le composant serveur « Oracle Services pour MSCS » fonctionne avec le logiciel de gestion du cluster de Microsoft  et contient un ensemble de bibliothèques de ressources pour assurer le basculement automatique lors d’une interruption planifiée ou non.
  • La composante de gestion « Oracle Fail Safe Manager » fournit un outil convivial qui fonctionne avec le logiciel serveur d’Oracle Fail Safe sur un ou plusieurs clusters pour effectuer la configuration, la gestion et la surveillance.

Flash OU Fast ?

Est-ce qu’on dit « flashback recovery area » ou « fast recovery area » ? Et bien les deux sont utilisés cependant, depuis la version 11g Release 2 de la base de données, le mot « flash » a laissé sa place pour « fast ». Disons que le mot « fast » s’apprête mieux à  cette zone réservée pour le recouvrement rapide.

Statistiques non collectées automatiquement

Les statistiques sur les « fixed object » doivent être collectées manuellement. Elles ne sont pas collectées automatiquement par la tâche automatisée qu’Oracle créé pour la collecte de statistiques. La collecte s’effectue en exécutant la commande « DBMS_STATS.GATHER_FIXED_OBJECTS_STATS ».

Ces objets contiennent des informations concernant l’activité de la base de données et elles sont accédées fréquemment donc il  y a un impact direct sur le temps réponse si les statistiques sont désuètes.

Il  est recommandé de réaliser la collecte lorsqu’il y a une activité (charge) représentative sur la base de données.  D’autant plus, suite à l’exécution du script « catupgrd.sql », il est conseillé d’effectuer la collecte de statistiques sur ces objets pour optimiser le temps de traitement de la recompilation via le script « utlrp.sql ».

En ce qui concerne la fréquence de collecte, veuillez actualiser les statistiques lorsque si une mise à jour majeure est effectuée sur la base de données ou sur une application, aussi lorsque vous apportez des changements importants à la configuration de la base de données.