2012-06-04 34 views
12

Sono nel terminale di RedHat 5.5 e devo trovare la versione di Oracle installata. Sono piuttosto nuovo su Linux, ma ho cercato Google per un po 'e non riesco a trovare quello di cui ho bisogno. Devo individuare quale versione è installata tramite terminale. Ho trovato i file Oracle, ma non riesco a trovare la versione.Come trovare la versione di Oracle installata su un server Linux (nel terminale)

+3

È possibile connettersi al DB oracle? in tal caso, esegui semplicemente "select * dalla versione v $;" –

risposta

7

Come utente che esegue il database Oracle si può anche provare $ORACLE_HOME/OPatch/opatch lsinventory che mostra la versione esatta e le patch installate.

Per esempio, questo è un oneliner rapido che dovrebbe restituire solo il numero di versione:

$ORACLE_HOME/OPatch/opatch lsinventory | awk '/^Oracle Database/ {print $NF}' 
+0

È difficile trovare il livello di patch effettivo. lsinventory è l'approccio migliore. Puoi aggiungere -bugs_fixed. Sul livello PSU puoi usare 'select comments, version, bundle_series dalla cronologia sys.registry $ dove bundle_series = 'PSU' ordina per action_time;' – eckes

11

Invio in sqlplus (vedrete il numero di versione)

# su - oracle 

oracle# sqlplus 

O

echo $ORAHOME 

vi darà il percorso in cui installare Oracle e il percorso include il numero di versione.

O

Connect to Oracle DB ed eseguire

select * from v$version where banner like 'oracle%'; 
+0

Innanzitutto grazie per la tua risposta. Sono entrato nel file Oracle e ho eseguito ls. L'elenco dei file è 'bea emkey.ora glibc-devel-2.5-49.i386.rpm oradiag_oracle' uno di quelli contiene la versione Oracle? – PolarisUser

+0

No, non lo fanno. – Rahul

+0

Basta accedere a SQL * Plus e la versione viene stampata sull'output. – BlueLettuce16

2

Come A.B.Cada sottolineato, è possibile interrogare il database stesso con sqlplus per la versione db. Questo è il modo più semplice per scoprire qual è la versione del db attivamente in esecuzione. Se ce n'è più di uno dovrai impostare oracle_sid in modo appropriato ed eseguire la query su ogni istanza.

È possibile visualizzare il file/etc/oratab per vedere quale istanza e quale db home viene utilizzato per istanza. È possibile avere più versioni di Oracle installate per server e più istanze. Il file/etc/oratab elencherà tutte le istanze e db home. Da oracle db home è possibile eseguire "opatch lsinventory" per scoprire quale versione di estensione del db è installata e qualsiasi patch applicata a tale installazione db.

1

Ho risolto questo in circa 1 minuto dal solo leggendo lo script di avvio (nel mio caso /etc/init.d/oracle-xe):

meno /etc/init.d/oracle-xe

quasi all'inizio del f ile ho trovato:

ORACLE_HOME = [PATH_TO_INSTALLATION_INCLUDING_VERSION_NUMBER]

questa era la soluzione più rapida per me perché sapevo dove si trovava la sceneggiatura, e che esso è usato per l'avvio/riavvio del server .

Ovviamente, questo si basa sul fatto che il numero di versione corrisponde effettivamente alla versione attuale del server, che dovrebbe per un'istanza installata correttamente.

1

è anche possibile controllare da

ps -ef |grep -i ora 
3

il login come utente sys in SQL * Plus. Poi fate questa domanda:

select * from v$version; 

o

select * from product_component_version; 
0

Una ricerca manuale po ', ma il suo un modo alternativo ...
trovare la casa Oracle o in cui i file di installazione per Oracle è installato sul vostro Linux server.

cd/<-- Goto root directory 
find . -print| grep -i dbm*.sql 

risultato varia da come è stato installato Oracle, ma la mia mostra questo

/db/oracle 

Vai alla cartella

less /db/oracle/db1/sqlplus/doc/README.htm 

scorrere verso il basso e si dovrebbe vedere qualcosa di simile

SQL * Note sulla versione - Release 11.2.0.2

Problemi correlati