Lister les tables X$ d’une version Oracle
Ce petit script PERL permet de lister les tables “X$” du moteur … Ce qui ne dit pas ce qu’elles font
#!/usr/bin/perl -w
use strict;
#open O, ($ORACLE_HOME."/bin/oracle");
open O, ("/logiciels/oracle/ora_10.2.0/bin/oracle");
open F, (">x");
my $l;
my $p = ' ' x 40;
my %x;
while (read (O,$l,10000)) {
$l = $p.$l;
foreach ($l =~ /(x$w{3,})/g) {
$x{$_}++;
}
$p = substr ($l,-40);
}
foreach (sort keys %x) {
print F "$_n";
}
Ce script provient du site http://www.adp-gmbh.ch
On peut trouver certaines explications sur le contenu des tables “X$” sur freeshell, sur le site BC Oracle Training ou en bien d’autres endroits 😉
La version 10 d’oracle en liste quelques 350 par exemple la table x$kwddef liste l’ensemble des mots clés du SQL, la requête suivante permet donc de les lister :
select KEYWORD from x$kwddef
order by KEYWORD
/