15 septembre 2017

Les informations affichées par Oracle ne sont pas toujours fiables

IntroductionUn problème agaçant avec Oracle est que les informations recherchées sont parfois difficiles à trouver voir même sont incomplètes. Soit ces infos sont dispersées dans plusieurs vues sans point d'entrée unique, soit des paramètres de niveau base sont écrasés par des paramètres de niveau local soit les infos ne sont pas où le DBA junior pensent qu'elles devraient être. Oracle est devenu au fil des versions de plus en plus complexe et des règles d'anciennes versions sont obsolètes pour les nouvelles versions, comme par... [Lire la suite]
Posté par David DBA à 12:35 - - Commentaires [0] - Permalien [#]
Tags : , , ,

08 septembre 2017

Oracle et les ordres DDL : empêcher le COMMIT implicite du DDL d'avoir lieu avec un trigger

IntroductionSous Oracle tout ordre DDL a un COMMIT implicite; c'est une règle d'or qu'on vous a enseigné dès qu'on commence à travailler avec ce SGBD. Néanmoins ce COMMIT implicite peut-être évité même après que l'ordre DDL ait réussi; nous allons tester cela avec l'exemple du CREATE TABLE. Points d'attentionN/A. Base de testsN'importe quelle base Oracle.  Exemples============================================================================================Le COMMIT implicite d'un ordre DDL : modes de... [Lire la suite]
Posté par David DBA à 13:11 - - Commentaires [0] - Permalien [#]
Tags : , ,
24 août 2017

Les services Oracle : où trouver la liste complète?

IntroductionPour se connecter à une base Oracle via le fichier TNSNAMES.ora, Oracle recommande d'utiliser le nom d'un service avec le paramètre SERVICE_NAME. On peut aussi utiliser le nom de l'instance avec INSTANCE_NAME mais Oracle met depuis plusieurs versions en avant cette notion de services. Entre le client et le serveur Oracle, il s'agit d'un maillon supplémentaire dans la chaîne de connexion et il est fondamental de pouvoir identifier les services disponibles dans une base pour s'y connecter et de savoir à quelle PDB ce service... [Lire la suite]
Posté par David DBA à 17:37 - - Commentaires [0] - Permalien [#]
Tags : ,
04 août 2017

Les tablespaces sous Oracle - article 3 : modifications

IntroductionCet article est le troisième et dernier d'une série consacrée aux tablespaces. Le premier concernait la recherche d'informations sur les tablespaces, le deuxième la création et la suppression de ces mêmes tablespaces et celui-ci leur modification.Partie 1 : afficher les informations sur les tablespaces Partie 2 : création et suppression de tablespacesPartie 3 : modifications de tablespaces (cet article) Points d'attentionN/A. Base de testsUne base Oracle 12c. ... [Lire la suite]
Posté par David DBA à 09:10 - - Commentaires [0] - Permalien [#]
Tags : ,
01 août 2017

Les tablespaces sous Oracle - article 2 : création et suppression

IntroductionCet article est le deuxième d'une série consacrée aux tablespaces. Le premier concernait la recherche d'informations sur les tablespaces, celui-ci concerne la création et la suppression de ces mêmes tablespaces.Partie 1 : afficher les informations sur les tablespaces Partie 2 : création et suppression de tablespaces (cet article)Partie 3 : modifications de tablespaces Points d'attentionLes recommandations Oracle sont les suivantes pour créer un tablespace :          • EXTENT... [Lire la suite]
Posté par David DBA à 17:30 - - Commentaires [0] - Permalien [#]
Tags : ,
28 juillet 2017

Les tablespaces sous Oracle - article 1 : afficher les informations

IntroductionCet article est le premier d'une série consacrée aux tablespaces. Ce sujet est trop volumineux pour tenir en un seul article, il sera donc rédigé en plusieurs parties. Vous y trouverez surtout les commandes SQL pour effectuer les opérations de base sur les tablespaces plutôt que des infos théoriques sur ces objets.Partie 1 : introduction et afficher les informations sur les tablespaces (cet article)Partie 2 : création et suppression de tablespaces Partie 3 : modifications de tablespacesPour rappel, un tablespace Oracle est... [Lire la suite]
Posté par David DBA à 13:36 - - Commentaires [0] - Permalien [#]
Tags : ,

18 juillet 2017

Bug Oracle : vues systèmes comme DICT inconnues en 11g lors de l'ouverture de la base

IntroductionSur Oracle 11gR2 (et peut-être sur les versions précédentes), il existe un bug très curieux : les vues du dictionnaire de données comme DICT ne sont pas accessibles une fois la base ouverte si on a fait un DESC sur ces vues avant que la base ne soit ouverte. En d'autre mots, si on ouvre la base de données étape par étape (STARTUP NOMOUNT puis des ALTER DATABASE) et qu'on veuille accéder à ces vues à une étape où elles ne sont pas encore accessibles, alors elles restent inaccessibles même quand la base est OPEN! Nous allons... [Lire la suite]
Posté par David DBA à 09:21 - - Commentaires [0] - Permalien [#]
Tags :
03 juillet 2017

SYS ne peut pas tout faire sous Oracle

          IntroductionSYS est le user le plus puissant sous Oracle! Mais cela ne signifie pas pour autant qu'il puisse TOUT faire! Même lui a des limites, fixées par les développeurs du SGBD et c'est l'objet de cet article. Points d'attentionEn tant que SYS vous pouvez facilement casser votre base, donc faites bien attention si vous vous connectez avec ce user. A noter que parmi les bonnes pratiques d'Oracle, il est dit qu'il ne faut quasiment jamais se connecter comme AS SYSDBA (user... [Lire la suite]
Posté par David DBA à 20:15 - - Commentaires [0] - Permalien [#]
Tags : ,
08 mai 2017

Un monitoring des index plus évolué que celui d'Oracle

IntroductionSi vous avez déjà utilisé l'outil de monitoring des index d'Oracle, vous avez dû être effarés devant la pauvreté de celui-ci. Oracle n'indique en effet que si Oui ou Non un index est utilisé durant la période de monitoring mais pas le nombre de fois qu'on l'utilise. Dans le cas où vous voulez supprimer des index d'une table qui en a trop parce qu'ils ralentissement les INSERT et DELETE, la première chose à faire est de voir si ces index sont utilisés ou non mais aussi combien de fois ils le sont avant de prendre une... [Lire la suite]
Posté par David DBA à 22:21 - - Commentaires [0] - Permalien [#]
Tags : , ,
02 avril 2017

Changer l'ordre des colonnes d'une table avec l'attribut Invisible

     IntroductionChez un client, un responsable développement est venu me voir avec un problème bien particulier. Il avait une table de 300 colonnes et, quand il voulait récupérer le nom de ses clients, au lieu de simplement faire un SELECT nom FROM clients, il récupérait toutes les données de la table puis faisait un extract du fichier .txt créé en se basant sur la position des caractères. En clair, pour lire le nom, il récupérait les caractères 50 à 99 dans ce fichier. OK, c'était une application ancienne,... [Lire la suite]
Posté par David DBA à 09:56 - - Commentaires [0] - Permalien [#]
Tags : ,