Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL-Hilfe mit Oracle-Datenbank gesucht (https://www.delphipraxis.net/99152-sql-hilfe-mit-oracle-datenbank-gesucht.html)

s.h.a.r.k 7. Sep 2007 15:04

Datenbank: Oracle • Version: 10.x • Zugriff über: AnyDAC (neueste Version)

SQL-Hilfe mit Oracle-Datenbank gesucht
 
Hallo,

und zwar sitze ich gerade an dem folgenden Problem: Ich hab bisher mit MySQL gearbeitet und habe dort den schönen befehle SHOW PROCESSLIST genutzt, der mit verraten hat, welcher User denn gerade alles auf der Datenbank arbeitet. Exakt die selbe Information würde ich bei Oracle auch haben wollen, bin ich leider noch nicht fündig geworden.
Warum ich das will: zum einen will ich über ein Web-Front-End sehen, wieviel User sich auf der Datenbank befinden und was mir etwas wichtiger ist, ob die Server-Software in diesem Projekt gerade mit der Datenbank verbunden ist, also aktiv ist.

Des Weiteren habe ich noch nichts dazu gefunden, wie ich mir die Daten einer Tabelle als SQL-Queries ausgeben lassen kann. wie ich bisher gesehen habe geht das nur über ein externes Programm, was ich aber nicht unbedingt will. Gibts es da keinen SQL-Befehl der mir für die Daten die INSERT(s) liefert?

mfg
shark

merlin17 7. Sep 2007 15:15

Re: SQL-Hilfe mit Oracle-Datenbank gesucht
 
Hallo,

schaue Dir einmal die V$session mit "Select * from v$session" an... die Background_prozesse evtl. noch mit der WhereBedingung rausfiltern, ebenso einige "unwichtige" Spalten <g> ...

Die zweite und dritte Frage verstehe ich (noch) nicht :gruebel:


:-) thomas

Elvis 7. Sep 2007 15:23

Re: SQL-Hilfe mit Oracle-Datenbank gesucht
 
Zitat:

Zitat von merlin17
Die zweite Frage verstehe ich (noch) nicht :gruebel:

Ich auch nicht wirklich, er wohl ebenfalls nicht. *g*
Ich glaube er spielt darauf ab, dass es in mySQL tatsächlich noch in diesem Jahrtausend normal zu sein scheint INSERT Dumps als Backup zu benutzen. :lol:

@shark,
Schaue dir mal Exp.exe und Imp.exe an. Du sagst ihm was er exportieren soll und dann packt er das alles in eine Datei. (Tabellen, Packages, Trigger, Funktionen Typen, etc)

Eine Antwort auf alle deine Fragen wäre dieses Tool hier: Ohne den PL/SQL Developer würde ich keinen Tag überleben ohne komplett den Verstand zu verlieren.

s.h.a.r.k 7. Sep 2007 15:46

Re: SQL-Hilfe mit Oracle-Datenbank gesucht
 
Zitat:

Zitat von merlin17
Hallo,

schaue Dir einmal die V$session mit "Select * from v$session" an... die Background_prozesse evtl. noch mit der WhereBedingung rausfiltern, ebenso einige "unwichtige" Spalten <g> ...

Die zweite und dritte Frage verstehe ich (noch) nicht :gruebel:


:-) thomas

Wer ich mir gleich mal anschauen, oder ich geh jetzt erst mal in den verdienten feierabend ;)

zur zweiten Frage von mir:
Es werden vn Haus aus hier in der Firma Datensicherungen gemacht, d.h. ich müsste mich rein theoretisch nicht darum kümmern, allerdings ist es in etwas so: "Wir haben keine Lust auf ein Backup, da das zu viel Arbeit ist. Kannst du das nicht irgendwie auch selbst machen."
Nun gut, meine Idee war anfangs - weils einfach ist - dass das vielleicht mit einem SQL-Befehl geht, der dann ein Ergebnis, eben die INSERTs liefert. Diese Funktionen hätte ich ja schon in meinem Programm. Allerdings sehe ich, dass es nicht so einfach ist, wie ich mir das vorgestellt habe. Wie immer halt :D
Zweite Idee war von mir sicherlich ein Programm von/für Oracle zu nutzen, allerdings müsste ich das so programmieren, dass es das zu 100% (nach Möglichkeit halt) auch macht und das eben jede Nacht, wenn mein Programm dazu "gerade mal lustig" ist, d.h. ich will von meinen Daten eine nächtliche Sicherung machen - von mir aus eben auch über eine externes Programm!

Nun stellt sich die Frage, wie einfach/schwer ist das zu implementieren? Woher bekomme ich das Programm? Wie kann ich das Backup wieder aufspielen, denn das sollte ebenfalls über mein Programm geschehen!?

DeddyH 7. Sep 2007 15:51

Re: SQL-Hilfe mit Oracle-Datenbank gesucht
 
Ob Du da gleich ein Programm für schreiben musst, musst Du selbst wissen. Eine Batch-Datei würde es auch tun, hier mal ein Beispiel:
Code:
REM Scriptversion 1.19
REM Export Oracle User
set oracle_sid=SID_des_Servers
D:\oracle\ora92\bin\exp Benutzer/Passwort owner=(Name_des_Userspace) file=E:\Dump\Backup.dmp log=E:\Dump\Backup_Export.log

Elvis 7. Sep 2007 16:06

Re: SQL-Hilfe mit Oracle-Datenbank gesucht
 
Zitat:

Zitat von DeddyH
Ob Du da gleich ein Programm für schreiben musst, musst Du selbst wissen. Eine Batch-Datei würde es auch tun, hier mal ein Beispiel

Ganz genau.
Ich würde nur die Anmeldung als Parameter an den Batch übergeben:

Code:
D:\oracle\ora92\bin\exp "userid=%1" owner=(Name_des_Userspace) "file=E:\Dump\Backup.dmp" "log=E:\Dump\Backup.dmp.log"
Falls es überhapt ein Windows server ist, der ora laufen hat oder der das Bacup zieht, dann könnte man es mit so in einem Scheduled task ausführen:
Code:
DeinBatch.bat "meinuser/meinpasswort@database"

DeddyH 7. Sep 2007 16:34

Re: SQL-Hilfe mit Oracle-Datenbank gesucht
 
Zitat:

Zitat von Elvis
Falls es überhapt ein Windows server ist, der ora laufen hat oder der das Bacup zieht, dann könnte man es mit so in einem Scheduled task ausführen

Und unter UNIX halt 'nen cronjob einrichten.

s.h.a.r.k 11. Sep 2007 08:57

Re: SQL-Hilfe mit Oracle-Datenbank gesucht
 
Woher bekomme ich - ohne, dass ich den Client installieren muss - diese exp.exe bzw imp.exe? Problem hierbei ist, dass der Rechner eine Basisinstallation vom Betrieb aus hat und ich daran so wenig wie möglich verbiegen will, da ein Neuaufsetzen meines Systems nicht sehr viel Zeit in Anspruch nehmen soll!

merlin17 11. Sep 2007 09:15

Re: SQL-Hilfe mit Oracle-Datenbank gesucht
 
imp.exe und exp.exe sollte auf dem Server im Oracle-Verzeichnis auch liegen...
(ist nur ein problem wenn der Server unter einem anderen OS läuft :oops: )

:-) thomas

s.h.a.r.k 11. Sep 2007 12:15

Re: SQL-Hilfe mit Oracle-Datenbank gesucht
 
tja, nun stellt sich die Frage, wie ich nun von einem Client auf eben diese Anwendungen zugreife, da ich nur einen Zugriff über Nutzername (oder wie man das bei Oracle nennt) und Passwort habe und keinen direkten Zugriff auf die Daten selbst. Ich denke, dass die Informatik-Abteilung auch nicht wirklich will, dass ich direkt auf die Anwendungen zugreife, da der Zugriff darauf erst wieder freigegeben werden müsste.

Gibt es nicht eine andere Möglichkeit an diese Anwendungen (inkl. nötigen DLLs, in so fern nicht schon vorhanden) zu kommen?!

mfg
shark


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz