Oracle 11.2, le hint APPEND_VALUES

Une petite polémique avait débuté avec le hint APPEND et Oracle 11.1. En effet Oracle avait alors modifié son fonctionnement pour supporter le hint avec la clause VALUES d’un ordre INSERT. Depuis, ils sont, sans doute, revenus en arrière. Personnellement je trouvais l’idée très séduisante et j’ai d’ailleurs écrit plusieurs articles à ce sujet puisque ça ouvrait la porte à l’écriture de programmes Pro*C, OCI ou PL/SQL qui pouvaient intégrer des données de manière massive, sans logs et sans insert as select ni tables externes.
D’autres, sans doute plus pragmatiques, mettaient en avant que si un programme fonctionnait en 10g et qu’un développeur avait par mégarde ajouté ce hint à un insert … values, la table serait lockée en mode exclusif le temps de la transaction associée et le High Water Mark déplacé, même pour une ligne. Les conséquences d’une mauvaise utilisation pouvaient donc être catastrophiques. J’avoue que, dans une première approche au moins, punir les gens qui utilisent des hints sans savoir pourquoi ne faisait qu’ajouter à mon plaisir… Enfin, on peut imaginer des situations assez compliquées pour migrer en 11g. Malheureux ceux qui n’auraient pas testé !
Oracle 11.2 coupe donc la poire en 2

Lire l'article »

Oracle 11.2, NETCA rejoint DBCA et OUI dans la liste outils simples

Depuis autant que je me rappelle, utiliser Oracle NETCA en mode silencieux pour ajouter et supprimer des listeners et en particulier avec RAC est assez pénible. Certes, Oracle 11g Release 1 a pallié en partie à ces galères en ajoutant une syntaxe srvctl [add|remove] listener. Pourtant NETCA permet théoriquement de paramètrer une bonne partie du réseaux en une seule ligne de commande et l’outil serait donc très utile… Si seulement il était vraiment utilisable !
Parmi les exubérances de l’assistant de configuration du réseau jusqu’en 11.1, la syntaxe sur Linux et Unix complètement différente de cette de ces grands frères OUI et DBCA.

Lire l'article »

Installer Oracle 11.2 en mode silencieux

Créer des scripts pour les installations, upgrades, ou clones des bases de données Oracle en mode texte simplifie la vie des administrateurs Oracle. Cela permet évidemment d’automatiser et d’industrialiser la gestion d’environnement où les bases de données se comptent parfois en dizaines ou centaines. Mais les avantages vont bien au delà de ce cas particulier:
Cela facilite la gestion de bases Oracle installées dans des environnements où accéder à un serveur X est très contraignant ou impossible. Ca peut être à cause de réseaux très lents, parce que vous devez rebondir entre de nombreux serveurs, parce que vous utilisez des protocoles comme telnet qui ne permettent pas de créer un tunnel pour X11 ou pour des raisons de sécurité.
Cela permet d’étendre ou de réduire en quelques minutes le nombre de serveurs d’un Cluster RAC, surtout si vous avez 5, 10, 16 ou 32 noeuds
La documentation est réduite d’autant: pas de copie d’écrans, mais juste le log correspondant

Lire l'article »

Oracle 11g Release 2, un premier exemple d'utilisation des Editions

Les « Editions » sont une nouvelle fonctionalité d’Oracle 11.2. Elles permettent de gérer simultanément, dans la même base de données, plusieurs objets identiques. Vous avez peut-être déjà été alerté par ces changements en 11.1 si vous avez regardé, comme Alex Fatkulin, certaines vues comme DBA_OBJECTS. Dans ce qui suit, je vous propose de partager quelques tests simples pour illustrer le fonctionnement des éditions.
Note:
Pour une vue complète de cette fonctionnalité, reportez-vous au Chapitre 19 Edition-Based Redefinition de « Advanced Application Developer’s Guide, 11g Release 2 (11.2) »

Lire l'article »

Oracle 11g Release 2, RMAN DUPLICATE sans se connecter à la "Target"

Comme avec chaque nouvelle version, RMAN 11.2 vient avec son lot de nouvelles fonctionnalités; j’ai testé la commande DUPLICATE sans se connecter à la base de données source (TARGET); Devinez!
* c’est simplissime,
* ça permet de régler ce qui peut-être un vrai casse-tête, c’est à dire quand le répertoire qui stocke la sauvegarde ne peut pas facilement avoir le même nom sur le serveur source et le serveur du clone,
* ça évite d’écrire des configurations réseaux compliquées avec des enregistrements statiques des instances dans les listeners ou encore
* ça permet de faire un DUPLICATE sans utiliser de fichier de mot de passe (passwordfile) ni utiliser aucun autre mot de passe que celui du DBA en vous connectant uniquement « / as sysdba ».
En 1 mot, j’adore! Mais faisons de la technique…

Lire l'article »

Oracle 11g Release 2, clause WITH récursive et Fibonacci

Oracle 11.2 introduit la possibilité de créer une récursion dans la clause WITH d’un ordre SELECT. D’aucuns diront qu’Oracle ne fait qu’implémenter le standard pour éviter la syntaxe propriétaire avec sa clause « CONNECT ». En fait cette fonctionnalité permet également de résoudre des problèmes plus simplement. Cet article illustre cette nouveauté en proposant une solution pour créer ce qui est sans doute la plus célèbre des suites: la suite de Fibonacci.

Lire l'article »