Вы находитесь на странице: 1из 5

POR

QUÉ ORACLE EN LINUX?


ARQUITECTURA DE LA BASE DE DATOS ORACLE EN WINDOWS

Cuando se ejecuta en Windows, Oracle Database 11g presenta las mismas características y la misma
funcionalidad que las distintas plataformas Linux y UNIX soportadas por Oracle. No obstante, la
interface entre la base de datos y el sistema operativo ha sido sustancialmente modificada para
aprovechar los servicios exclusivos brindados por Windows. Como resultado, Oracle Database 11g en
Windows no es un puerto directo de la base de código UNIX. Se llevó a cabo un importante trabajo de
ingeniería para asegurar que la base de datos explota al máximo las capacidades de Windows y para
garantizar que la base de datos Oracle es un sistema estable, confiable y de alto desempeño para crear
aplicaciones.

Modelo de Threads

Comparado con la base de datos Oracle en UNIX, el cambio de arquitectura más significativo en
Oracle Database 11g en Windows es la conversión de un servidor basado en procesos a un servidor
basado en threads. En UNIX, Oracle utiliza procesos para implementar tareas de segundo plano, como
el generador de base de datos (DBW0), el generador de registros (LGWR), los distribuidores, servidores
compartidos, entre otros. Asimismo, cada conexión dedicada, realizada en la base de datos provoca el
arranque de otro proceso del sistema operativo por parte de esa sesión. En Windows, en cambio, todos
estos procesos se implementan como threads dentro de un único y amplio proceso. Esto significa que
para cada instancia de la base de datos Oracle, hay un solo proceso ejecutándose en Windows para el
propio servidor de base de datos Oracle. (Nota: Existen otros procesos Oracle en Windows para otros
servicios de base de datos, como por ejemplo la Consola de Base de Datos de Enterprise Manager).
Dentro de este proceso hay muchos threads en funcionamiento, y cada thread corresponde
directamente a un proceso en la arquitectura UNIX. De modo que, si había 100 procesos Oracle
ejecutándose en UNIX para una instancia particular, esa misma carga de trabajo sería manejada por 100
threads en un solo proceso en Windows.

Desde el punto de vista operacional, las aplicaciones cliente conectadas a la base de datos no se ven
afectadas por este cambio en la arquitectura de la base de datos. Cada esfuerzo ha sido realizado para
garantizar que la base de datos funciona del mismo modo en Windows como en otras plataformas, aún
cuando la arquitectura del proceso interno haya sido convertida a un entorno basado en threads.

La motivación inicial para cambiar a una arquitectura basada en threads surgió de los problemas de
desempeño con la primera versión de Windows NT al lidiar con los archivos compartidos entre los
procesos. Pasar simplemente a una arquitectura basada en threads y no modificar ningún otro nodo
aumentó drásticamente el desempeño ya que se evitó este cuello de botella particular de Windows NT.
No cabe duda de que la motivación inicial para el cambio ya no existe, no obstante, aún se mantiene la
arquitectura de threads para Oracle ya que ésta resultó ser muy estable y fácil de soportar.

Existen otros beneficios que surgen de la arquitectura basada en threads. Estos incluyen switches de
contexto más rápidos para el sistema operativo entre los threads, a diferencia de los procesos; una
rutina de asignación del Área del Sistema Global (SGA) mucho más simple que no requiere del uso de
memoria compartida; productividad más rápida de nuevas conexiones debido a que los threads se crean
más velozmente que los procesos; menor utilización de la memoria debido a que los threads comparten
más estructuras de datos que los procesos; y finalmente, la idea de que un modelo basado en threads
sea en cierto modo más “parecido a Windows” que uno basado en procesos.
internamente, el código para implementar el modelo basado en threads es compacto y muy aislado de la
parte principal del código Oracle. Menos de 20 módulos ofrecen toda la infraestructura necesaria para
implementar el modelo de threads. Asimismo, la solidez se ha incorporado a la arquitectura a través del
uso de encargados de excepciones y también a través de rutinas utilizadas para rastrear y rechazar los
recursos. Ambas incorporaciones ayudan a la base de datos Oracle en las aplicaciones Windows a
cumplir con los requerimientos de operaciones 24x7 sin tiempo de baja relacionado con la pérdida de
recursos o el mal funcionamiento de los programas.

Servicios

Además de estar basado en threads, Oracle Database 11g no es un proceso típico de Windows. Es un
servicio de Windows, que básicamente implica un proceso en segundo plano registrado con el sistema
operativo, iniciado por Windows cuando éste se reinicia, y que se ejecuta conforme a un contexto de
seguridad particular. La conversión de Oracle a un servicio fue necesaria para permitir que la base de
datos funcione automáticamente al momento de reiniciar el sistema, ya que los servicios no requieren la
interacción del usuario para comenzar. Cuando se inicia el servicio de base de datos Oracle, no hay
threads típicos de Oracle ejecutándose en el proceso. En cambio, el proceso básicamente espera un
pedido de conexión e inicio de SQL*Plus, que provocará el funcionamiento de un thread en primer
plano y luego, eventualmente, provocará la creación del thread en segundo plano de SGA. Cuando se
cierra la base de datos, todos los threads que se crearon finalizarán, pero el proceso continuará
ejecutándose y esperará hasta el próximo pedido de conexión y comando de inicio. Además del servicio
de base de datos Oracle, se agregó más soporte para generar automáticamente SQL*Plus, y así iniciar y
abrir la base de datos para el uso del cliente.

Oracle Net Listener se considera un servicio ya que también debe ejecutarse antes de que los usuarios
puedan conectarse a la base de datos. Nuevamente, todos estos son detalles de implementación que no
afectan la manera en que los clientes se conectan o utilizan la base de datos, aunque eso sea muy
importante para los administradores de base de datos Windows.

Hasata aquí un vistaso general de la arquitectura de Oracle sobre Windows y los esfuerzos realizados
para tener un producto en este sistema operativo

Ahora bien

¿Cuáles son los hechos importantes a considerar antes de seleccionar un sistema operativo?
Por supuesto, las tiendas pequeñas o medianas deberían prestar mucha atención a la facilidad de
administrar el sistema con los recursos limitados que tienen. Sin embargo, la facilidad de gestión debe
buscarse desde todos los ángulos. ¿Qué sistema operativo es fácil de manejar cuando se evalúan los
siguientes factores ?

1. Confiabilidad y estabilidad
2. Seguridad (especialmente de virus, gusanos).
3. Costo de la licencia.
4. Calidad y costo de soporte para el sistema operativo.
5. Soporte para el software de Oracle en el sistema operativo seleccionado.
6. Facilidad de problemas de solución de problemas.
7. Facilidad de administración (Lea más abajo sobre este aspecto que es favorable a Windows para
comprender cuán insignificante es y cómo superar esta dificultad en linux)
1 confiabilidad y estabilidad ...
Hay un sistema UNIX y Linux que se ejecuta durante años sin reiniciar. ¿Cuántos días puede ejecutar su
computadora portátil con un sistema operativo Windows sin reiniciar?Los servidores de Windows
tampoco son exentos. Problemas como fugas de memoria, mala gestión de la memoria, etc. a menudo
hacen que el reinicio sea una parte esencial de la rutina diaria o semanal de Windows. Este es solo un
punto, no habría nadie (incluso fanáticos de Windows debido a su "facilidad de administración") que se
atreverían a discutir sobre la confiabilidad y estabilidad de Linux o Unix. Considere el esfuerzo que sería
necesario para mitigar los problemas que surgen desde la estabilidad del sistema operativo. Esto incluye
el momento en que la aplicación no está disponible únicamente debido a problemas de sistema
operativo. Entonces, qué sistema operativo es fácil de administrar cuando uno considera la
confiabilidad y la estabilidad: la respuesta es sin duda Linux.

2.Seguridad (especialmente de virus, gusanos).


Linux tiene una gran influencia sobre Windows cuando las conversaciones son sobre seguridad. La
cantidad de virus que existen y se extienden por las máquinas de Windows es inimaginable. Cada día es
un día de nacimiento de varios virus nuevos. Uno necesita tener un software antivirus constantemente
actualizado en Windows para mantener el sistema operativo en funcionamiento. ¿Qué significa esto
para un tomador de decisiones de TI? Debe considerar el costo y el esfuerzo necesarios para mantener
una pieza más de software. Eso significa una sobrecarga adicional en todo el ciclo de vida de otro
producto de software de un tercer proveedor, simplemente porque Windows es el más vulnerable a las
amenazas de virus y gusanos. Sería erróneo suponer que el servidor no está conectado a Internet y, por
lo tanto, libre de amenazas de virus. En el mal día, se infectará desde un dispositivo USB que alguien de
la organización se conectará a cualquier lugar de la red en la que esté conectado el servidor. Por otro
lado, Unix y Linux están casi libres de esta amenaza y no hay necesidad de tener un software
antivirus. Entonces, ¿ qué sistema operativo es fácil de administrar cuando se consideran aspectos de
seguridad? Ciertamente, la respuesta es Linux desde esta perspectiva.

3. Coste de la licencia.
En cualquier organización pequeña o mediana, la consideración importante sería el costo.El costo de la
licencia de Windows puede ser de varios miles de dólares por cada servidor.Mientras que la mayoría de
las distribuciones de Linux están disponibles como descargas gratuitas. Además, incluso para aquellas
distribuciones de Linux que necesitan un pago para obtener los medios, una vez que pague una
cantidad insignificante, el software es todo suyo. Se puede instalar en cualquier cantidad de servidores a
diferencia de Windows. El monto gastado como costo de licencia para Windows en sí mismo es más
que suficiente para comprar la experiencia y los recursos necesarios para instalar y configurar un
servidor Linux. Entonces, ¿ qué sistema operativo es fácil de administrar en términos de costo? -
Claramente, la respuesta es Linux.

4 Calidad y costo de soporte para SO.


Una búsqueda rápida en Google revelaría cuán incompetente y menos eficiente es el soporte para
Windows. Por otro lado, los sabores de Linux como Oracle Enterprise Linux brindan soporte de clase
mundial respaldado por la infraestructura de soporte de Oracle.El costo del soporte de Oracle
Enterprise Linux también es mucho menor que el de las opciones de soporte de Windows. Idealmente,
la calidad de soporte para el software debería ser un factor primordial cuando se toma una decisión
sobre el software. El apoyo ineficiente puede hacer que la vida del departamento de TI sea
miserable. Entonces, ¿ qué sistema operativo es fácil de administrar cuando se considera la calidad y el
costo del soporte? - Ciertamente, la respuesta es Linux.

5. Soporte para el software Oracle en el sistema operativo seleccionado .


La siguiente consideración importante sería la calidad y la disponibilidad de soporte para la aplicación
(Oracle DB) en el sistema operativo seleccionado. Cuando la discusión trata sobre un sistema operativo
de servidor para la base de datos de Oracle, es necesario estudiar si hay alguna diferencia en el
proveedor de aplicaciones de soporte (aquí Oracle) ofrece para cada una de estas plataformas. Si bien
no se establecen ni documentan diferencias explícitas, las personas que se han ocupado de solucionar
problemas y solucionar problemas en plataformas Linux y Windows saben cuán menos eficientes son
las opciones para diagnosticar y solucionar un problema en Windows en comparación con
Linux. Cuando se habla de diagnosticar un problema, las opciones para el seguimiento de procesos, etc.
son mucho más fáciles en Linux. En Linux, donde cada proceso de Oracle se ejecuta como procesos
independientes, incluso matar un proceso es bastante fácil con las herramientas nativas de Linux. Esto
no es tan fácil o factible con el modelo de subprocesos que se sigue en Windows. Otro aspecto
importante es la disponibilidad de correcciones de errores. Los errores son parte integral de cualquier
software, la base de datos Oracle tampoco es una excepción. Por lo tanto, la consideración sería qué tan
fácil obtener y aplicar parches para Oracle rdbms en Linux vs Windows. Para Oracle, en Linux, hay
soluciones únicas disponibles para la mayoría de los problemas que se identifican. Sin embargo, las
soluciones únicas de Windows no están disponibles y el cliente debe esperar paquetes de parches de
Windows. La nueva capacidad de parcheo en línea conocido como "hot patch" está disponible en
Linux, no en Windows. Esto permite que el software Linux Oracle se parche incluso sin un tiempo de
inactividad. Entonces, qué sistema operativo permite un manejo sencillo del software Oracle que se
ejecuta en él. La respuesta definitiva es Linux.

6. Facilidad de problemas de solución de problemas.


Aspectos importantes de este punto, como el diagnóstico del problema, se discuten en la discusión
anterior. Windows carece de la capacidad de hacer el rastreo de procesos, etc. con herramientas nativas,
donde Linux tiene muchas herramientas gratuitas para el mismo. Entonces, qué sistema operativo
permite solucionar fácilmente problemas de Oracle. La respuesta definitiva es Linux.

7 Facilidad de gestión.
Esta es la respuesta clásica de la mayoría de los tomadores de decisiones que favorecen a
Winodws. Esto es a favor de Windows cuando alguien lo mira desde una perspectiva sobre la
instalación del software Oracle o la copia de algunos archivos o la realización de copias de seguridad,
etc. Es cierto que la instalación y la configuración de Oracle pueden ser fáciles en sistemas Windows en
comparación con plataformas Linux. Esto se debe simplemente a la elegante GUI que proporciona
Windows. Sin embargo, la instalación y configuración del software de Oracle es solo una actividad
única. Si el departamento de TI no cuenta con expertos en Linux, la experiencia necesaria para la
instalación y configuración de OS y Oracle en Linux puede obtenerse fácilmente de proveedores de
servicios externos. El costo involucrado en hacer esto sería mucho menor que el costo de licencia que
uno necesita para Windows. Una pequeña parte del costo de la licencia de Windows ahorrado sería
suficiente para que el sistema Linux sea instalado y configurado por una agencia externa, si su
departamento de TI carece de las habilidades de Linux. Una vez que se configura y la mayoría de las
tareas se automatizan, no hay necesidad de un gran experto en sistemas operativos en la tienda para
ejecutar el programa diario.

Uno de los ejemplos como diferencia fundamental en el funcionamiento entre Linux y Windows para
Oracle son:

La memoria compartida, los segmentos compartidos y los semáforos NO son ajustables en


Windows. El segmento de memoria compartida (SHMMAX), los segmentos compartidos (SHMMNI) y
los semáforos (SEMMNS) se pueden ajustar utilizando los parámetros del kernel en Unix / Linux.

El bloqueo de SGA de Oracle en la memoria real no es posible en Windows. El bloqueo SGA de


Oracle en la memoria real es posible en Unix / Linux.

Cada proceso en segundo plano de Oracle se implementa como Thread dentro de un solo proceso en
Windows. Cada proceso en segundo plano de Oracle es un proceso en Unix / Linux.
Modo gráfico. En Windows se llama como GUI porque proporciona interfaz gráfica de usuario. Unix y
Linux llamados como CLUI llamados Interfaz de usuario de línea de comandos. Debido a esto, Unix y
Linux ofrecen más rendimiento que Windows debido a la utilización de recursos.

Windows es un sistema de archivos plano. Unix y Linux es un sistema de archivos modelo


jerárquico. Tiendas de kernel de Windows en un par de archivos como el Registro. Las tiendas de
kernel de Unix y Linux en muchos archivos que son jerárquicas. Es muy fácil entender los sistemas de
archivos Unix y Linux en cualquier versión.

El sistema de archivos anterior FAT y FAT32 no tiene seguridad en Windows. El uso de ventanas de
sistema de archivos NTFS utiliza seguridad basada en permisos de archivo. En Unix y Linux tiene una
seguridad tradicional de permisos de archivos con el propietario, el grupo y otros usuarios. Unix tiene
mayores funciones integradas de seguridad y permisos que Windows. Linux también contiene el mismo
tipo de lógica de seguridad y permisos como Unix.

Recomendaciones para un servidor Oracle.

Indudablemente en materia de Linux para Oracle, el producto que mas demanda tiene es ORACLE
RED HAT ENTERPRISE LINUX VERSION.

Para instalar Oracle en un ambiente de Linux Red hat, y de acuerdo al crecimiento que se tiene de la
base de datos, las capacidades recomendadas son las siguientes:

Contar con una máquina que posea mínimo tres discos repartidos de la siguiente manera:

1. Un Disco para instalara el sistema operativo y la base de dar¡tos Oracle 11g. Capacidad de
70Gigas.
2. Dos discos para instalar las estructuras de almacenamiento de la base de datos, con el fin de
que queden balanceadas las cargas. Se recomienda dos discos con una capacidad mínima de
240GB.
3. Memoria RAM de mínimo 8GB y recomendable que sean 16GB.
4. Oracle 11g Version standard. (está el producto certificado para 12c?, si lo está se podría pensar
en esta versión de Oracle)

Вам также может понравиться