Importando datos de SQL Server a Oracle BI SE One – Configurando Oracle (II)

OracleBI

En el articulo anterior, Escenario y Configuración del ODBC (I), vimos el escenario y la configuración del ODBC al lado del servidor que contenía Oracle y que será nuestro Datawarehouse.


por donde escucha Oracle

Así es, la configuración para que Oracle se conecte a SQL Server se hace sobre el “Listener” (Escuchador) que es el servicio encargado de atender las peticiones hechas a la base de datos.

Arquitectura lógica de Oracle 10g y su relación entre el listener y el Heterogeneous Services.

Imagen 1. Arquitectura lógica de Oracle 10g y su relación entre el listener y el Heterogeneous Services.

Esto se hace, ya que las herramientas Oracle utilizadas en la suite de Bussines Intelligence, realizan únicamente las peticiones sobre la base de datos en la que esta alojado todo el esquema y los metadatos del Datawarehouse. Es decir, debemos canalizar las peticiones que se hagan a SQL Server a través de la instancia de la base de datos pasando del Listener al Heterogeneous Services.

Identificando la instalación de Oracle BI SE One

Entendido esto, entonces debemos identificar donde se encuentra instalada la base de datos. recuerden que Oracle BI SE One es la solución completa y trabaja sobre una base de datos Oracle 10g.

Durante la instalación de Oracle BI SE One se especifica el lugar donde estará alojada la solución completa,

Por defecto es en C:\oracle\bise1

Si accedemos a esta carpeta veremos los siguientes directorios:

  • admin
  • bi
  • bidata
  • bisetup
  • cfgtoollogs
  • db
  • doc
  • flash_recovery_area
  • install
  • inventory
  • jdk
  • oradata
  • owb
  • tutorial

Y es en la carpeta oracle\bise1\db (ojo, no se especifica la ruta completa ya que a partir de este punto se debe tener identificado el lugar de instalación en sus maquinas) donde se encuentra instalado el motor de bases de datos Oracle 10g, y es el que implementa el servicio Listener y el Heterogeneous Services.

Archivos de configuración del Heterogenous Services

Como vemos en la Imagen 1, el Heterogenous Services es el que se comunica con el Administrador y el Controlador de ODBC, entonces este es el que referencia que DSN debe utilizar para conectarse a la fuente de datos.

Dentro del directorio de la base de datos (oracle\bise1\db) encontraremos el directorio hs (oracle\bise1\db\hs), y dentro de este, se encontrara el directorio admin (oracle\bise1\db\hs\admin) que es el que contiene los archivos de configuración.

En este creamos el archivo initSID.ora donde el SID es el identificador que vamos a utilizar como Services ID dentro de Oracle, pero para facilidad, ese SID puede ser igual al nombre DSN definido anteriormente.

Creamos el archivo initsqlserv.ora

Dentro de este archivo, colocamos el parámetro de configuración:

HS_FDS_CONNECT_INFO = DSN Name (acá colocamos en nombre definido para el DSN que creamos), para el ejemplo seria sqlserv.

Archivo de configuración sqlnet.ora

Este archivo se utiliza para la configuración de aplicaciones cliente de Oracle, para este caso, como Oracle se comporta como cliente (consume datos de un servidor), cambiamos el siguiente parámetro de configuración.

SQLNET.AUTHENTICATION_SERVICES= (NONE)

Archivo de configuración tnsnames

Este archivo es muy conocido, es el que contiene los nombres de servicio de red que se mapea a las direcciones de los listener. Su ubicación es oracle\bise1\db\network\ADMIN.

En este agregamos los parámetros de configuración:

sqlserv=
         (DESCRIPTION=
               (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
               (CONNECT_DATA =
                    (SID = sqlserv)
               )
              (HS=OK)
         )

Recomendación: Tener cuidado con la identación y los paréntesis, hemos visto en varios foros que son causa de problemas en la configuración. En esta definición aparece el parámetro (HS=OK) que indica que al referirse a este tnsname se debe utilizar Heterogenous Services, además se indica el SID definido en el archivo initsqlserv.ora. Si notamos, el parámetro ADDRESS indica la ubicación del servidor Oracle. El tnsname definido para esta conexión es sqlserv.

Recomendación: Nos aseguramos de que este archivo se tome como el principal para los tnsnames, agregando la variable de entorno al sistema TNS_ADMIN apuntando a la ruta oracle\bise1\db\network\ADMIN.

Archivo de configuración del Listener

Este archivo es el que configura los puntos de escucha de la base de datos.

SID_LIST_LISTENER =
     (SID_LIST =
          (SID_DESC =
               (SID_NAME = PLSExtProc)
               (ORACLE_HOME = F:\oracle\bise1\db)
               (PROGRAM = extproc)
          )

          #Esto es lo que agregamos
          (SID_DESC=
               (SID_NAME = sqlserv)
               (ORACLE_HOME = Disco:\oracle\bise1\db) #Ruta a la instalación de Oracle Database 10g
               (PROGRAM = hsodbc)
          )

          #########
     )

Acá vemos los parámetros que se deben agregar archivo. En estos parámetros definimos el SID_NAME (adivinen cual es) como sqlserv, además, indicamos el ORACLE_HOME, el cual es la ruta de acceso a la instalación del Oracle Database 10g, recuerden indicar la ruta completa. Y por ultimo, el parámetro (PROGRAM = hsodbc) indica el ejecutable que administrara las conexiones, para este caso el hsodbc.

Como el archivo Listener.ora cambio, debemos decirle al Listener que carge de nuevo la configuración. Abrimos una consola y ejecutamos…

lsnrctl stop

Resultado

 

lsnrctl start

Resultado

Después de iniciar el listener notamos, el comando nos muestra que ha asignado una instancia a atender el servicio sqlserv.

Probar la conexión

Ahora, para probar, ejecutamos el comando tnsping indicando el servicio al que le vamos a hacer ping, es decir, a sqlserv.

tnsping sqlserv

Resultado

Como vemos en la imagen el resultado ha sido exitoso. Este es un buen indicio de que todo va bien en la configuración.

Resultado

Con esta configuración ya tenemos el canal que queríamos para recuperar datos de una base de datos en SQL Server

Escenario y ODBC

Aunque ya tenemos este canal, en el próximo articulo veremos como accederlo desde el Design Center de Oracle BI SE One para dejarlo listo para trabajar con él en nuestro diseño del Datawarehouse.

Creative Commons License
This work, unless otherwise expressly stated, is licensed under a Creative Commons Attribution 2.5 Colombia License.

Mira también:

  1. ELMS – MSDN Academic Alliance: Importando usuarios al ELMS
  2. Configuración de log4j

Metro-designed by Little Wolf.