Schlaubi Geschrieben 28. September 2004 Teilen Geschrieben 28. September 2004 Hallo, der DB Export und DB Import macht bei Oracle oft Probleme. Mit 9.2.0.5 bekommt man beides ans Laufen. Allerdings sind dafür ein paar Punkte zu beachten. Die Scripts catexp.sql und catpatch.sql müssen installiert sein. (liegen unter: ~/product/9.2/rdbms/admin/) Meine Frage ist nun nicht, wie der imp/exp funktioniert, sondern wie ich feststellen kann, ob diese Scripts (2 Stück) bereits installiert sind oder nicht? Gibt es dazu irgendein SQL-Statement oder so ähnlich? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mme Geschrieben 28. September 2004 Teilen Geschrieben 28. September 2004 Du must nur reinschauen was in den Scripten passiert... In den catexp.sql wird am anfang (nach den ganzen Kommentaren) eine Rolle angelegt: CREATE ROLE exp_full_database; Also musst du nur gucken ob diese Rolle da ist.... select * from dba_roles; Wenn die Rolle exp_full_Database dabei ist wird das Script schon gelaufen sein... Mit dem catpatch.sql ist das so eine Sache... Dieses darf ja nicht einfach mal so ausgeführt werden, sondern nur nach einer Migration. Und dann musst die DB auch mit Startup migrate hochfahren... Für jeden Patch gibt es eine genaue Anleitung von Oracle die befolgt werden sollte. Wenn deine DB somit schon gepatcht wurde ohne das dieses Script gelaufen ist obwohl es in der entsprechenden Anweisung steht, weißt du nicht was an deiner DB sowieso schon strubbelig ist..... Klar kann es sein das alles läuft, aber wer weiß schon ob da nicht was komisch ist, wenn du eine DB die in der Version 9.2.0.1 läuft mit einer Software betreibst die in der Version 9.2.0.5 ist. Deswegen sollte das Script zur Migration der DB eigentlich nach dem ersten Hochfahren der Instanz laufen.... Grüße mme PS. Wenn das Script catexp.sql früher schon mal gelaufen ist und du wissen willst ob es jetzt nochmal gelaufen ist nimm dir ne View die darin angelegt wird. z.b.: exu9tabs select * from dba_objects; Hier gibt es eine last_ddl -Zeit. Wenn hieran kannst du feststellen wann die view das letzte mal geändert wurde, und wenn bei euch keiner an diesen Views rumschraubt muss somit zu diesem Zeitpunkt das Script das letzt mal gelaufen sein.... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sandrin Geschrieben 28. September 2004 Teilen Geschrieben 28. September 2004 Hallo, der DB Export und DB Import macht bei Oracle oft Probleme. Mit 9.2.0.5 bekommt man beides ans Laufen. Allerdings sind dafür ein paar Punkte zu beachten. Die Scripts catexp.sql und catpatch.sql müssen installiert sein. (liegen unter: ~/product/9.2/rdbms/admin/) Meine Frage ist nun nicht, wie der imp/exp funktioniert, sondern wie ich feststellen kann, ob diese Scripts (2 Stück) bereits installiert sind oder nicht? Gibt es dazu irgendein SQL-Statement oder so ähnlich? Wahrscheinlich wurde das script catexp.sql bei euch schon ausgeführt sonst würde das Exportieren gar nicht funktionieren, weil das Script verschiedene Tabellen anlegt, die für einen Export benötigt werden. Wahrscheinlich müsst ihr aber das script catexp.sql nach dem Update nochmal ausführen. Das script catpatch.sql muss meiner Meinung nach sowieso erst nach dem Installieren des Patches ausgeführt werden. Das script catpatch.sql baut die Data Dictionary Views neu auf (zumindest war das bei Oracle 7 noch so). Es nützt also nichts, zu schauen, ob die scripts vor dem Update schonmal ausgeführt wurden. Falls ich mich irre, verbessert mich. PS: Woher hast du denn, dass für das Patch 9.2.0.5 eine "Installation" der beide Scripte benötigt wird? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mme Geschrieben 29. September 2004 Teilen Geschrieben 29. September 2004 Es nützt also nichts, zu schauen, ob die scripts vor dem Update schonmal ausgeführt wurden. Falls ich mich irre, verbessert mich. Deswegen sagte ich ja oben das man über die dba_objects herausbekommen kann wann die Scripte das letzte mal gelaufen sind. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sandrin Geschrieben 29. September 2004 Teilen Geschrieben 29. September 2004 Deswegen sagte ich ja oben das man über die dba_objects herausbekommen kann wann die Scripte das letzte mal gelaufen sind. Meiner Meinung nach macht es keinen Sinn das vorher zu überprüfen, da sie mit ziemlicher Wahrscheinlichkeit schon ausgeführt wurden, was aber für das Update imho nicht von Bedeutung ist. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sandrin Geschrieben 29. September 2004 Teilen Geschrieben 29. September 2004 Ich nochmal. Wie mme schon sagte, gibt es für jedes Patch eine Installationsanleitung, die genau befolgt werden sollte. Am besten ist es, wenn du dich haargenau danach richtest. In der Anleitung ist dann auch beschrieben welche Scripte nach der Installation des Patches ausgeführt werden müssen. Das sind Scripte wie das Updatescript, welches wiederum die Scripte catlog.sql und catproc.sql ausführt. Im gleichen Zug wird imho auch das Script catexp.sql ausgeführt. Aber wie gesagt, am besten du gehst nach dem Installationsleitfaden des zu installierenden Patches vor, dann kann nicht viel schiefgehen. PS: Mich würde aber trotzdem noch interessieren, wo du gelesen hast, dass die beiden Scripte Vorraussetzung für das Patch 9.2.0.5 sind? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schlaubi Geschrieben 30. September 2004 Autor Teilen Geschrieben 30. September 2004 Hallo, ich werde mir die Doku zur Installation des 9.2.0.5 Patches zu Gemühte führen... Aber nochmal zu Info - ich habe weder behauptet - noch gelesen, dass die beiden SQL-Skripte Vorraussetzung sind, damit der 9.2.0.5 Patch erfolgreich läuft, sondern nur, dass ein Export und Import mit der 9.2.0.5er Version besser funktioniert (von einer Arbeitkollegin habe ich, dass die Skripte catpatch und catexp installiert werden müssen, damit der Imp/Exp besser funktioniert). Es geht einfach nur darum: Wir haben noch einige Kundenserver, auf denen das 9.2.0.5 Patch noch nicht gelaufen ist. Deshalb machen wir auf jedem Kundenserver, bei dem diese erforderlich ist ein Update auf 9.2.0.5 und danach lassen wir die Skripte catpatch und danach catexp laufen (auch mit startup migrate, etc). Mir geht es einzig und alleine darum - was ist, wenn wir unsere 'Excelliste' nicht pflegen so wie wir es jetzt tun - wie kann man herausfinden ob (nein nicht der 9.2.0.5 Patch - das sieht man spätestens nach einem 'sqlplus /nolog') 1. catpatch und 2. catexp schon ausgeführt wurden? Woher will ich wissen, ob nicht ein anderer Mitarbeiter dies nicht schon gemacht hat - wie gesagt, wenn ich ihn nicht frage....? Ich hoffe nun ist das alles ein bißchen klarer, worauf ich hinaus will. PS: Ich habe: select * from dba_roles; bei einem Server von dem ich weiß, dass der Update noch nicht gelaufen ist ausgeführt und trotzdem kommt die Role "EXP_FULL_DATABASE" zum Vorschein. Und das SQL-Statement (last_ddl): select * from dba_objects; bringt mir leider zuuuu viel Ausgabe Aber wie gesagt endlich hat ich mal Zeit zum Antworten, ich werde mir morgen die Doku zu diesem Patch mal ordentlich durchlesen - danke schonmal....wenn ich dann schlauer bin - poste ich halt nochmal. Bye Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sandrin Geschrieben 30. September 2004 Teilen Geschrieben 30. September 2004 Hallo, ich werde mir die Doku zur Installation des 9.2.0.5 Patches zu Gemühte führen... Aber nochmal zu Info - ich habe weder behauptet - noch gelesen, dass die beiden SQL-Skripte Vorraussetzung sind, damit der 9.2.0.5 Patch erfolgreich läuft, sondern nur, dass ein Export und Import mit der 9.2.0.5er Version besser funktioniert (von einer Arbeitkollegin habe ich, dass die Skripte catpatch und catexp installiert werden müssen, damit der Imp/Exp besser funktioniert). Dann habe ich dich wohl falsch verstanden. Der Absatz der DB Export und DB Import macht bei Oracle oft Probleme. Mit 9.2.0.5 bekommt man beides ans Laufen. Allerdings sind dafür ein paar Punkte zu beachten. Die Scripts catexp.sql und catpatch.sql müssen installiert sein. (liegen unter: ~/product/9.2/rdbms/admin/) las sich für mich so, als wenn für das Abdate 9.2.0.5 die "Installation" der beiden Scripte Vorraussetzung ist. Das war dann wohl ein Missverständnis Deine Arbeitskollegin hat recht. Der Export funktioniert nur richtig, wenn das script catexp.sql ausgeführt wurde. Meines Wissens nach werden diese Scripte aber schon mit dem UpdateScript "0902050.sql" (oder so ähnlich ) ausgeführt. Wie du das nachprüfen kannst, fällt mir allerdings nicht ein. Sorry. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schlaubi Geschrieben 30. September 2004 Autor Teilen Geschrieben 30. September 2004 Kein Problem, war vielleicht etwas dumm formuliert - egal Macht nix - ich werd mir morgen *aufUhrguck* ääh heute die Doku mal durchlesen und dann berichten - gn8. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mme Geschrieben 1. Oktober 2004 Teilen Geschrieben 1. Oktober 2004 Als ich das mit dba_objects schrieb dachte ich du kennst dich mit sql ein wenige aus.... Hier also komplett: select object_name, created,last_ddl_time from dba_objects where object_name = 'EXU9TABS'; Das liefert bei mir z.B. folgendes Ergebnis (Objectname, created, last_ddl_time): EXU9TABS 03.07.2003 11:15:34 18.05.2004 06:00:38 Am 3.7.2003 habe ich die Datenbank installiert und den letzten Patch habe ich am 18.05.2004 eingespielt. Bzw. da wurde das letzte mal diese View (die durch das catpatch.sql created wird) neu erstellt. Somit kann ich sagen wann das letzte mal bei mir das catpatch erstellt wurde. Also wenn du siehst dieses zweite Datum ist von vorgestern solltest du fragen ob jemand was gemacht hat. Ist das zweite datum aber 4 Monate alt ihr spielt dieses Patch aber erst seit 2 Monaten ein weist du es wurde nichts gemacht.... Sorry wenn ich davon ausging das du Oracle und SQL ausreichend kennst aber vielleicht wird es so klarer.... Grüße mme Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schlaubi Geschrieben 5. Oktober 2004 Autor Teilen Geschrieben 5. Oktober 2004 Kein Problem - is mir aber ein bisserl zu ungenau das Statement. Ich hab mir da noch ein anderes zusammengebastelt - kann jemand beurteilen, ob das das Richtige ist (das anzeigt, dass catpatch/catexp installiert ist)? SELECT comp_name as Komponente, version, status, modified FROM dba_registry; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.