Este documento describe la configuración de la red Oracle. Explica que Oracle Net permite establecer sesiones hacia la base de datos y que los usuarios interactúan con procesos de usuario mientras que los procesos de servidor ejecutan las consultas SQL. También cubre temas como la resolución de nombres, los archivos críticos como listener.ora y tnsnames.ora, y las herramientas para administrar el listener como lsnrctl y Net Manager.
2. 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.
3. 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
4. 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
5. OracleNe 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.
6. CONNECT scott/tiger@orcl11g
@orclindica 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
7.
8.
9.
10. 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
11. Proceso de servidor
Ellistener 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.
12. 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
16. Registrando la Base de datos
Existen
dos métodos para registrar una
instancia con una base de datos.
Static
Dynamic
17. Registro Statico
Basta con agregar la entrada al archivo
Listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(ORACLE_HOME =
C:appOracleproduct11.2.0dbhome_1)
(SID_NAME = ORCL)
)
)
18. 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
19. Alter system set local_listener=list2;
Alter system register;
Altersystem set local_listener=
‘(address=(pro=tcp)(host=127.0.0.1)(port=
1522))’;
20. 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.
21. 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
22. SQL> connect
scott/tiger@ues.edu.sv:1522/orcl
Con easyconnect:
SQL> connect scott/tiger@ues.edu.sv
Funcionara si el listener escucha en el
puerto 1521 y el nombre del servicio
registrado en el listener se llama ues.edu.sv
23. Sqlplus system/oracle@ocp11g
Equivale a:
Sqlplus
system/oracle@ues.edu.sv:1521/ocp11g
Para probar la cadena de conexión
ocp11g puede utilizar la utilidad TNSPING
C:/> tnsping ocp11g
24. 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.
26. Directoy Naming y External
Naming
Directorio
de Nombres requiere de LDAP
(lightweight Directory Protocol)
Consisteen emplear nombres de alias
para toda la red, los cuales sean
centralizados por LDAP
27. 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
28.
29. 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.
30.
31. Sqlplus system/oracle@ocp11g
Equivale a:
Sqlplus
system/oracle@ues.edu.sv:1521/ocp11g
Para probar la cadena de conexión
ocp11g puede utilizar la utilidad TNSPING
C:/> tnsping ocp11g
32. 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
33. Laconfiguracion 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
34. 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
35. ejercicios
Muestrelos 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.
Realiceel ejercicio 6.1 pagina 216, para
configurar un nuevo listener
36. 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.
37. Arquitectura de servidor
compartido
Es transparente para los clientes que se
conectan.
Se crean procesos adicionales en la
instancia denominados:
Dispatchers
Shared Servers
Seutilizan colas para procesar las
consultas SQL y tambien para sus
resultados
39. 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
40. 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
41. 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.