41
Configurando el entorno de Red Oracle Database 11 G Administration I. Cap 6

Preparando el entorno de Red de Oracle Database 11gZ052 06

Embed Size (px)

Citation preview

Page 1: Preparando el entorno de Red de Oracle Database 11gZ052 06

Configurando el entorno de RedOracle Database 11 G Administration I. Cap 6

Page 2: Preparando el entorno de Red de Oracle Database 11gZ052 06

Oracle Net es la tecnología de arquitectura cliente-servidor que permite el establecimiento de sesiones hacia la instancia de la base de datos.

Un usuario interactua con un Proceso de Usuario.

Un proceso de servidor es un proceso que corre en el servidor de base de datos, y ejecuta las SQL que recibe.

Page 3: Preparando el entorno de Red de Oracle Database 11gZ052 06

Ejecución de SQL en server process Parse

Se analiza la sentencia que sera ejecutada

Bind Se sustituyen las variables por sus valores

Execute Se ejecuta la base de datos

Fetch Se devuelven los resultados al user

process

Page 4: Preparando el entorno de Red de Oracle Database 11gZ052 06

Oracle Net es el responsable de: Transmitir el SQL desde el user process

hacia el proceso de servidor Transmitir los datos de respuesta desde

el server process hacia el user process

Page 5: Preparando el entorno de Red de Oracle Database 11gZ052 06

Oracle Ne es un protocolo de capa de aplicación, y soporta como protocolos de red a: TCP TCP seguro Windows Named Pipes Socket Direct Protocol (SDP)

Como DBA usted no necesita conocer detalles sobre el protocolo, solo debe configurarlo y utilizarlo.

Page 6: Preparando el entorno de Red de Oracle Database 11gZ052 06

CONNECT scott/tiger@orcl11g

@orcl indica que se usara la cadena de conexión ORCL

Al conectar con una instancia local se usa el protocolo ICP, el cual es provisto por el sistema operativo

Page 7: Preparando el entorno de Red de Oracle Database 11gZ052 06
Page 8: Preparando el entorno de Red de Oracle Database 11gZ052 06
Page 9: Preparando el entorno de Red de Oracle Database 11gZ052 06
Page 10: Preparando el entorno de Red de Oracle Database 11gZ052 06

Resolución de Nombre Para conectarse se utiliza la cadena

@orcl Entonces debe resolverse lo siguiente:

El protocolo que se va a usar La dirección Ip del Listener El nombre de la instancia

Page 11: Preparando el entorno de Red de Oracle Database 11gZ052 06

Proceso de servidor El listener corre en el servidor, y utiliza

uno o mas protocolos para monitorear uno o mas puertos y atender asi las peticiones.

Con TCP cada proceso de servidor lanzado por un listener, utiliza un numero de puerto especifico.

Page 12: Preparando el entorno de Red de Oracle Database 11gZ052 06

Creando un Listener El listener se define en el archivo:

ORACLE_HOME/network/admin/listener.ora

Oracle provee 3 herramientas graficas para administrar el listener: Enterprice manager Net manager Net Configuration Assistant

Page 13: Preparando el entorno de Red de Oracle Database 11gZ052 06
Page 14: Preparando el entorno de Red de Oracle Database 11gZ052 06

# listener.ora Network Configuration File: C:\app\Oracle\product\11.2.0\dbhome_1\network\admin\listener.ora# Generated by Oracle configuration tools.

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

LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = WINServerING)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) )

ADR_BASE_LISTENER = C:\app\Oracle

Page 15: Preparando el entorno de Red de Oracle Database 11gZ052 06
Page 16: Preparando el entorno de Red de Oracle Database 11gZ052 06

Registrando la Base de datos Existen dos métodos para registrar una

instancia con una base de datos. Static Dynamic

Page 17: Preparando el entorno de Red de Oracle Database 11gZ052 06

Registro Statico Basta con agregar la entrada al archivo

Listener.oraSID_LIST_LISTENER = (SID_LIST = (SID_DESC = (ORACLE_HOME = C:\app\Oracle\product\11.2.0\dbhome_1) (SID_NAME = ORCL) ))

Page 18: Preparando el entorno de Red de Oracle Database 11gZ052 06

Registro Dinamico Es el metodo preferido Un parametro de inicializacion llamado

Local_Listener que indica a la instancia la direccion de red para buscar el LISTENER

El nombre de la instancia y los nombres de los servicios estan en los parametros: Service_name Instance_name

Page 19: Preparando el entorno de Red de Oracle Database 11gZ052 06

Alter system set local_listener=list2; Alter system register;

Alter system set local_listener= ‘(address=(pro=tcp)(host=127.0.0.1)(port=1522))’;

Page 20: Preparando el entorno de Red de Oracle Database 11gZ052 06

Resolución de nombres Para establecer una sesion entre un

proceso de usuario y una instancia, se utiliza una cadena, la cadena resuelve la direccion del listener y el nombre del servicio

Oracle brinda 4 metodos de resolucion: Easy connect, local naming, directory

naming y external naming.

Page 21: Preparando el entorno de Red de Oracle Database 11gZ052 06

Easy Connect Introducido con 10g muy fácil y no

requiere configuración. Pero esta limitado solo a TCP, y no soporta caracteristicas avanzadas como balanceo de carga.

Esta habilitado por defecto

Page 22: Preparando el entorno de Red de Oracle Database 11gZ052 06

SQL> connect scott/[email protected]:1522/orcl

Con easyconnect: SQL> connect scott/[email protected]

Funcionara si el listener escucha en el puerto 1521 y el nombre del servicio registrado en el listener se llama ues.edu.sv

Page 23: Preparando el entorno de Red de Oracle Database 11gZ052 06

Sqlplus system/oracle@ocp11g

Equivale a: Sqlplus

system/[email protected]:1521/ocp11g

Para probar la cadena de conexión ocp11g puede utilizar la utilidad TNSPING

C:/> tnsping ocp11g

Page 24: Preparando el entorno de Red de Oracle Database 11gZ052 06

Local Naming. Nombres locales El usuario genera un alias, el cual

redirecciona a una direccion de red completa (protocolo, direccion, puerto, servicio)

El archivo local de alias se denomina: TNSNAMES.ORA

Soporta todos los protocolos, pero puede ser tedioso mantener tantos archivos Tnsnames.ora en todos los clientes.

Page 25: Preparando el entorno de Red de Oracle Database 11gZ052 06

Tnsnames.oraocp11g = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = jwlnx1.bplc.co.za)(PORT= 1522)) ) (CONNECT_DATA = (service_name = ocp11g) ) ) test = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = serv2.bplc.co.za)(PORT = 1521)) ) (CONNECT_DATA = (sid = testdb) ) )

Page 26: Preparando el entorno de Red de Oracle Database 11gZ052 06

Directoy Naming y External Naming Directorio de Nombres requiere de LDAP

(lightweight Directory Protocol)

Consiste en emplear nombres de alias para toda la red, los cuales sean centralizados por LDAP

Page 27: Preparando el entorno de Red de Oracle Database 11gZ052 06

LSNRCTL Es una utilidad para iniciar, detener,

observar y trabajar con los LISTENER

Ejecute: lsnrctl help

Observe la siguiente figura, y comente el resultado de la instrucción lsnrctl status LIST2

Page 28: Preparando el entorno de Red de Oracle Database 11gZ052 06
Page 29: Preparando el entorno de Red de Oracle Database 11gZ052 06

Net manager

Herramienta que permite configurar el listener, los servicios, direcciones, etc.

Profile. Brinda configuracion que aplican a todas las conexiones

Service Naming configura del lado del cliente los nombres para resolucion, tnsname.ora

Listener, configura los listener de la base de datos.

Page 30: Preparando el entorno de Red de Oracle Database 11gZ052 06
Page 31: Preparando el entorno de Red de Oracle Database 11gZ052 06

Sqlplus system/oracle@ocp11g

Equivale a: Sqlplus

system/[email protected]:1521/ocp11g

Para probar la cadena de conexión ocp11g puede utilizar la utilidad TNSPING

C:/> tnsping ocp11g

Page 32: Preparando el entorno de Red de Oracle Database 11gZ052 06

Archivos criticos para oracle Net Listener.ora

Esta del lado del servidor y define los listener Tnsnames.ora

Esta del lado del cliente y es usado para la resolucion de nombres, es usado por los proceso de usuario para localizar el listener

Sqlnet.ora, (opcional) contiene configuraciones que aplican a todas las conexiones.

Se almacenan en Oracle_Home/network/admin

Page 33: Preparando el entorno de Red de Oracle Database 11gZ052 06

La configuracion de la variable TNSADMIN es vital pues ella apunta al conjunto de archivos que configuran el oracle Net en los Home Directorys

En windows se almacena en una entrada del registro de windows, en linux en la carpeta .profile

Page 34: Preparando el entorno de Red de Oracle Database 11gZ052 06

Database Link Herramienta para conectarse a varios

servidores oracle, y acceder a los datos con la misma transaccion.

Create database link prodscott connect to scott identified by tiger using ‘prod’; ‘prod’ es la cadena para conexión

Select * from emp@prodscott; Luego se hará uso del link para acceder a

la tabla de la base de datos remota como si estuviera en la local

Page 35: Preparando el entorno de Red de Oracle Database 11gZ052 06

ejercicios Muestre los nombres y apellidos de

todos los empleados (HR local) juntos con los nombres y apellidos de todos los CLIENTES (customers del esquema OE de una base remota) Necesitara 2 equipos conectados en red

entre si para poder realizar este ejercicio.

Realice el ejercicio 6.1 pagina 216, para configurar un nuevo listener

Page 36: Preparando el entorno de Red de Oracle Database 11gZ052 06

Oracle Shared Server Architecture Arquitectura Dedicada:

El listener crea un proceso (hilo en windows) para tratar cada conexión de un cliente, aislando asi al cliente y sus transacciones.

Esta es una arquitectura para dar tratamiento a pocas conexiones.

El rendimiento puede ser degradado si existe un gran numero de conexiones concurrentes.

Page 37: Preparando el entorno de Red de Oracle Database 11gZ052 06

Arquitectura de servidor compartido Es transparente para los clientes que se

conectan. Se crean procesos adicionales en la

instancia denominados: Dispatchers Shared Servers

Se utilizan colas para procesar las consultas SQL y tambien para sus resultados

Page 38: Preparando el entorno de Red de Oracle Database 11gZ052 06

Call center

Page 39: Preparando el entorno de Red de Oracle Database 11gZ052 06

Cuando el user process contacta al listener, el listener lo asigna a los dispatches,.

Un user process tendra la sensacion que habla con un server process, el user process comparte dispatcher con otros procesos de usuario.

Al enviar una instrucción SQL, esta se envia al dispatcher el cual la coloca en la cola (common queue).

Los server process monitorean la cola, para procesar las consultas conforme llegan a la cola

Page 40: Preparando el entorno de Red de Oracle Database 11gZ052 06

Una vez que el server process procesa la consulta tomada de la cola, coloca los resultados en response queue.

Los dispatcher monitorean la response queue, para enviar los resultados a los process user .

Las sesiones se almacenan en memoria SGA en un area denominada User Global Area ubicada en el LARGE POOL

Page 41: Preparando el entorno de Red de Oracle Database 11gZ052 06

Se configura a nivel de instancia, en los parametros de inicializacion. Dispatchers: indica el numero de dispatchers Max_dispatchers Shared_servers Max_shared_servers

Alter system set dispatchers=‘(dispatchers=2) (protocol=tcp)’ ;

Alter system set shared_servers=20;

Se recomienda usar arquitectura compartida cuando se tengan mas de mil conexiones concurrentes.