Minun on määritettävä ohjelmasta, mikä Oracle-versio on asennettu palvelimen kullekin Oracle Homes -sivustolle. Koska kotona ei ehkä ole vielä luotu tietokantoja, minun on kyettävä tekemään tämä tietokannan ulkopuolella (ts. Ilman yhteyttä tietokantaan). Lisäksi olisi erittäin suositeltavaa, että pystymme tekemään tämän etäohjelmasta.

Tämä on Windows-ohjelmasta, joka käyttää .Net-verkkoa (C #, jos sillä on merkitystä). luen tällä hetkellä etärekisteriavaimia (tällä tekniikalla: https://stackoverflow.com/questions/1566547/how-to-read-remote-registry-keys ), jotta löydän kaikki Oracle-kodit tämä menetelmä . Tämä toimii hyvin, mutta olen katsonut ympärillä näitä avaimia enkä näe tarkkaa versiota / julkaisua.

Oracle Home itse ei tietenkään ole 1) ei luotettava indikaattori ja 2 ) ei ole tarkkaa versiota / julkaisua (esimerkiksi ”10.2.0.4.0”). Pohjimmiltaan etsin tapaa selvittää, mitä Oracle Universal Installer kertoo sinulle Asennetut tuotteet -painikkeessa.


Haluaisin selventää, että kaikki palvelimet käyttävät Windows 2003-2008.

Kommentit

  • Se tulee olemaan vaikeaa. Katso Oracle Universal -asennusohjelma, jokaisella komponentilla on oma versio. Et voi määrittää koko Oracle Client -asennuksen versiota – ainakaan kaikille numeroille.
  • Luulen, että napauttaminen ja Sqlplus tarjoavat asennuksen todellisen version. Windowsissa voit käyttää komentokehotetta tnspingin ulostulon kelaamiseksi. C:\tnsping>>E:\tnspingoutput.txt. Käytä sitten korkean tason kieltä poimimalla versio tekstitiedostosta.
  • @WernfriedDomscheit Ensinnäkin en kysy Client -versiosta, mutta palvelin -versioista. Toiseksi voit määrittää sen, se on viimeinen taso yksi lapsi kodin alla (yksittäiset komponentit ovat alemman tason lapsia). Teen sen manuaalisesti Universal Installerin kanssa jatkuvasti. En vain ' halua viettää aikaa tehdä se manuaalisesti koko ajan.
  • Mitä tapahtuu, kun palvelin asennetaan Linux / Unixiin (joka on Mielestäni enemmistö)? Sitten C # -ohjelma tai rekisterin lukeminen ei auta.
  • @WernfriedDomscheit Minun tapauksessani ne ovat kaikki Windows-palvelimia. Selventän sitä kysymyksessäni.

Vastaus

Jos tietokantakodit on asennettu oikein, keskusvarasto on luettelo heistä. Windowsin keskusvarasto sijaitsee osoitteessa C:\Program Files\Oracle\Inventory. Linux / UNIX-alustoilla keskusvaraston sijainti löytyy kohdasta /etc/oraInst.loc. Mainosjakauman kohdassa ContentsXML\inventory.xml on luettelo asennetuista kodeista XML-muodossa, esimerkiksi:

<INVENTORY> <VERSION_INFO> <SAVED_WITH>12.1.0.2.0</SAVED_WITH> <MINIMUM_VER>2.1.0.6.0</MINIMUM_VER> </VERSION_INFO> <HOME_LIST> <HOME NAME="OraGI12Home1" LOC="/opt/oracle/grid12102" TYPE="O" IDX="1"/> <HOME NAME="OraDB12Home1" LOC="/opt/oracle/base/product/db12102ee" TYPE="O" IDX="2"/> <HOME NAME="OraDb11g_home1" LOC="/opt/oracle/base/product/db11204ee" TYPE="O" IDX="3"/> </HOME_LIST> </INVENTORY> 

Voit jäsentää tämän luettelon ja etsiä yksityiskohtaisia tietoja esimerkiksi opatchista:

/opt/oracle/grid12102/OPatch/opatch lsinventory -oh /opt/oracle/grid12102 -details /opt/oracle/base/product/db12102ee/OPatch/opatch lsinventory -oh /opt/oracle/base/product/db12102ee -details /opt/oracle/base/product/db11204ee/OPatch/opatch lsinventory -oh /opt/oracle/base/product/db11204ee -details 

Windows-esimerkki olisi:

C:\oracle\base\product\12.1.0\dbhome_1\OPatch\opatch lsinventory -oh C:\oracle\base\product\12.1.0\dbhome_1 -details 

Edellä mainittu on tietysti suoritettava palvelimella.

Tämä on paras tapa, oikein asennettuna. Pahimmassa tapauksessa kodeissa käytetään erillisiä mainosjakaumia tai ei lainkaan varastoja, ja sinun on etsittävä kaikista palvelimen tiedostojärjestelmistä mahdollisia Oracle-asennuksia.

Vastaa

Toinen tapa näyttää Oracle-versio on kutsua dbv-apuohjelmaa. Tämä toimii vain tietokantapalvelinasennuksissa. Tämän työkalun version tulee aina vastata tietokannan versiota. Sinun on ensin määritettävä sopiva ympäristö (PATH; ORACLE_HOME, LD_LIBRARY_PATH), sitten saat jotain

 $ $ORACLE_HOME/bin/dbv DBVERIFY: Release 12.1.0.2.0 - Production on Sun Jan 01 12:00:00 2016 Copyright (c) 1982, 2014, Oracle and/or its affiliates. All rights reserved. Keyword Description (Default) ---------------------------------------------------- FILE File to Verify (NONE) START Start Block (First Block of File) END End Block (Last Block of File) BLOCKSIZE Logical Block Size (8192) LOGFILE Output Log (NONE) FEEDBACK Display Progress (0) PARFILE Parameter File (NONE) USERID Username/Password (NONE) SEGMENT_ID Segment ID (tsn.relfile.block) (NONE) HIGH_SCN Highest Block SCN To Verify (NONE) (scn_wrap.scn_base OR scn) 

Ensimmäinen rivi sisältää julkaisun

Kommentit

  • Tämä näyttää toimivalta paikallisesti, onko olemassa sisäänrakennettua tapaa kutsua sitä etänä?
  • Ei, en ' t ajattelee niin. Linux-järjestelmässä yritän kirjautua palvelimelle ssh: llä.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *