In Identifying Your Oracle Database Software Release Oracle besagt, dass Sie Ihre „plattformspezifische Release-Nummer“ (Patch-Sets) von PRODUCT_COMPONENT_VERSION Abfrage finden:Wie kann man den aktuellen Oracle-Patchsatz programmatisch finden?
die Release-Stände vonZur Identifizierung der Version von Oracle Database, die derzeit installiert ist, und um zu sehen, Wenn Sie andere Datenbankkomponenten verwenden, suchen Sie in der Datenwörterbuchansicht PRODUCT_COMPONENT_VERSION.
dies Nach wir verwenden 11.2.0.3.0
SQL> select * from product_component_version;
PRODUCT VERSION STATUS
----------------------------------- --------------- ---------------
NLSRTL 11.2.0.3.0 Production
Oracle Database 11g 11.2.0.3.0 64bit Production
PL/SQL 11.2.0.3.0 Production
TNS for Linux: 11.2.0.3.0 Production
Das gleiche geschieht mit V $ VERSION (die PRODUCT_COMPONENT_VERSION eine Ansicht übrigens):
SQL> select * from v$version;
BANNER
---------------------------------------------------------
Oracle Database 11g Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
jedoch nach DBA_REGISTRY_HISTORY scheint die Datenbank auf 11.2.0.3.5 zu sein:
SQL> select action, namespace, version, id, comments from dba_registry_history;
ACTION NAMESPACE VERSION ID COMMENTS
--------------- --------- ---------- ---------- ------------------------------
VIEW INVALIDATE 8289601 view invalidation
UPGRADE SERVER 11.2.0.3.0 Upgraded from 11.2.0.1.0
APPLY SERVER 11.2.0.3 0 Patchset 11.2.0.2.0
APPLY SERVER 11.2.0.3 5 PSU 11.2.0.3.5
DBA_REGISTRY_HISTORY enthält nicht unbedingt Daten, daher kann ich diese Ansicht nicht zuverlässig verwenden. Und Oracle scheint keine standardisierte Methode zur Verfügung zu stellen, um das Kommentarfeld zu füllen, in dem ich das Folgende zu tun scheint und dann zu beten, dass es funktioniert.
Gibt es eine einfachere, zuverlässige Methode, um die aktuelle Version einschließlich Programmkorrektur programmgesteuert zu finden?
1. Auch möglich: Ich habe das komplett falsch verstanden und die Leute haben vergessen, was sie gepatcht haben.
Interessant - das Banner, das bei der Anmeldung mit SQL/Plus angezeigt wird, und jede einzelne Ansicht oder Tabelle in meiner Datenbank gibt 0 für den letzten Teil der Versionsnummer zurück, * außer für * dba_registry_history. http://oracle-dba-yi.blogspot.de/2011/04/how-to-find-database-related-version.html behauptet, dass "nachfolgende kumulative Patch-Sets Installationen, ... nicht immer in angezeigt werden das Banner. " und empfiehlt anschließend die Auswahl aus dba_registry_history, also scheint das der richtige Weg zu sein. Beachten Sie auch, dass die ID-Spalte identisch mit der Patch-Version zu sein scheint, aber ich habe keine Ahnung, wie zuverlässig das ist. –