Se instalará la Base de Datos Oracle 11gR2 en una máquina virtual con sistema operativo Oracle Linux 64 bits. Sólo se usará 1G para la máquina virtual, ya que será para pruebas y desarrollos personales en SOA Suite.
Configuración inicial como usuario root
1. Configurar IP y nombre de host: se cambia el nombre de la máquina por soa11db y se setea IP fija:
vi /etc/sysconfig/network
Cambiar HOSTNAME a soa11db
vi /etc/hosts
Se agrega la línea:
172.16.1.135 soa11db soa11db.localdomain
También se debe cambiar la IP en las propiedades de red (Network Connections).
2. Crear grupos de sistema operativo requeridos: crear los grupos oinstall y dba:
/usr/sbin/groupadd oinstall/usr/sbin/groupadd dba
/usr/sbin/usermod -g oinstall -G dba oracle
3. Configurar Parámetros del Kernel
vi /etc/sysctl.conf
Agregar al final del archivo:
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 = 1048586
fs.aio-max-nr = 1048576
fs.file-max = 6815744
Ingresar el siguiente comando para cargar en el kernel los parámetros especificados en el archivo /etc/sysctl.conf:
/sbin/sysctl -p
No cambié los siguientes parámetros porque sus valores son mayores a los recomendados.
Recomendados:
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
Valores en el servidor linux: (/sbin/sysctl -a | grep shm)
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
kernel.shmmni = 4096
vm.hugetlb_shm_group = 0
4. Se agregan los límites para el usuario oracle
vi /etc/security/limits.conf
Agregar lo siguiente:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
NOTA: el último valor no venía en el documento de instalación oficial. Lo saqué de un artículo de oracle-base.
5. Editar archivo 90-nproc.conf (ID 1487773.1)
vi /etc/security/limits.d/90-nproc.conf
Cambiar la línea:
* soft nproc 1024
Por la siguiente:
* - nproc 16384
6. Editar archivo login
vi /etc/pam.d/login
Se agrega la línea:
session required pam_limits.so
7. Editar archivo profile
vi /etc/profile
Agregar las líneas:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
8. Editar archivo csh.login
vi /etc/csh.login
Agregar las líneas:
if ( $USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
endif
9. Crear Directorios Requeridos: se crea el directorio donde se instalará el software.
chown -R oracle:oinstall /app/
chmod -R 775 /app/
10. Habilitar el host remoto: si
no se instala el software en el sistema local, para habilitar el
despliegue de aplicaciones X Window System en el servidor X local:
xhost +soa11db
11. Configurar la seguridad de linux a permisiva
vi /etc/selinux/config
Cambiar la línea:
SELINUX=enforcing
Por la línea:
SELINUX=permissive
Configuración como usuario oracle
1. Configurar el archivo .bash_profile del usuario oracle
cd
vi .bash_profile
Se agregan las siguientes líneas:
#Para configurar el modo default de creacion de archivos
umask 022
#Directorio /tmp: ya existe, se reutiliza
TMP=/tmp
TMPDIR=/tmp
export TMP TMPDIR
#Setear variables ORACLE_BASE, ORACLE_SID:
#Se elige el sid dbora11
ORACLE_BASE=/app/oracle
ORACLE_SID=dbora11
export ORACLE_BASE ORACLE_SID
#Recomendacion de oracle-base.com
ORACLE_HOSTNAME=soa11db.localdomain; export ORACLE_HOSTNAME
ORACLE_UNQNAME=dbora11; export ORACLE_UNQNAME
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
#LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export CLASSPATH
#Fin recomendacion de oracle-base.com
NOTA: Se saca el seteo de la variable LD_LIBRARY_PATH ya que genera problemas con la ejecución de otros servicios del sistema operativo, como el system-config-services. Además, en el manual de instalación no hacen referencia a esta variable.
Se activan las variables creadas:
. .bash_profile
2. Crear el directorio oracle en /app
cd /app
mkdir oracle
3. Se copian los archivos de instalación de la BD
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
Se descomprimen en el directorio /home/oracle/jflores/DB11g/
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
Reiniciar.
Instalando la Base de Datos Oracle 11g
Ejecutar como usuario oracle:
cd /home/oracle/jflores/DB11g/database
. runInstaller
Se levanta la ventana de Oracle Universal Installer.
1. Configure Security Updates: se quita el flag para recibir updates. Este servidor no estará conectado a Internet.
2. Select Installation Option: se selecciona la opción por default: "Create and Configure a Database".
3. System Class: seleccionar la opción "Server Class".
4. Grid Installation Options: seleccionar la opción default: "Single instance database installation".
5. Select Install Type: seleccionar la opción "Advanced install".
6. Product Languages: agrego el idioma "Latin American Spanish"
7. Database Edition: seleccionar la opción default "Enterprise Edition". Hacer click en "Select Options...". No se cambia ningún flag, es sólo para mirar.
8. Installation Location: se dejan los paths defaults.
Oracle Base: /app/oracle
Software location: /app/oracle/product/11.2.0/db_1
9. Create Inventory: se deja el path default.
10. Configuration Type: se deja valor default: Base de propósito general.
11. Database Identifiers: se elige dbora11 como nombre de base de datos y del SID.
12. Configuration Options
Memoria: Se elige el valor propuesto: 396M (la máquina tiene 1G de RAM)
Character Sets: se elige la opción "Use Unicode (AL32UTF8)"
Security: sacar el flag para así no usar los seteos de seguridad.
Sample Schemas: no se instalan.
13. Management Options: se deja el default.
14. Database Storage: se deja el path default: /app/oracle/oradata
15. Backup and Recovery: se deja el default, sin recovery automático.
16. Schema Passwords: se selecciona oracle como password para todos los esquemas, aunque se muestra un warning por un tema de seguridad.
17. Operating System Groups: se dejan valores default.
18. Prerequisite Checks: muestra que hay problemas con algunos packages. Pero si se validan esos packages en el sistema (rpm -qa | grep <pkg>) se puede ver que hay versiones más actualizadas. Click en "Ignore all". Click Finish.
19. La BD ha sido creada: la URL del Database Control es:
https://soa11db.localdomain:1158/em19. La BD ha sido creada: la URL del Database Control es:
Management Repository has been placed in secure mode wherein Enterprise Manager data will be encrypted. The encryption key has been placed in the file: /app/oracle/product/11.2.0/db_1/soa11db.localdomain_dbora11/sysman/config/emkey.ora. Please ensure this file is backed up as the encrypted data will become unusable if this file is lost.
Respaldo el archivo como lo menciona la recomendación:
cp /app/oracle/product/11.2.0/db_1/soa11db.localdomain_dbora11/sysman/config/emkey.ora /home/oracle/jflores
Click en OK.
20. Ejecutar scripts de configuración: los siguientes scripts necesitan ejecutarse como root:
/app/oraInventory/orainstRoot.sh
/app/oracle/product/11.2.0/db_1/root.sh
21. Configuración de parámetros de la base de datos: se modifican 4 parámetros. Sus valores iniciales son:
processes: 150
sessions: 247
open_cursors: 300
undo_retention: 900
[oracle@soa11db ~]$ sqlplus "/ as sysdba"
SQL> startup
ALTER SYSTEM SET processes = 2000 SCOPE=spfile;
ALTER SYSTEM SET sessions = 2000 SCOPE=spfile;
ALTER SYSTEM SET open_cursors = 5000 scope=both;
ALTER SYSTEM SET undo_retention = 14400 scope=both;
Solución al error ORA-04031: unable to allocate 16416 bytes of shared memory
El siguiente error me ocurrió al momento de tratar de hacer un startup a la BD porque le había bajado la memoria a la máquina virtual:
SQL> startup
ORA-04031: unable to allocate 16416 bytes of shared memory ("shared pool","unknown object","sga heap(1,0)","dbktb: trace buffer")
La solución es modificar el parámetro memory_target del archivo spfile. Como este archivo es binario primero se debe crear un archivo de texto como archivo de paso. Se deben ejecutar las siguientes acciones:
1. [oracle@soa11db ~]$ sqlplus "/ as sysdba"
2. SQL> create pfile='jflores01.ora' from spfile='spfiledbora11.ora';
3. Editar el archivo /app/oracle/product/11.2.0/db_1/dbs/jflores01.ora
Cambiar el valor de *.memory_target. Por ejemplo:
Valor original:
*.memory_target=1027604480
Nuevo valor:
*.memory_target=671088640
4. SQL> startup pfile='/app/oracle/product/11.2.0/db_1/dbs/jflores01.ora';
5. SQL> create spfile='spfiledbora11.ora' from pfile='jflores01.ora';
Ahora ya se puede subir la BD sólo ejecutando el comando startup.
Y ahora...
...ya podemos instalar los esquemas del repositorio de la SOA.---
EOF
---
No hay comentarios:
Publicar un comentario