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 :
15 juillet 2017

CHAR et littéral : Oracle ajoute des blancs au littéral pour faire une comparaison (blank-padded semantics)

IntroductionEn 1995 quand je travaillais sur Oracle 7 comme développeur, on m'avait mis en garde sur le fait suivant : ne mettre en CHAR que des colonnes pour lesquelles l'espace total est occupé par des caractères sinon l'espace en plus est complété avec des blancs par Oracle et cela pose des problèmes pour faire des recherches.Ce que je viens de découvrir c'est que depuis la version 7, Oracle gère parfaitement bien ces espaces en plus dans le cas où on fait une recherche en comparant une colonne CHAR avec un littéral. Le développeur... [Lire la suite]
Posté par David DBA à 17:03 - - 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 : ,
18 juin 2017

Le produit cartésien n'est pas le MAL mais quand peut-on l'utiliser?

          IntroductionOn vous a dit, re-dit et re-re-dit que le produit cartésien (ou produit en croix) c'était le mal, que c'était à éviter à tout prix car cette absence de jointure retourne des enregistrements en trop et que ça monopolisait trop de ressources serveur, au point de parfois le mettre à genoux.OK, mais dans quel cas peut-on faire un produit cartésien sachant que ce n'est pas interdit en SQL et qu'il y a même un opérateur dédié à cette opération, appelé CROSS JOIN? C'est le... [Lire la suite]
Posté par David DBA à 11:31 - - Commentaires [0] - Permalien [#]
Tags : , ,
08 juin 2017

Plan d'exécution : ce n'est pas la ligne la plus indentée qui est exécutée en premier

IntroductionUn plan d'exécution Oracle peut rapidement devenir incompréhensible dès qu'il comporte des dizaines de lignes. On peut s'aider de Google ou de livres d'administration Oracle pour le décrypter mais, curieusement, même les DBA les plus connus ne sont pas d'accord sur l'ordre dans lequel Oracle exécute les différentes opérations de ce plan! Pour rappel, il est fondamental de comprendre l'exécution de ce plan pour tuner un ordre SQL! Si on ne sait pas quelle est la première opération exécutée, il est impossible de mettre en... [Lire la suite]
Posté par David DBA à 21:33 - - Commentaires [0] - Permalien [#]
Tags : ,
31 mai 2017

SQL*Plus et les accents sous Windows

IntroductionVous est-il déjà arrivé avec SQL*Plus sous Windows d'avoir des accents remplacés par des caractères spéciaux? Et, si oui, après avoir cherché sous Google comment résoudre cela, vous êtes-vous dit que les solutions proposées à base de NLS étaient incompréhensibles? Si c'est le cas, lisez la suite car il se peut que ce ne soit pas un problème de NLS Oracle mais plutôt de code service Windows. Points d'attentionN/A. Base de testsN'importe quelle base Oracle mais avec SQL*Plus sous Windows.  ExemplesVoici ce que... [Lire la suite]
Posté par David DBA à 17:03 - - Commentaires [0] - Permalien [#]
Tags :