Category: Tnsnames

Formato IPv6 y oracle



Hoy en día la asignación de IPs está dada por el formato IPv4 (Internet Protocol version 4) , la cual como todos sabemos ya está llegando a su límite dato que se pueden asignar sólo hasta 2^32 (32 bits) , o sea, 4.294.967.296 direcciones IP.

Es por eso que hace un tiempo se está cambiando a un formato más poderoso llamado IPv6, el cual puede almacenar 2^128 direcciones IP lo que expresado en números sería la friolera de 340.282.366.920.938.463.463.374.607.431.768.211.456 , ¿harto cierto? ;D

¿Pero que hay de Oracle? ¿Soporta el protocolo IPv6?

Pues las buenas noticias son que Oracle 11gr2 soporta IPv6 para todos sus componentes y características para base de datos Stand Alone.

Cabe mencionar que una IP del protocolo IPv6 , está compuesto por 8 grupos de 4 digitos Hexadecimales, por ejemplo

1287:FFFF:0:0:417A:0:8790:FFA4


Un gran detalle de la implementación de IPv6 con Oracle es que el Sistema Operativo debe tener soporte para este nuevo formato de IP, de otra forma no se puede utilizar. Incluso el sistema operativo puede tener ambos formatos de IP..

Veamos un ejemplo de su implementación :

- Versión de Sistema Operativo : Windows 7 de 64 bits
- Versión de Oracle 11.2.0.1 de 64 bits


1) Al momento de hacer un ipconfig en el sistema operativo podemos observar que existen ambas IPs

Teniendo en cuenta que posee los 2 formatos de IP , ya sea IPv4 e IPv6


2) El formato del listener.ora, para comprobar que soporta IPv6 podría ser el siguiente (con registro manual del servicio)

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\app\oracleyyo\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\app\oracleyyo\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
(SID_DESC =
(SID_NAME = ORCL)
(ORACLE_HOME = C:\app\oracleyyo\product\11.2.0\dbhome_1)
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = fe80::bd7e:48bb:8cc:9da2%14)(PORT = 1521))
)
)

ADR_BASE_LISTENER = C:\app\oracleyyo


3) Chequeamos el listener para ver el uso de la ip (formato IPv6)

C:\app\oracleyyo\product\11.2.0\dbhome_1\BIN>lsnrctl status

LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 14-FEB-2013 16:13:23

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
Start Date 14-FEB-2013 15:55:52
Uptime 0 days 0 hr. 17 min. 32 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File C:\app\oracleyyo\product\11.2.0\dbhome_1\network\admin\listener.ora
Listener Log File c:\app\oracleyyo\diag\tnslsnr\ligarius\listener\alert\log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=fe80::bd7e:48bb:8cc:9da2%14)(PORT=1521)))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "ORCL" has 1 instance(s).
Instance "ORCL", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

C:\app\oracleyyo\product\11.2.0\dbhome_1\BIN>


4) El formato de nuestro tnsnames.ora

ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = fe80::bd7e:48bb:8cc:9da2%14)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)


5) Si realizamos la conexión a la instancia mediante el string en el tnsnames.ora, veremos que se conecta sin problemas

C:\app\oracleyyo\product\11.2.0\dbhome_1\BIN>sqlplus system/oracle123@orcl

SQL*Plus: Release 11.2.0.1.0 Production on Jue Feb 14 16:15:10 2013

Copyright (c) 1982, 2010, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>


6) Se realizamos un tnsping

C:\app\oracleyyo\product\11.2.0\dbhome_1\BIN>tnsping orcl

TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 14-FEB-2013 16:15:22

Copyright (c) 1997, 2010, Oracle. All rights reserved.

Used parameter files:
C:\app\oracleyyo\product\11.2.0\dbhome_1\network\admin\sqlnet.ora

Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = fe80::bd7e:48bb:8cc:9da2%14)(PORT = 1521))
(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))

OK (0 msec)


7) Incluso podemos llevar a cabo un Easy Connect

C:\app\oracleyyo\product\11.2.0\dbhome_1\BIN>sqlplus system/oracle123@[fe80::bd7e:48bb:8cc:9da2%14]:1521/orcl

SQL*Plus: Release 11.2.0.1.0 Production on Jue Feb 14 16:17:39 2013

Copyright (c) 1982, 2010, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


8) Lo que se excluye de esta nueva versión de IPs , es Oracle RAC y Oracle Failsafe :)


Documentación :
http://www.oracle.com/us/technologies/ipv6/index.html

by Ligarius
14.02.13. 12:58:55. 735 words, 4590 views. Categories: Tnsnames ,