Está en la página 1de 32

Administración I – Módulo 5

Objetivos

 Configurar y administrar la red Oracle


 Utilizar la arquitectura de servidor
compartido
Oracle Net y la Arquitectura Cliente-
Servidor

Aplicación Base de datos

Oracle Net TCP/IP Oracle Net


network
Listener Servidor de la
Base de Datos

Archivos de Archivos de
configuración del configuración del
Oracle Net Oracle Net
Componentes en una conexión
 El usuario interactúa con el proceso
usuario(aplicación)

 El proceso usuario interactúa con el proceso servidor


vía Oracle Net

 El proceso servidor interactúa con la instancia

 La instancia interactúa con la base de datos vía


procesos background
Funciones del Oracle Net

Es el mecanismo responsable de
establecer y mantener las conexiones
entre la aplicación cliente y el servidor
de la base de datos
Establecimiento de una conexión
Etapas para establecer una conexión:

 Resolución de nombres Oracle Net

 Lanzamiento del proceso servidor


Resolución de nombres Oracle Net
 Es el etapa que determina la información de la conexión a realizarse

 La sentencia connect incluye el string de conexión @connect_string

 A partir de ese string el Oracle Net debe determinar:


 Servidor donde está el listener corriendo
 Puerto que el listener monitorea
 Protocolo que el listener utiliza
 Nombre de la instancia a la que se quiere conectar

 Esta etapa le brinda al proceso usuario la info necesaria para cruzar la


red hacia el listener y solicitar una conexión a una instancia en particular
Lanzamiento del proceso servidor
(Config. Servidor Dedicado)
 El listener recibe la solicitud de conexión desde el proceso usuario

 Chequea si el nombre de instancia es válido y si está disponible

 Si algo no es válido devuelve error al proceso usuario

 Si es OK, lanza un proceso servidor para antender al procesos


usuario, le pasa información de la conexión

 El proceso servidor chequea si usuario/passwords son válidos, si


es válido crea la sesión en la base
Herramientas para configurar y
administrar el Oracle Net

 Enterprise Manager:
 Listener home page

 Net Services Administration page

 Oracle Net Manager

 Oracle Net Configuration Assistant

 Command line
Utilitario Listener Control
Los listeners pueden ser controlados por el
el utilitario lsnrctl o por el EM
$ lsnrctl
LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 05-AUG-2008
Copyright (c) 1991, 2007, Oracle. All rights reserved.
Welcome to LSNRCTL, type "help" for information.

LSNRCTL> help
The following operations are available
An asterisk (*) denotes a modifier or extended command:
start stop status
services version reload
save_config trace spawn
change_password quit exit
set* show*
Sintáxis del Listener Control
Los comandos pueden ejecutarse desde la línea de
comandos o desde el prompt del LSNRCTL

 Sintáxis desde línea de comandos:

$ lsnrctl <command name>


$ lsnrctl start
 Sintáxis desde prompt:
$ lsnrctl status

LSNRCTL> <command name>


LSNRCTL> start
LSNRCTL> status
Creación del listener
 Los listeners están definidos en el archivo
$ORACLE_HOME/network/admin/listener.ora

 Es posible crear un nuevo listener agregando


una nueva línea en el listener.ora

 También pueden crearse con las herramientas


gráficas Enterprise Manager, Net Manager y
Net Configuration Assistant

 Las herramientas editan el listener.ora


Creación de un Listener editando el
listener.ora
Crear el listener LIST2:
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = jwlnx1)(PORT = 1521)))

LIST2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT =1522))
(ADDRESS = (PROTOCOL = TCP)(HOST = jwlnx1.bplc.co.za)(PORT
= 1522))))
Ejercicios
Registración de la base de datos
El listener debe saber que instancias está
atendiedo, esto lo define el proceso de
registración, existen 2 métodos:

 Registración estática: agregando la lista


de instancias en el listener.ora

 Registración dinámica: la instancia en el


del startup se registra en un determinado
listener
Registración Estática editando el
listener.ora
Registrar la instancia ocp12c en el listener
LIST2:
SID_LIST_LIST2 =
(SID_LIST =
(SID_DESC =
(ORACLE_HOME = /u01/oracle/app/product/12.2.0/db_1)
(SID_NAME = ocp12c)
)
)
Registración dinámica
 Es el método recomendado de registración

 El listener se setea en el parámetro de inicio local_listener de la


instancia

 Desde la 9i las instancias se registran automáticamente en el listener


default 1521

 El parámetro local_listener puede setearse mientras la base está


levantada

SQL> alter system set local_listener=list2;


SQL> alter system register;
Ejercicios
Métodos de Resolución de nombres
Oracle Net
Oracle Net soporta varios métodos de
resolución de nombres:

 Easy Connect
 Local Naming
 Directory Naming
 External Naming
Método Easy Connect
 Toda la información requerida por el Oracle
Net se indica como string de conexión

 Solo soporta protocolo TCP/IP

 No requiere configuración de Oracle Net del


lado del cliente

SQL> CONNECT hr/hr@db.us.oracle.com:1521/dba11g


Método Local Naming
 Requiere un archivo de resolución de nombres del lado del cliente llamado
tnsnames.ora

 Oracle Net chequea el string de conexión


en el archivo $ORACLE_HOME/network/
admin/tnsnames.ora

 Soporta todos los protocolos Oracle Net

SQL> CONNECT hr/hr@orcl


Ejemplo de tnsnames.ora
 Requiere un archivo de resolución de nombres
del lado del cliente

ocp11g =
(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 =(service_name = testdb)))
Método Directory Naming
 Oracle Net utiliza un LDAP directory server para resolver el string de
conexión

 Hay que tener instalado y configurado un LDAP directory server:


 Oracle Internet Directory
 Microsoft Active Directory Services

 Soporta todos los protocolos Oracle Net

LDAP
directory

SQL> CONNECT hr/hr@orcl


Método External Naming
 Es un concepto similar al Directory naming

 Utiliza servicios de nombres de terceros


para almacenar nombres de servicio

 Servicios de nombres soportados:


 Network Information Service (NIS) de Sun
Microsystems
 Cell Directory Services (CDS)
Ejercicios
Database Link
 Es un objeto de esquema que permite acceder a objetos de otra base

 Se debe configurar lo siguiente:


 Conectividad de red (por ej: TNSNAMES.ora)
 Crear los Database links

CREATE DATABASE LINK <remote_global_name>


CONNECT TO <user> IDENTIFIED BY <pwd>
USING '<connect_string_for_remote_db>';
Ejemplo de Database Link
HQ = tnsnames.ora
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)
(HOST = edtdr8p1.us.oracle.com)
(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)

CREATE DATABASE LINK hq.oracle.com SQL*Plus


CONNECT TO HR IDENTIFIED BY HR
USING 'hq';

CONNECT hr/hr@hq

SELECT * from HR.employees@hq;


Arquitectura Servidor Dedicado
Sesiones de
Usuario

Proceso Servidor
PGA Instancia
SGA
Shared pool
Database Library
Redo log
buffer cache
buffer
Proceso Servidor cache

Java Stream Large


Data dictionary
cache
pool pool pool

PGA DBWn CKPT LGWR SMON PMON ARCn RECO Others

Proceso Servidor
PGA

Listener
Limitaciones Servidor Dedicado
 Cada proceso servidor consume CPU y
memoria

 Si el número de procesos concurrentes es


grande habrá degradación de performance

 En caso que el sistema se vea afectado hay


2 opciones:

 Incrementar los recursos(más memoria y CPU)


 Usar arquitectura Servidor Compartido
Arquitectura Servidor Compartido
Sesiones de Proceso Servidor Compartido n
Usuario
Proceso Servidor Compartido 2
Proceso Servidor Compartido 1

Instancia
Dispatcher n SGA
Shared pool
Database Library
Dispatcher 2 buffer
cache
Redo log
buffer cache

Data dictionary
Dispatcher 1 Java
pool
Stream
pool
Large
pool
cache

DBWn CKPT LGWR SMON PMON ARCn RECO Others

Listener
Procesando un requerimiento
Shared server
Instance
processes
Snnn
4 SGA
Response queue
Request Queue for (D001)
Snnn for all Response queue
Snnn 3 Dispatchers for (D002)
Response queue
2 5 for (D003)

SMON DBWR PMON CKPT LGWR ARCH

Dispatcher Dispatcher Dispatcher


D001 D002 D003

Listener 1 6 Database server


client
User User
process process
Configuración de Servidor compartido

 Parámetro DISPATCHERS
 Parámetro SHARED_SERVERS
 Parámetro MAX_SHARED_SERVERS
 Parámetro MAX_DISPATCHERS
Ejercicios

También podría gustarte