=====Die Oracle Datenbank Edition aus dem Oracle Home Dateien erkennen- Wurde Standard oder Enterprise Edition installiert? ===== Wenn eine Datenbank noch läuft, ist es einfach, zum Beispiel über die View **v$version**, die DB Edition zu erkennen. Siehe auch das passende Skript hier: [[http://orapowershell.codeplex.com/SourceControl/latest#sql/version.sql|version.sql]]. Soll aber ein Oracle Home ohne die Datenbank auf die installierte Version geprüft werden, ist das oft nicht so einfach zu erkennen. Besonders bei kopierten Umgebungen und ohne ein funktionierendes Oracle Inventory wird es nicht so einfach, die Version und besonders die Edition Enterprise EE oder Standard SE zu erkennen. ==== Was für ein Release ist das denn? ==== Über die oracle binary kann erkannt werden, um welches Release es sich handelt. #Version strings $ORACLE_HOME/bin/oracle | grep NLSRTL NLSRTL Version 10.2.0.3.0 - Production #32 oder 64bit? file $ORACLE_HOME/bin/oracle oracle: setuid setgid ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped $ORACLE_HOME/bin/genezi -v Client Shared Library 32-bit - 10.02.00.03.00 ====Die Verlinkung der Oracle Libraries prüfen ==== Wie es scheint, prüft der Oracle beim Patchen selber die Version mit dem Script "$ORACLE_HOME/bin/bndlchk". Das Script legt unter $ORACLE_HOME/install ein .ee oder .se Verzeichnis an, und prüft dabei auf das Object file vsnfstd.o im Archiv ${ORACLE_HOME}/lib/libvsn10.a. Ist die vsnfstd.o vorhanden liegt eine SE Edition vor. ==Objedct File Archive prüfen== Folgendes Archive analysieren und falles **vsnntp.o** => Enterpise Edition! ls -la ${ORACLE_HOME}/lib/libvsn10.a cp ${ORACLE_HOME}/lib/libvsn10.a /tmp ar -t /tmp/libvsn10.a Wenn eine Enterpise Edition: vsnntp.o vsnfprd.o Wenn eine Standard Edition: vsnstd.o vsnfstd.o ===Test welche Optionen sind im Einsatz== Auf Object file **xsyeolap.o** prüfen! ls -la ${ORACLE_HOME}/lib/libknlopt.a #Enterprise Edition ist mit OLAP! ar -t ${ORACLE_HOME}/lib/libknlopt.a kkxwtp.o ktd.o kxmwsd.o kciwcx.o kkpoban.o dmwdm.o sllfls.o kprnts.o kzlnlbac.o dmndmse.o ksnkcs.o xsyeolap.o kzvndv.o #Standard Edition ohne OLAP! ar -t {ORACLE_HOME}/lib/ libknlopt.a kkxwtp.o ktd.o kxmwsd.o kciwcx.o kkpoban.o dmwdm.o sllfls.o kprnts.o xsnoolap.o kzlnlbac.o dmndmse.o ksnkcs.o kzvndv.o Siehe dazu auch die Note : "How to Check and Enable/Disable Oracle Binary Options (Doc ID 948061.1)" ====11g - Die bei der Installation gewählte Version erkennen ==== **11g** In der Datei **$ORACLE_HOME/inventory/globalvariables/oracle.server/globalvariables.xml** lässt sich über den Propertiy **oracle_install_db_InstallEdition** der bei der Installation gewählte Wert erkennen. Beispiel für ein Enterprise Windows System: PS D:\oracle\product\11.2.0.3\dbhome_1\inventory> Get-ChildItem -Filter *.xml -Recurse | Select-String -Pattern "oracle_install_db_InstallEdition" globalvariables\oracle.server\globalvariables.xml:53: ====10g - Die bei der Installation gewählte Version erkennen ==== **10g!** In der Datei **$ORACLE_HOME/inventory/Components21/oracle.server/*/context.xml** lässt sich über den Propertiy **s_serverInstallType** und den Wert von VAL der bei der Installation gewählte Wert erkennen. Datei $ORACLE_HOME/inventory/Components21/oracle.server/*/context.xml analysieren: cd $ORACLE_HOME/inventory/Components21/oracle.server/10.2.0.3/ grep s_serverInstallType * # Installation wurde mit der EE Option durchgeführt context.xml: ---- # Installation wurde mit der SE Option durchgeführt context.xml: