Oracle over IPv6
How to make an Oracle Database available over IPv6
See Oracle note "Enabling IPv6 on Oracle Database Enterprise Edition" [ID 783570.1], basically it's enough to setup a listener on the IPv6 address, using the "netmgr" utility or a
$ORACLE_HOME/network/admin/listener.ora
file like:
ADR_BASE_LISTENER_DBVRTS1019 = /ORA/dbs01/oracle
# IPv4 listener on port 10122
# IPv6 listener on port 10121
LISTENER_DBVRTS1019 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = dbvrts1019.cern.ch)(PORT = 10122))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = dbvrts1019.ipv6.cern.ch)(PORT = 10121))
)
)
SID_LIST_LISTENER_DBVRTS1019 =
(SID_LIST =
(SID_DESC =
(SID_NAME = DBV6)
(DBA_GROUP=ci)
(ORACLE_HOME = /ORA/dbs01/oracle/product/rdbms)
)
)
Caveats:
- It is not possible to have an IPv6 listener on the same port used by an IPv4 listener. It seems like this is due to the fact that the IPv4 listener binds to all addresses rather than just to the configured address. This could probably be sorted out by playing with the listener configuration file, but so far the recommendation from Oracle is to have two separate ports.
- It is mandatory to have an IPv6-only domain name to be used in the listener configuration.