z052-06-120315165700-phpapp02

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

Transcript of z052-06-120315165700-phpapp02

Presentacin de PowerPoint

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

Oracle Net es la tecnologa 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.Ejecucin de SQL en server processParseSe analiza la sentencia que sera ejecutadaBindSe sustituyen las variables por sus valoresExecuteSe ejecuta la base de datosFetchSe devuelven los resultados al user processOracle Net es el responsable de:Transmitir el SQL desde el user process hacia el proceso de servidorTransmitir los datos de respuesta desde el server process hacia el user processOracle Ne es un protocolo de capa de aplicacin, y soporta como protocolos de red a:TCPTCP seguroWindows Named PipesSocket Direct Protocol (SDP)

Como DBA usted no necesita conocer detalles sobre el protocolo, solo debe configurarlo y utilizarlo.CONNECT scott/tiger@orcl11g

@orcl indica que se usara la cadena de conexin ORCL

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

Resolucin de NombrePara conectarse se utiliza la cadena @orclEntonces debe resolverse lo siguiente:El protocolo que se va a usarLa direccin Ip del ListenerEl nombre de la instancia

Proceso de servidorEl 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.Creando un ListenerEl listener se define en el archivo: ORACLE_HOME/network/admin/listener.ora

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

# 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

Registrando la Base de datosExisten dos mtodos para registrar una instancia con una base de datos.StaticDynamicRegistro StaticoBasta 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) ))

Registro DinamicoEs el metodo preferidoUn 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_nameInstance_nameAlter system set local_listener=list2;Alter system register;

Alter system set local_listener= (address=(pro=tcp)(host=127.0.0.1)(port=1522));Resolucin de nombresPara 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 servicioOracle brinda 4 metodos de resolucion:Easy connect, local naming, directory naming y external naming.Easy ConnectIntroducido con 10g muy fcil y no requiere configuracin. Pero esta limitado solo a TCP, y no soporta caracteristicas avanzadas como balanceo de carga.

Esta habilitado por defectoSQL> connect scott/[email protected]:1522/orcl

Con easyconnect:SQL> connect scott/[email protected] si el listener escucha en el puerto 1521 y el nombre del servicio registrado en el listener se llama ues.edu.svSqlplus system/oracle@ocp11g

Equivale a:Sqlplus system/[email protected]:1521/ocp11g

Para probar la cadena de conexin ocp11g puede utilizar la utilidad TNSPINGC:/> tnsping ocp11g

Local Naming. Nombres localesEl 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.ORASoporta todos los protocolos, pero puede ser tedioso mantener tantos archivos Tnsnames.ora en todos los clientes.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) ) )Directoy Naming y External NamingDirectorio de Nombres requiere de LDAP (lightweight Directory Protocol)

Consiste en emplear nombres de alias para toda la red, los cuales sean centralizados por LDAPLSNRCTL 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 instruccin lsnrctl status LIST2

Net managerHerramienta que permite configurar el listener, los servicios, direcciones, etc.Profile. Brinda configuracion que aplican a todas las conexionesService Naming configura del lado del cliente los nombres para resolucion, tnsname.oraListener, configura los listener de la base de datos.

Sqlplus system/oracle@ocp11g

Equivale a:Sqlplus system/[email protected]:1521/ocp11g

Para probar la cadena de conexin ocp11g puede utilizar la utilidad TNSPINGC:/> tnsping ocp11g

Archivos criticos para oracle NetListener.oraEsta del lado del servidor y define los listenerTnsnames.oraEsta del lado del cliente y es usado para la resolucion de nombres, es usado por los proceso de usuario para localizar el listenerSqlnet.ora, (opcional) contiene configuraciones que aplican a todas las conexiones.

Se almacenan en Oracle_Home/network/adminLa 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 .profileDatabase LinkHerramienta 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 conexin

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 localejerciciosMuestre 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 listenerOracle Shared Server ArchitectureArquitectura Dedicada:El listener crea un proceso (hilo en windows) para tratar cada conexin 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.Arquitectura de servidor compartidoEs transparente para los clientes que se conectan.Se crean procesos adicionales en la instancia denominados:DispatchersShared Servers

Se utilizan colas para procesar las consultas SQL y tambien para sus resultadosCall center

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 instruccin 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 colaUna 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 POOLSe configura a nivel de instancia, en los parametros de inicializacion.Dispatchers: indica el numero de dispatchersMax_dispatchersShared_serversMax_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.