La verdad es que desde hace un tiempo las instalaciones de Oracle se pueden hacer en modo gráfico «como en Windows» pero para aquellos que estamos acostumbrados al modo texto o lisa y llanamente solo podemos utilizar un terminal a línea de mando, es util tener el conocimiento de co mo instalar Oracle de esta forma.
Preparación
Bien es cierto que la linea para ejecutar en modo silent es conocida, es necesario crear los usuarios y las carpetas necesarias para una instalación adecuada. Para ello debes primer crear los usuarios que se requieren para la instalación y ejecución de la base de datos.
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba,oper oracle
Aunque es obvio, si estas leyendo esto es porque tienes los archivos de instalación
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
—
Actualizacion (24-09-2015)
Por mi parte encuentro conveniente mover la carpeta descomprimida a /tmp, este articulo presume que los archivos de instalación estan en esta carpeta, por lo tanto en la carpeta que se descomprimió oracle debes aplicar
mv database/ /tmp
cd /tmp
—
Esto te genera una carpeta database/ en la ruta en donde descomprimiste. Para ejecutar el instalador como el usuario oracle es necesario dar los permisos necesarios
chown -R oracle.oinstall database/
Debes además crear las carpetas necesarias que utiliza inicialmente el instalador de Oracle, luego de crearlas en comando creará todas las subcarpetas, obviamente si se le dan los permisos adecuados.
mkdir /u01
chown -R oracle.oinstall /u01
mkdir -p /u01/app
chown -R oracle:oinstall /u01/app
chmod -R 775 /u01/app
Asegurarse que estan instalados los paquetes necesarios que utiliza Oracle
yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel mksh
En este punto la unica discrepancia que tengo con el instalador es que igual, en un ambiente 64bits te reclama como necesarias ciertas librerías i386, que en rigor si estan instalados pero para 64bits.
Establecer los requerimientos mínimos exigidos por oracle (en su instalador de 64bits). Estas lineas las puedes establecer al final del archivo, fijandote previamente que alguna de estas variables no este establecida con anterioridad.
vi /etc/sysctl.conf
kernel.shmmax = 2147483648
kernel.shmall = 2097152
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=1048576
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048576
fs.aio-max-nr=1048576
Para volcar estos parametros sin reiniciar (¡gracias Linux!) ejecutar
/sbin/sysctl -p
Editar adicionalmente 3 archivos, uno para establecer los limites de archivos
vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
Editar la seguridad para el logeo de usuarios de la máquina
vi /etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so
Editar profile (añadir al final) para establecer ciertos limites necesarios.
vi /etc/profile
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
Instalar Oracle
Y ahora instalar oracle
Crea un archivo en /etc o en /var/opt/oracle
[root@arocl ~]# vi /etc/oraInst.loc
inventory_loc=/tmp/oraInventory
inst_group=oinstall
su - oracle
y correr (situate en la carpeta donde descomprimiste oracle)
—
Actualizacion (24-09-2015)
cd /tmp/database
—
—
Actualizacion (12-04-2016)
Para el caso que estes instalando Oracle 12c entonces debes agregar
oracle.install.db.BACKUPDBA_GROUP=dba \
oracle.install.db.DGDBA_GROUP=dba \
oracle.install.db.KMDBA_GROUP=dba \
—
./runInstaller -silent -force -ignoreSysPrereqs -ignorePrereq \
FROM_LOCATION=/tmp/database/stage/products.xml \
oracle.install.option=INSTALL_DB_SWONLY \
UNIX_GROUP_NAME=oinstall \
INVENTORY_LOCATION=/tmp/oraInventory \
ORACLE_HOME=/u01/app/oracle/product/11.2/db_1 \
ORACLE_HOME_NAME="OraDb11g_Home1" \
ORACLE_BASE=/u01/app/oracle \
oracle.install.db.InstallEdition=SE \
oracle.install.db.isCustomInstall=false \
oracle.install.db.DBA_GROUP=dba \
oracle.install.db.OPER_GROUP=dba \
DECLINE_SECURITY_UPDATES=true
Y finaliza ejecutando
/u01/app/oracle/product/11.2/db_1/root.sh
—
Actualizacion (24-09-2015)
Pasos siguientes
Luego de instalar la base de datos deben seguirse ciertos pasos para completar la generación y conexión a una instancia:
Establecer la variables de entorno para Oracle
Crear una base de datos
Crear el listener
—
Problemas
[INS-06101] No se ha podido determinar la dirección IP del host local
Para esto debes fijarte si en el archivo /etc/hosts y en el archivo /etc/sysconfig/network este establecido el nombre del hostname
En mi caso
[root@arocl ~]# vi /etc/hosts
127.0.0.1 arocl localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 arocl localhost localhost.localdomain localhost6 localhost6.localdomain6
[root@arocl ~]more /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=arocl
[INS-32035] No se ha podido crear un nuevo inventario central en la ubicación especificada
Crea un archivo en /etc o en /var/opt/oracle
[root@arocl ~]# vi /etc/oraInst.loc
inventory_loc=/home/oracle/oraInventory
inst_group=oinstall
[INS-13013] El entorno de destino no cumple algunos requisitos obligatorios
Este es el error que no me gusta el log señala
INFO: Error Message:PRVF-7573 : El tamaño de intercambio suficiente no está disponible en el nodo "arocl" [Se necesita = 15,56GB (1.6316164E7KB) ; Se ha encontrado = 8GB (8388600.0KB)]
INFO: Error Message:PRVF-7543 : El parámetro del núcleo del sistema operativo "ip_local_port_range" no tiene un valor adecuado en el nodo "arocl" [Se esperaba = "between 9000 & 65500" ; Se ha encontrado = "between 9000 & 65000"]
INFO: Error Message:PRVF-7532 : Falta el paquete "libaio-0.3.105 (i386)" en el nodo "arocl"
INFO: Error Message:PRVF-7532 : Falta el paquete "glibc-2.3.4-2.41 (i686)" en el nodo "arocl"
INFO: Error Message:PRVF-7532 : Falta el paquete "compat-libstdc++-33-3.2.3 (i386)" en el nodo "arocl"
INFO: Error Message:PRVF-7532 : Falta el paquete "libaio-devel-0.3.105 (i386)" en el nodo "arocl"
INFO: Error Message:PRVF-7532 : Falta el paquete "libgcc-3.4.6 (i386)" en el nodo "arocl"
INFO: Error Message:PRVF-7532 : Falta el paquete "libstdc++-3.4.6 (i386)" en el nodo "arocl"
INFO: Error Message:PRVF-7532 : Falta el paquete "unixODBC-2.2.11 (i386)" en el nodo "arocl"
INFO: Error Message:PRVF-7532 : Falta el paquete "unixODBC-devel-2.2.11 (i386)" en el nodo "arocl"
INFO: Error Message:PRVF-7532 : Falta el paquete "pdksh-5.2.14" en el nodo "arocl"
Esto para mi es raro, debido a que estoy en un ambiente 64bits, por lo cual nota que este comando esta aplicado con los parametros -ignoreSysPrereqs -ignorePrereq, esto se salta cualquier validacion de sistema y de librerías.
En este caso es justificado.
—
Actualizacion (12-04-2016)
[FATAL] [INS-35344] No se ha especificado el valor para Database Backup and Recovery (OSBACKUPDBA) group.
Para el caso que estes instlanmdo Oracle 12c y te aparezca este error implica que debes adicionar a la linea de instalacion
—