v$tabelle mit Perl auslesen
Jonny
- perl
Hallo,
ich habe ein kleines Problem. Auf einem unserer Server gibt es leider kein DBI Modul (auch nicht erwünscht) und ich muss aus einem Perl-Skript eine v$tabelle (Oracle) auslesen.
Hier ein Beispiel:
my @tmp=qx{sqlplus -s <<EOT
/ as sysdba
set head off feed off pagesize 0 linesize 100
select value from v$parameter where name='background_dump_dest';
EOT
};
Meine Fehlermeldung hierzu lautet:
select value from v where name='background_dump_dest'
*
ERROR at line 1:
ORA-00942: table or view does not exist
Hat jemand eine Idee, wie ich das Problem umgehen kann, ohne den Aufruf eines externen SQL-Skripts?
Für Hilfe wäre ich dankbar.
Mfg,
Jonny
Hallo,
ich habe ein kleines Problem. Auf einem unserer Server gibt es leider kein DBI Modul (auch nicht erwünscht) und ich muss aus einem Perl-Skript eine v$tabelle (Oracle) auslesen.
was soll das sein v$tabelle?
select value from v$parameter where name='background_dump_dest';
Meine Fehlermeldung hierzu lautet:
select value from v where name='background_dump_dest'
*
gibt es die tabelle/view namens v denn?
ORA-00942: table or view does not exist
gruss
Hallo Eternius,
ich glaube du hast mein Problem überhaupt nicht verstanden :-)
was soll das sein v$tabelle?
V$-Tabellen sind Tabellen, die beim Hochfahren der Instanz mit Daten gefüllt und gepflegt werden. Dort stehen Daten, die beispielsweise ausgewertet werden können und wichtige Informationen über die Performance, Auslastung etc. - und noch vieles mehr - über die Datenbank vermitteln.
select value from v where name='background_dump_dest'
*gibt es die tabelle/view namens v denn?
ORA-00942: table or view does not exist
Bitte schau dir nochmal mein SQL-Statement an. Ich versuche die Tabelle v$parameter zu selektieren, aber leider klappt das nicht, denn entweder meckert perl, dass die Variable $paramter nicht deklariert wurde und wenn ich ein Backslash einsetze (v$parameter), dann verschwindet alles nach dem v. Die Tabelle heisst aber allerdings so und viele weitere V$-Tabellen ebenfalls. Beispiele:
v$sqlarea, v$lock, v$datafile ...
Gruss,
Jonny
Hallo,
probiers mal mit 2 backslahs in 'v$parameter '.
Gruss
Bernd
Hallo Bernd,
probiers mal mit 2 backslahs in 'v$parameter '.
mit 3 Backslashs funktioniert es.
Danke :-)
Mfg,
Jonny
Hallo,
my @tmp=qx{sqlplus -s <<EOT
/ as sysdba
set head off feed off pagesize 0 linesize 100
select value from v$parameter where name='background_dump_dest';
EOT
};
Ich vermute mal, dass die Shell ihrerseits auch noch proviert $parameter zu ersetzen.
Wenn dem so wäre dann sollten drei Backslashes das gewünschte Resultat bringen.
Grüße
Klaus
Hallo Klaus,
Wenn dem so wäre dann sollten drei Backslashes das gewünschte Resultat bringen.
Ja, genau das war es. Es werden 3 Backslashs benötigt.
Danke !!!
Mfg,
Jonny