Zum Inhalt springen

Oracle Patches/Scripts - herausfinden ob installiert oder nicht?


Schlaubi

Empfohlene Beiträge

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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....

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...