Instalación de Oracle Grid Infrastructure La Infraestructura de Grilla de Oracle para un servidor standalone, es software de soporte para la base de datos, ASM (sistema de archivos y manejador de volúmene s) y para Oracle Restart. 1 REQUISITOS DE MEMORIA Mínimo recomendado para memoria RAM (Infraestructura + Server): 2.5GB Valor recomendado para memoria RAM (Infraestructura + Server): 4GB SWAP para memoria de 2GB a 16GB, en igual tamaño que la memoria RAM. Comandos importantes: free para conocer el estado de la memoria grep MemTotal /proc/meminfo para conocer el total de memoria real grep SwapTotal /proce/meminfo para conocer el total de memoria SWAP 2 REQUISITOS DE ESPACIO EN DISCO Para la infraestructura, 2.3GB libres bajo / Para el proceso de instalación, 1GB en /tmp Comandos importantes: df -kh para conocer el espacio disponible en disco 3 CONFIGURACIÓN DEL AMBIENTE 3.1 Configuraciones básicas Automatizar la preparacion: cd /etc/yum.repos.d wget http://public-yum.oracle.com/public-yum-ol7.repo yum install oracle-rdbms-server-11gR2-preinstall yum update o el paquete descardado instalarlo como root su /bin/rpm -Uvh oracle-rdbms-server-11gR2-preinstall Se deberán seguir las siguientes acciones: Crear la variable $ORACLE_BASE. Para esto se deben agregar las siguientes instrucciones al final del archivo /et c/bashrc (archivo de comandos invocado por no-login shells): ORACLE_BASE=/u01/app/oracle export ORACLE_BASE En el archivo ~/.bash_profile se incluyen las siguientes instrucciones: ORACLE_HOME=$ORACLE_BASE/product/11.2.0/grid ORACLE_SID=+ASM PATH=$PATH:$ORACLE_HOME/bin export ORACLE_HOME ORACLE_SID PATH Establecer umask1 a 022 para el usuario dueño de la instalación (en este caso oracle) , con esto se asegura que el programa de instalación creará archivos con permisos 75 5 (u:111 g:101 o:101; o lo que es lo mismo, 0 : rwx 2 : rx 2 : rx ), es decir, c on esto se asegura que los archivos que crea el usuario dueño de la instalación son seguros (root tiene umask 022, un usuario en general tiene 002). Para saber cuál es el modo del usuario actual se usa2: umask -S Para establecer el modo para el usuario, se considera el orden de llamadas de sc ripts para login shells, dado que la instalación se realizará con el usuario oracle, por esta razón se modifica el archivo /etc/bashrc. su oracle chmod 777 /etc/bashrc gedit /etc/bashrc
Se agrega el siguiente código luego de las instrucciones de inicialización de umask originales del script: if [$UID = 500]; then umask 022 fi Los recursos disponibles para el usuario oracle se pueden ver con el comando ulim it3: $> ulimit -a Para poder realizar la instalación de la infraestructura, se requiere que el máximo de descriptores de archivos abiertos sea de al menos 65536. Este valor se debe modificar para el usuario oracleeditando el archivo /etc/secu rity/limits.conf: $> su $> gedit /etc/security/limits.conf En el cual se agregan las siguientes líneas: oracle soft nofile 4096 oracle hard nofile 65536 Lo cual permite que se pueda ejecutar desde el archivo ~/.bash_profile el comand o ulimit -n 65536 Estos cambios se aplican con el reinicio del sistema. 3.2 Parámetros del núcleo Los parámetros del núcleo recomendados para una instalación standalone 11g son: kernel.shmall = 2097152 kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 6815744 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 4194304 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 fs.aio-max-nr = 1048576 Los parámetros del servidor pueden ser revisados ejecutando el comando $> /sbin/sysctl -A Para modificar los parámetros que no coincidan con lo recomendado por Oracle, se de be modificar el archivo /etc/sysctl.conf, y una vez hechas las modificaciones se debe ejecutar el comando indicado a continuación (para que los cambios apliquen s in necesidad de reiniciar el servidor): $> /sbin/sysctl -p 3.3 Usuarios, grupos y variables Para poder instalar la instancia de ASM y la infraestructura, se requiere crear u n usuario y grupos con privilegios determinados. Considerando que durante la ins talación del SO (sección 2.2) se creó ya un usuario oracle, únicamente se agrega el usua rio a los grupos creados (si el usuario no existiera, se usaría el comando ./usera dd -g oinstall -G dba oracle): su cd /usr/sbin ./groupadd -g 1000 oinstall ./groupadd -g 1200 dba ./groupadd -g 54323 oper ./groupadd -g 54324 backupdba ./groupadd -g 54325 dgdba ./groupadd -g 54326 kmdba
./groupadd -g 54327 asmdba ./groupadd -g 54328 asmoper ./groupadd -g 54329 asmadmin ./useradd -g oinstall -G dba,oper oracle ./usermod -g oinstall -G dba,oper oracle mkdir -p /u01/app/11.2.0/grid mkdir -p /u01/app/oracle chown -R oracle:oinstall /u01 chmod -R 775 /u01 El siguiente paso es crear los directorios para la base de datos y para la infrae structura grid. Debe recordarse que se creó anteriormente una variable que concuerda justamente co n el directorio para la base de datos ($ORACLE_BASE) y una variable que coincide con la ubicación del software instalado de la infraestructura ($ORACLE_HOME). su mkdir -p /u01/app/oracle mkdir -p /u01/app/oracle/product/11.2.0/grid chown -R oracle:oinstall /u01 chmod -R 775 /u01 Los identificadores para usuario y grupos son recomendados, pero por seguridad, se pueden listar los usuarios del sistema revisando el contenido del archivo /et c/passwd4: cat /etc/passwd | grep home En el caso documentado por el presente documento, el usuario oracle tendrá ya un i dentificador, que se puede mantener. 3.4 Configuración de red El SO necesita una dirección IP fija, y una interfaz de loopback5 (que en sistemas RedHat es configurada por defecto, así como el nombre por defecto del servidor6). Si la dirección del servidor estuviera siendo asignada por DHCP, es conveniente es tablecerla como fija; para conocer la información general de las interfaces de red del equipo se utiliza el comando: ifconfig Para conocer la dirección del gateway (necesaria para la configuración fija), se util iza el comando: route -n Cuya salida incluirá una entrada marcada como UG (up / gateway). Además, de asignar un IP estático al equipo, se debe modificar el archivo /etc/hosts, para registrar dicho IP y asociarlo a un nombre con el cual se registrará el equi po durante la instalación: su gedit /etc/hosts Agregar en el archivo de hosts: IP_CONFIGURADO server11gNNAA En donde NNAA podrían ser las iniciales de los nombres y apellidos, e IP_CONFIGURA DO es el número que se asignó en el paso anterior. Para reiniciar las interfaces de red del servidor, se usan los comandos: su /etc/init.d/network restart Hechos los cambios en la configuración de red, es posible que el servicio sendmail tarde varios minutos en levantarse al no poder ubicar un DNS, lo cual repercute en el tiempo de inicio del sistema operativo. Esto puede ser atendido modificando el nivel de ejecución del servicio sendmail, m
ediante el comando7: su /sbin/chkconfig --level 5 sendmail off 3.5 Configuración del driver para las librerías de ASM Para poder realizar la instalación de una instancia de ASM, ya sea single o sea mo do RAC es preciso hacer una instalacion previa de paquetes en el SO y la configu ración correspondiente para que exista compatibilidad con nuestro kernel. Ahora veremos que es una tarea que pone especial atención en la versión de Kernel qu e tenemos. Para ello ejecutemos el comando uname -a y obtendremos la version de kernel y ar quitectura del o los CPU s entre otras cosas. uname -a También podemos solamente obtener la versión de Kernel, y poder trabajar de una mane ra más prolija y no equivocarnos a la hora de seleccionar los paquetes rpm: uname -r Con la informacion saliente buscamos en el site oficial que nos provee oracle , los rpm oracleasmlib, oracleasm-support y oracleasm que correspondan a nuestra versión de SO , kernel y arquitectura. oracleasm-kernel_version-asmlib_version.cpu_type.rpm oracleasmlib-asmlib_version.cpu_type.rpm oracleasm-support-asmlib_version.cpu_type.rpm El software dependerá de la versión del núcleo del SO. Para conocer cuál es la versión del núcleo, se ejecuta el comando: uname -rm Dependiendo del valor mostrado, se descargarán del sitio de Oracle las librerías apro piadas. yum install kmod-oracleasm yum install oracleasm-`uname -r` yum install oracleasm-support-`uname -r` oracleasm-support-2.1.8-3.1.el7.x86_64.rpm oracleasm-2.0.8-17.0.1.el7.src.rpm /bin/rpm -Uvh ~/oracleasmlib-2.0.12-1.el7.x86_64.rpm Para inicializar ASM se requiere conocer el ID del usuario dueño de la instalación y el grupo al cual pertenecerá la interfaz de ASM que se está instalando (el driver): id oracle Como usuario root ejecutamos en una terminal el siguiente comando: /etc/init.d/oracleasm configure Los valores que se utilizarán son: UID: el ID del usuario oracle (1000) GID: el ID del grupo dba creado en el numeral 3.3 (1200) Iniciar el driver al iniciar el SO: sí Escanear por discos ASM al arrancar el SO: sí Una vez configurado el asmlib, nos ponemos en marcha para la creación de los disco s que nos fueron asignados a dicha tarea, en el ejemplo que les muestro mis disc os llegan por LUNS y estan publicados en cada servidor. Nomeclatura: /etc/init.d/oracleasm createdisk DISK_NAME device_name Atendiendo lo recomendado, se agregan a la máquina virtual 2 discos de tamaño fijo so bre el controlador SATA existente. Cada disco tiene 8GB de espacio. El SO reconoce los nuevos discos al ser iniciado. Para verificar el estado de los discos, se ejecuta el comando /sbin/fdisk -l como root.
Los discos no inicializados aparecerán sin una tabla de particiones válida, nombrado s como /dev/sdb, dev/sdc, etc. Para cada disco disponible (/dev/sdb, /dev/sdc, etc), se utiliza el siguiente com ando para su inicialización: $> /sbin/fdisk /dev/sdb Las opciones del diálogo de consola que se utilizan son: n (nuevo) p (primary partition) default (primer cilindro) default (último cilindro) w (fin de comando) Hecho esto se habrán creado particiones primarias no formateadas en cada disco. Por ejemplo, para el disco /dev/sdb se creará la partición /dev/sdb1. Para crear los discos para ASM se ejecutan los comandos: /etc/init.d/oracleasm createdisk vol1 /dev/sdb1 /etc/init.d/oracleasm createdisk vol2 /dev/sdc1 /etc/init.d/oracleasm createdisk vol3 /dev/sdd1 /etc/init.d/oracleasm createdisk vol4 /dev/sde1 etc... si se quisieran configurar más discos, en este caso se inicializan y config uran 4 discos. El resultado de la ejecución del comando es: /etc/init.d/oracleasm createdisk vol1 /dev/sdb1 /etc/init.d/oracleasm createdisk vol2 /dev/sdc1 /etc/init.d/oracleasm createdisk vol3 /dev/sdd1 /etc/init.d/oracleasm createdisk vol4 /dev/sde1 Verificamos la creacion de los mismos /etc/init.d/oracleasm listdisks /etc/init.d/oracleasm scandisks El software de instalación se lo debe copiar en el disco duro, lo cual puede hacers e con el usuario oracle, dado que ya se realizó el cambio recursivo de dueño y de pe rmisos sobre /u01: $> mkdir -p /u01/app/oracle/stage/grid $> mkdir -p /u01/app/oracle/stage/database En el directorio grid se copia el software de instalación de la infraestructura, y en el directorio database el software de instalación de la base de datos. Para de scomprimir un archivo zip se pude usar el comando unzip. ORACLE ASM DEFINICIONES Software de la base de datos Oracle (Oracle Installation Software): El software de una instalación de servidor de bases de datos Oracle. Oracle Configuration Asistant (OCA): Programa de creación y configuración de bases de datos. Oracle Restart: Software que permite el reinicio automático de la instancia de base de datos, Oracle Net Listener, Servicios de la base de datos, y OASM. Oracle Automatic Storage Management (OASM): Software especializado, manejador de volúmenes y sistema de archivos que soporta instalaciones de una sola instancia e instalaciones tipo clúster. Oracle Automatic Storage Management Cluster File System (OACFS): Permite trabajar a ASM en ambientes tipo cluster tanto como en ambientes de una sola instancia. Oracle Automatic Dymanic Volumen Manager (OADVM): Manejador de volúmenes que utiliz a OASM. Oracle ASM Configuration Asistant (OASMCA): En versiones 10g, la configuración de A SM estaba delegada al OCA. En versiones 11g existe este programa para dicho fin. OASMCA es parte de Oracle Grid Infraestructure. Oracle Grid Infraestructure: Software de Oracle que provee soporte a nivel de sis tema para OASM. OACFS, Oracle Restart y para el software de la base de datos en
sí mismo. CONSIDERACIONES PARA LA INSTALACIÓN DE OASM ¿Se va a utilizar ASM para DB files? ¿Para recovery files? ¿Para ambos? Esta alternativ a se puede decidir durante la creación y configuración de una base de datos cuando s e realiza esto en modo AVANZADO. ¿Qué nivel de redundancia se va a utilizar? ASM provee 3 niveles: Redundancia externa: Oracle ASM no refleja los contenidos de sus grupos de discos . Se recomienda esta opción cuando el SO provee redundancia por RAID. Redundancia normal: A este nivel ASM provee por defecto espejamiento de dos vías pa ra archivos de datos (data files) y de tres vías para archivos de control (control files), aunque esto puede ajustarse a un menor nivel si fuese lo requerido. Par a usar redundancia normal, se requieren al menos dos grupos de discos de fallo ( dos dispositivos de disco). El espacio efectivo disponible en disco en un esquem a de este tipo, es igual a la mitad de la suma del espacio disponible en ambos d iscos. Alta Redundancia: Se requieren al menos tres grupos de discos de fallo (tres disp ositivos) y el espejamiento se realiza en tres vías para data files y en cuatro vías para control files. Considerando lo anterior, y si existieran discos candidatos para la instalación de ASM, se debe cuidar que: El dueño de la instalación de ASM debe ser también dueño de los dispositivos (de los disc os, como /dev/sdb1 por ejemplo). Aunque es posible instalar ASM sobre particiones hechas sobre un disco, lo recome ndado por Oracle es usa discos para conformar los grupos de discos de ASM. Todos los dispositivos de un mismo grupo deben tener la misma capacidad y el mism o desempeño. ¿Se puede usar LVM con ASM? Oracle recomienda no hacer esto, pues ASM es en sí un man ejador de volúmenes. EJECUCIÓN DEL INSTALADOR DE LA INFRAESTRUCTURA Habiendo cumplido lo indicado en los pasos anteriores, se procede a ejecutar el instalador de la infraestructura: $> ./runInstaller El asistente guía la instalación a lo largo de 11 pasos, como se muestra en las capt uras siguientes: a. Se selecciona la instalación de un servidor standalone: b. Se seleccionan los idiomas para la instalación: c. Se crea un grupo de discos para datos, por ello se conserva el nombre por def ecto DATA. El nivel de redundancia se establece en normal (sección 5) y se seleccionan dos di scos candidatos puesto que lo recomendado por Oracle para un nivel de redundanci a normal es usar al menos dos discos. Si el asistente no encuentra discos candidatos a pesar de haberlos creado y conf igurado con las librerías del driver de oracle para ASM, se puede cambiar la ruta de acceso de detección hacia el directorio /dev/oracleasm/disks, en donde por defe cto ASM incluye los dispositivos configurados. d. Se utiliza una misma contraseña para las cuentas de administración de ASM: oracle _4U Se deben proporcionar contraseñas para dos cuentas,SYS y ASMSNMP. Se ofrece la opción de utilizar diferentes contraseñas para las cuentas o utilizar l a misma. e. Los grupos de usuarios ASM (internos de la instancia) requieren vincularse co n un grupo del sistema operativo para autenticarse. Se utiliza el grupo dba crea do anteriormente. Si se presenta un mensaje de advertencia se acepta y se prosig ue. f. Dadas las consideraciones de OFA (Oracle Flexible Architecture), se utilizan las ubicaciones para instalación que el asistente plantea por defecto, las cuales concuerdan con las variables de entorno configuradas en la sección 3.1. La ubicación por defecto indicada para el inventario de instalación también se puede mantener.
El valor de Oracle Base es: /u01/app/oracle Para Software Location es: /u01/app/oracle/product/11.2.0/grid El resumen de la instalación que se va a realizar agrega un dato de suma importanc ia: el espacio en disco. En este punto se puede tomar cualquier correctivo si hiciera falta más espacio en disco o si la cuota del usuario dueño de la instalación no contempla suficiente espa cio. Tras accionar el botón Terminar se inicia el proceso, mismo que puede durar entre 20 y 30 minutos dependiendo de los recursos del equipo anfitrión. Durante la última etapa del proceso, se solicitará la ejecución de dos scripts. Los scripts pueden ejecutarse con los comandos: /u01/app/oraInventory/orainstRoot.sh /u01/app/oracle/product/11.2.0/grid/root.sh El segundo script solicitará que se ingrese la ruta hacia /usr/local/bin. Tras la ejecución de los scripts se realizan los últimos pasos de la instalación de fo rma automática. Una vez finalizada la instalación se presenta la pantalla de confirmación. El siguiente paso es la configuración del grupo de discos +FRA. En una ventana de terminal, conéctese como oracle y realice los siguientes pasos: a) Utilice oraenv para definir el entorno de la sesión de terminal. Introduzca +ASM cuando se le solicite para ORACLE_SID: oraenv ORACLE_SID = [orcl] ? +ASM The Oracle base for ORACLE_HOME=/u01/app/oracle/product/11.2.0/grid is /u01/app/oracle b) Inicie ASM Configuration Assistant introduciendo asmca en la línea de comandos asmca c) Se abre ASM Configuration Assistant mostrando los grupos de discos actuales p ara la instancia +ASM d) Introduzca FRA en Disk Group Name. Seleccione External (None) en Redundancy. Seleccione los grupos de discos ORCL:ASMDISK05, ORCL:ASMDISK06, ORCL:ASMDISK07 y ORCL:ASMDISK08 y haga clic en OK e) Haga clic en OK en la ventana DiskGroup: Creation cuando aparezca f) Observe que ahora hay dos grupos de discos (DATA y FRA) para la instancia +AS M. Haga clic en Exit. g) Haga clic en Yes cuando se le pregunte si desea salir de esta aplicación Cierre todas las ventanas de terminal abiertas. Instalación del Software de Oracle Database 11g El siguiente paso es instalar el software de Oracle Database 11g. - Extraiga los archivos: # unzip linux.x64_11gR2_database_1of2.zip # unzip linux.x64_11gR2_database_2of2.zip 1) Abra una nueva ventana de terminal e instale el software de Oracle Database c omo usuario oracle. Acceda al directorio database/ e inicie Oracle Universal Installer (OUI). a) Haga clic con el botón derecho en el escritorio y seleccione Open Terminal para abrir una ventana de terminal. A continuación, introduzca lo siguiente: $ ./runInstaller El instalador universal de Oracle ejecuta una cantidad de comprobaciones para ve rificar que los paquetes y versiones de SO requeridos estén instalados. Además, comp rueba parámetros del kernel definidos por la instalación de oracle-rdbms-server-11gR 2-preinstall. Durante la comprobación de la configuración del kernel, el instalador puede indicar que algunos valores son erróneos (failed); en ese caso, deberá investi gar los errores señalados. Puede ocurrir, en algunos casos, que de todos modos sea posible seguir adelante con la instalación de la base de datos. Si revisa la configuración del kernel en /etc/sysctl.conf, observará que oracle-rdbm s-server-11gR2-preinstall ha modificado y añadido los valores necesarios para aseg
urar que se cumpla con los requisitos mínimos http://public-yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64 A continuación se incluye la lista de requisitos: fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 4294967295 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 2) La página Configure Security Updates es la primera que aparece. En un entorno real,introduciría su dirección de correo y la contraseña de My Oracle Su pport; sin embargo, ya que la clase constituye un entorno aislado, deje los campos de c orreo electrónico y contraseña en blanco. Desactive la opción para recibir actualizaciones de seguridad de My Oracle Support y haga clic en Next 3) Haga clic en Yes cuando aparezca el mensaje de advertencia Email Address Not Specified 4) En la página Installation Option, seleccione la opción Install Database Software Only y haga clic en Next 5) Asegúrese de que está seleccionada la opción Single Instance Database Installation en la página Install Type y haga clic en Next 6) En la página Product Languages, seleccione todos los idiomas disponibles y haga clic en Next. 7) En la página Select Database Edition, asegúrese de que está seleccionada la opción En terprise Edition (3.95GB) y haga clic en Next. 8) En la página Installation Location, asegúrese de que el valor de Oracle Base es / u01/app/oracle. Para Software Location, introduzca /u01/app/oracle/product/11.2.0/dbhome_1. 9) Seleccione dba para los grupos OSDBA y OSOPER en la página Privileged Operating System Groups y haga clic en Next. 10) A continuación, OUI realiza las comprobaciones de requisitos. No debería encontrarse ningún problema y debe aparecer la página Summary a continuación. 11) Aparece la página Install Product para mostrar el progreso de la instalación y e l estado de las tareas individuales que se están realizando. Cuando aparezca la página Execute Configuration scripts, siga los pasos mostrados en la ventana. Abra una nueva ventana de terminal y conéctese como root Ejecute el script mostrado en la ventana Execute Configuration scripts. Acepte el directorio bin local por defecto y no sobrescriba los archivos (simple mente pulse [Intro] porque la opción por defecto es que no se sobrescriban) /u01/app/oracle/product/11.2.0/dbhome_1/root.sh Haga clic en OK en la ventana Execute Configuration scripts