Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Oracle XE not binding on IP4 port 1521

I have an Oracle 11g XE installed in Ubuntu 12.4 and facing difficulty with getting the Oracle to bind on a TCP port. The IP6 binding seems to be fine but not the IP4 (tcp 0.0.0.0:1521).

Here is the oracle-xe status:

root@pearBox:~# /etc/init.d/oracle-xe status

LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 06-JUN-2013 15:08:34

Copyright (c) 1991, 2011, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.2.0 - Production
Start Date                06-JUN-2013 15:06:42
Uptime                    0 days 0 hr. 1 min. 52 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Default Service           XE
Listener Parameter File   /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/pearBox/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=pearBox)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=pearBox)(PORT=8080))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "XE" has 1 instance(s).
  Instance "XE", status READY, has 1 handler(s) for this service...
Service "XEXDB" has 1 instance(s).
  Instance "XE", status READY, has 1 handler(s) for this service...
The command completed successfully

Netstat results:

root@pearBox:~# netstat -ntpl

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      914/mysqld      
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1859/apache2    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      608/sshd        
tcp6       0      0 :::22447                :::*                    LISTEN      1757/xe_d000_XE 
tcp6       0      0 :::8080                 :::*                    LISTEN      1655/tnslsnr    
tcp6       0      0 :::1521                 :::*                    LISTEN      1655/tnslsnr    
tcp6       0      0 :::22                   :::*                    LISTEN      608/sshd 

And the listener configuration:

root@pearBox:~# cat /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora
# listener.ora Network Configuration File:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe)
      (PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
      (ADDRESS = (PROTOCOL = TCP)(HOST = pearBox)(PORT = 1521))
    )
  )

DEFAULT_SERVICE_LISTENER = (XE)

I changed the hostname to "HOST = 127.0.0.1" and it is binding on localhost, but I am not able to access the Oracle instance from the network!

root@pearBox:~# netstat -ntpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      914/mysqld      
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1859/apache2    
tcp        0      0 127.0.0.1:1521          0.0.0.0:*               LISTEN      2339/tnslsnr    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      608/sshd        
tcp6       0      0 :::21121                :::*                    LISTEN      2443/xe_d000_XE 
tcp6       0      0 :::22 

I would appreciate if you could help to get this issue resolved.

like image 998
Mantichora Avatar asked Jun 06 '13 14:06

Mantichora


People also ask

Which TCP IP port does Oracle XE use for connections?

The listener is listening for database connections through HTTP on port 8080. Oracle Database XE is properly registered with the listener and is ready to accept connections.

What protocol is port 1521?

SQL*Net is Oracle's remote data access protocol that enables client-server and server-server communications across networks. An Oracle client connects to the server using the port address of the listener, which is normally defined as TCP port 1521 during Oracle installation.

Is 1521 port secure?

Oracle SQL server port (TCP 1521) used for database access is an attractive target for attackers. Secure this port by restricting access to it with a security group.

How do I change the default port in Oracle 1521?

SQL> alter system set LOCAL_LISTENER="(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))"; SQL> alter system register; If you set the listener HOST=localhost and the computer hostname name is also localhost, then the listener will listen on all available TCP/IP interfaces and will also accept remote connections.


2 Answers

Just found this post, I had the same issue. It was the result of changing my hostname post-installation. I was able to remedy the situation by updating the hostname in both:

/u01/app/oracle/product/11.2.0/xe/network/admin/tnsnames.ora

and

/u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora

like image 55
Jmyz Avatar answered Sep 30 '22 13:09

Jmyz


I would suggest to take a look on the firewall rules -> https://help.ubuntu.com/12.04/serverguide/firewall.html

like image 31
lcestari Avatar answered Sep 30 '22 15:09

lcestari