comma separated alias in tnsnames.ora

Today we are gonna see a easy way to maintain clear the tnsnames.ora

Lets see our file:

PROD=
  (DESCRIPTION=
     (ADDRESS=(PROTOCOL=tcp)(HOST=host1)(PORT=1521))
     (CONNECT_DATA=
        (SERVICE_NAME=factura)
     )
  )
PRODUCCION=
  (DESCRIPTION=
     (ADDRESS=(PROTOCOL=tcp)(HOST=host1)(PORT=1521))
     (CONNECT_DATA=
        (SERVICE_NAME=factura)
     )
  )
FACTURACION=
  (DESCRIPTION=
     (ADDRESS=(PROTOCOL=tcp)(HOST=host1)(PORT=1521))
     (CONNECT_DATA=
        (SERVICE_NAME=factura)
     )
  )

As you can see, we have three identical entries for the same database. This makes our file bigger and more difficult to maintain.
How can we solve it?
Easy, You can specify multiple net_service_name separated by command in a single entry.

This will be :

PROD,PRODUCCION,FACTURACION=
  (DESCRIPTION=
     (ADDRESS=(PROTOCOL=tcp)(HOST=host1)(PORT=1521))
     (CONNECT_DATA=
        (SERVICE_NAME=factura)
     )
  )

As you can see, easy and clear

entradas searadas por comas en el tnsnames.ora

Hoy vamos a ver una funcionalidad sencillísima del tnsnames.ora, pero que nos permitirá tener nuestros ficheros mucho mas reducidos y ordenados.
Supongamos tenemos un fichero con las entradas:

PROD=
  (DESCRIPTION=
     (ADDRESS=(PROTOCOL=tcp)(HOST=host1)(PORT=1521))
     (CONNECT_DATA=
        (SERVICE_NAME=factura)
     )
  )
PRODUCCION=
  (DESCRIPTION=
     (ADDRESS=(PROTOCOL=tcp)(HOST=host1)(PORT=1521))
     (CONNECT_DATA=
        (SERVICE_NAME=factura)
     )
  )
FACTURACION=
  (DESCRIPTION=
     (ADDRESS=(PROTOCOL=tcp)(HOST=host1)(PORT=1521))
     (CONNECT_DATA=
        (SERVICE_NAME=factura)
     )
  )

Como veis, tenemos 3 entradas totalmente idénticas que nos aumentan el fichero y puede dar a errores en el momento de cambiarlos.
Pues, hay una forma de simplificar mucho esto, y esta forma es ponerlos en una única entrada separada por comas

PROD,PRODUCCION,FACTURACION=
  (DESCRIPTION=
     (ADDRESS=(PROTOCOL=tcp)(HOST=host1)(PORT=1521))
     (CONNECT_DATA=
        (SERVICE_NAME=factura)
     )
  )

Haciendo pruebas esto funciona (amenos desde las versiones 9i hasta la 12c) .
Una configuración muy sencilla que nos facilita mucho el mantenimiento del fichero