Preparación del entorno
Una vez configurada la máquina virtual con su dirección IP correspondiente, el siguiente paso es descargar los paquetes de instalación de Oracle 11g (versión 11.2.0.4) para Linux. Los archivos se pueden obtener desde un repositorio externo (por ejemplo, un enlace de descarga compartido) y transferirlos a la máquina virtual mediante SFTP. Para una instalación únicamente de base de datos, se requieren los dos primeros archivos zip; si se desea un entorno Grid (por ejemplo, para un clúster), se necesita también el tercer archivo.
Configuarción de repositorios e instalación de dependencias
Se debe configurar el repositorio local de paquetes. Para ello, se mueven los archivso existentes en /etc/yum.repos.d/ y se crea un nuevo archivo /etc/yum.repos.d/cr.repo con el siguiente contenido:
[base]
name=cr7
baseurl=file:///mnt
gpgcheck=0
enabled=1
Luego, se ejecuta yum list para verificar la configuración. Si se prfeiere una fuente oficial de Oracle en línea, se puede descargar el repositorio con:
wget http://public-yum.oracle.com/public-yum-ol7.repo
Se instalan los paquetes necesarios para el sistema y la red:
yum install net-tools* -y
yum install unzip -y
Las dependencias requeridas por Oracle se instalan con el siguiente comando único:
yum install -y binutils* compat-libcap1* gcc* gcc-c++* glibc* glibc-devel* ksh* libaio* libgcc* libstdc* libstdc++-devel* libXi* libXtst* make* sysstat* elfutils-libelf-devel*
Creación de usuarios y grupos
Se crean los grupos de sistema operativo y el usuario oracle:
/usr/sbin/groupadd -g 1000 oinstall
/usr/sbin/groupadd -g 1020 asmadmin
/usr/sbin/groupadd -g 1021 asmdba
/usr/sbin/groupadd -g 1022 asmoper
/usr/sbin/groupadd -g 1031 dba
/usr/sbin/groupadd -g 1032 oper
useradd -u 1101 -g oinstall -G dba,asmdba,oper oracle
Se crea la estructura de directorios y se asignan permisos:
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01
chmod -R 775 /u01/
Se establece la contraseña para el usuario oracle (ejemplo: oracle):
passwd oracle
Ajuste de montaje de discos
Si existe un punto de montaje /data, se desmonta y se renombra la ruta:
umount /data
mv /data/ /u01
Se edita /etc/fstab para cambiar el punto de montaje de /data a /u01 y se monta nuevamente:
mount /dev/mapper/ol-data /u01
Verificar que el volumen aparezca correctamente con df -h.
Extracción de los paquetes de Oracle
Se descomprimen los archivos zip en el directorio /u01:
cd /u01
unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip
Después de la extracción, se reasignan los permisos:
chown -R oracle:oinstall /u01
chmod -R 775 /u01/
Parámetros del sistema
Se modifican los archivos /etc/sysctl.conf y /etc/security/limits.conf.
Agregar en /etc/sysctl.conf:
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
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 = 1048586
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 4194304 4194304 4194304
Aplicar los cambios con sysctl -p.
Agregar en /etc/security/limits.conf:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
Configuración de nombres de host
Definir el nombre del servidor en /etc/hostname y asociarlo en /etc/hosts:
# En /etc/hostname
ora01
# En /etc/hosts
192.168.11.128 ora01
Archivo de respuesta para instalación silenciosa
Se prepara el archivo /u01/database/response/db_install.rsp con el siguiente contenido (ajustar según necesidades):
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=ora01
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
SELECTED_LANGUAGES=en
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.EEOptionsSelection=false
oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oper
oracle.install.db.CLUSTER_NODES=
oracle.install.db.isRACOneInstall=
oracle.install.db.racOneServiceName=
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=orcl
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.characterSet=ZHS16GBK
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=512
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=oracle
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.SYSMAN=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.automatedBackup.osuid=
oracle.install.db.config.starterdb.automatedBackup.ospwd=
oracle.install.db.config.starterdb.storageType=
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
PROXY_REALM=
COLLECTOR_SUPPORTHUB_URL=
oracle.installer.autoupdates.option=SKIP_UPDATES
oracle.installer.autoupdates.downloadUpdatesLoc=
AUTOUPDATES_MYORACLESUPPORT_USERNAME=
AUTOUPDATES_MYORACLESUPPORT_PASSWORD=
Ejecución de la instalación silenciosa
Con el usuario oracle, ejecutar el instalador:
/u01/database/runInstaller -ignoreSysPrereqs -silent -showProgress -responseFile /u01/database/response/db_install.rsp
Al finalizar, se deben ejecutar los scripts como root:
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0/db_1/root.sh
Configuración de variables de entorno
Agregar las siguientes líneas al archivo de perfil del usuario oracle (por ejemplo, ~/.bash_profile):
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
umask 022
Creación de la base de datos
Preparar el archivo /u01/database/response/dbca.rsp:
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "orcl"
SID = "orcl"
NODELIST=ora01
TEMPLATENAME = "General_Purpose.dbc"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
CHARACTERSET = "ZHS16GBK"
NATIONALCHARACTERSET= "UTF8"
Ejecutar DBCA en modo silencioso:
dbca -silent -responsefile /u01/database/response/dbca.rsp
Configuración del listener
Crear el archivo /u01/database/response/netca.rsp:
[GENERAL]
RESPONSEFILE_VERSION="11.2"
CREATE_TYPE="CUSTOM"
[oracle.net.ca]
INSTALLED_COMPONENTS={"server","net8","javavm"}
INSTALL_TYPE=""typical""
LISTENER_NUMBER=1
LISTENER_NAMES={"LISTENER"}
LISTENER_PROTOCOLS={"TCP;1521"}
LISTENER_START=""LISTENER""
NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"}
NSN_NUMBER=1
NSN_NAMES={"EXTPROC_CONNECTION_DATA"}
NSN_SERVICE={"PLSExtProc"}
NSN_PROTOCOLS={"TCP;HOSTNAME;1521"}
Ejecutar NETCA en modo silencioso:
netca -silent -responsefile /u01/database/response/netca.rsp
Verificación
Comprobar el estado del listener:
lsnrctl status
Conectarse a la base de datos para validar la instalación:
sqlplus system/oracle@192.168.11.128:1521/orcl