PDA

Visualizza versione completa : Oracle 9i su porta 8080?!


Fast-M
01-10-2005, 00.53.41
Salve a tutti.
Ho installato da poco Oracle 9i ed ho scoperto che ha il servizio TNSListener che usa la porta 8080 e mi blocca Tomcat!
Quale il file che devo editare nella directory di Oracle per variare questa porta del TNSListener?
Ho provato in quelli pi comuni come il TNSNames.ora e il Listener.ora, ma niente non c' nessun settaggio che porta la voce 8080.
Un aiuto, grazie come sempre!
:confused:

Xtefano
03-10-2005, 09.26.27
Ho avuto lo stesso problema.

Se provi a verificare cosa "vede" il listener (con il comando lsnrctl status) vedrai una cosa del genere
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=prolix)( PORT=1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=prolix)( PORT=8080))(Presentation=HTTP)(Session=RAW))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=prolix)( PORT=2100))(Presentation=FTP)(Session=RAW))

Il "problema" (vedi il DocId 274508.1 del MetaLink Oracle (http://metalink.oracle.com)) la presenza del XMLdb, attivo di default.

Il fix , come riportato nello stesso documento
The cause for this is (SERVICE=[dbname]XDB) in the dispatchers line of init.ora file as shown below:
dispatchers="(PROTOCOL=TCP) (SERVICE=odmdbXDB)"

By default the XML Database (XDB) comes preconfigured with the http port set to 8080 and the ftp
port set to 2100.

In order to get rid of this, (Service=odmdbxdb) parameter of dispatchers initialization parameter in init.ora file needs to be removed.

Restart the instance with this new init.ora file and check from lsnrctl services to verify this.

Inoltre puoi mettere in "Manual" tutti i servizi che iniziano per "Oracle", tranne il listener e, ovviamente, il servizio legato all'istanza ....


HTH


Byez

Stefano

Fast-M
05-10-2005, 12.40.41
Grazie!
Comunque ho dovuto eliminare la riga Dispachers... dal file spfile$nomeIstanzaDb$.ora, non da init.ora che io non ho proprio.
Sar forse la versione che la 9i.
Comunque tutto ok!

Xtefano
05-10-2005, 14.26.58
Prego !

Si, il file alla fine quello. Di fatto l'init "tradotto". Una spiegazione si trova nel metalink al DocId 162491.1 Before Oracle9i, Oracle instances were always started using a text file called
an init<SID>.ora. This file is by default located in the "$ORACLE_HOME/dbs"
directory.

In Oracle9i, Oracle has also introduced the 'SPFILE', which is a binary file
stored on the database Server. Changes which are applied to the instance
parameters may be persistent accross all startup/shutdown procedures.

In Oracle9i, you can startup the instance using either an spfile or an init.ora
file.

An Oracle9i instance may be started by:

- default spfile --> spfile<SID>.ora
- default init.ora file --> init<SID>.ora
- specified init.ora file
- specified spfile

The default initialization files are located as follows:

- on Unix ---> $ORACLE_HOME/dbs
- on WindowsNT/2000 ---> %ORACLE_HOME%\database
Nello stesso documento sono riportati esempi vari di utilizzo di entrambi.


Altri articoli correlati:

Note 152726.1 Oracle9i: Changes Made to Init.ora are not Applied at Instance Startup
Note 146577.1 How to change static parameters through SPFILE parameter
Note 139646.1 Same Parameters Appear in Init.ora and in Embedded spfile.ora
Note 138129.1 What Happens and What to Do when SPFILE has been Manually Modified



HTH


Byez

Stefano

Xtefano
05-10-2005, 14.42.22
seguito .....

per essere sicuro della versione del db sufficiente collegarsi ad esso con sqlplus: per prima cosa riporta le informazioni su se stesso, poi quelle dell'istanza.
Trovi un "Connected to" (o "Connesso a") seguito da qualcosa del genere:
Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.6.0 - Production

Sono andato a guardare (incuriosito) il doc 38129.1 "What Happens and What to Do when the SPFILE has been Manually Modified":
sostanzialmente sconsiglia di farlo perch il spfile BINARIO e potresti avere problemi in seguito.
It can only be modified by ALTER SYSTEM sql command or recreated from an existing init.ora parameter file, and you must not change it directly.

Se avessi l'init<SID>.ora originale potresti prima modificare quello e poi (da sqlplus) far ricreare il spfile con SQL> create spfile from pfile='initXXX.ora';

In caso contrario (vedi DocId 137483.1 e 293698.1) puoi creare il file init<SID>.ora con il comando SQL> create pfile='initXXX.ora' from spfile; e poi proseguire come indicato sopra...

(Nota: i riferimenti ai DocId li inserisco *anche* per memoria mia e di chiunque altro, in modo da facilitare eventuali approfondimenti)



HTH


Byez

Stefano