Instalar la base de datos Oracle en linux es todo, menos simple, pero con el siguiente manual podrás lograr tu cometido.
Lo que se encuentre entre debe de sustituirse por lo valores correctos, ejemplo {IP-address} = 127.0.0.1 SUPER IMPORTANTE:
NO ACTUALIZAR EL OPERATIVO HASTA DESPUÉS DE INSTALAR LA BASE ###Inicia Operaciones con root
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #Muestra información del sistema
hostnamectl ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #Agregar un FQDN gedit /etc/hostname centos7.example.com gedit /etc/hosts 127.0.0.1 {hostname}
{IP-address} {fully-qualified-machine-name} {machine-name} ping {hostname}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #Muestra el nombre del host
cat /etc/hostname reboot
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #Deshabilitar el firewall
systemctl stop firewalld systemctl disable firewalld
#Configurar el SELinux en modo permissive OJO NO se agrega, SE CAMBIA #sed -i 's/SELINUX=enforcing/SELINUX=disabled/g'
gedit /etc/selinux/config SELINUX=permissive
#Después de cambiar la bandera hay que reiniciar el servidor y ejecutar el siguiente comando setenforce permissive
reboot
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #Instalá gedit
yum -y install gedit nano
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #instalá librerías
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686 gcc gcc-c++ glibc glibc.i686 glibc-devel glibc-devel.i686 ksh libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libaio libaio.i686 libaio-devel libaio-devel.i686 libXext libXext.i686 libXtst libXtst.i686 libX11 libX11.i686 libXau libXau.i686 libxcb libxcb.i686 libXi libXi.i686 make sysstat unixODBC unixODBC-devel zlib-devel zlib-devel.i686 xclock zip unzip
yum -y groupinstall "X Window System" #lista de uno por uno
yum -y install binutils
yum -y install compat-libcap1 yum -y install compat-libstdc++-33 yum -y install compat-libstdc++-33.i686 yum -y install gcc
yum -y install gcc-c++ yum -y install glibc yum -y install glibc.i686 yum -y install glibc-devel yum -y install glibc-devel.i686 yum -y install ksh
yum -y install libgcc yum -y install libgcc.i686 yum -y install libstdc++ yum -y install libstdc++.i686 yum -y install libstdc++-devel yum -y install libstdc++-devel.i686 yum -y install libaio
yum -y install libaio.i686 yum -y install libaio-devel yum -y install libaio-devel.i686 yum -y install libXext
yum -y install libXext.i686 yum -y install libXtst yum -y install libXtst.i686 yum -y install libX11 yum -y install libX11.i686 yum -y install libXau yum -y install libXau.i686 yum -y install libxcb yum -y install libxcb.i686 yum -y install libXi yum -y install libXi.i686 yum -y install make yum -y install sysstat yum -y install unixODBC yum -y install unixODBC-devel yum -y install zlib-devel
yum -y install xclock yum -y install zip unzip
yum -y groupinstall "X Window System"
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #Agregar parámetros de kernel, al final del archivo
gedit /etc/sysctl.conf fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmmni = 4096 kernel.shmmax = 4398046511104 kernel.shmall = 1073741824 kernel.sem = 250 32000 100 128 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586 net.ipv4.ip_local_port_range = 9000 65500 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #Aplica parametros de kernel
/sbin/sysctl -p /sbin/sysctl -a #reboot ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #Agregar usuarios groupadd -g 54321 oinstall groupadd -g 54322 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 -u 54321 -g oinstall -G dba,oper oracle
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #cambia el password al usuario oracle
passwd oracle
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#agrega las siguientes configuraciones al shell del usuario oracle entre #@student y # End of file #/etc/security/limits.d/oracle-rdbms-server-12cR1-preinstall.conf
gedit /etc/security/limits.conf oracle soft nproc 131072 oracle hard nproc 131072 oracle soft nofile 131072
oracle hard nofile 131072 oracle soft core unlimited oracle hard core unlimited oracle soft memlock 50000000 oracle hard memlock 50000000
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #descargar la base de datos
cd /home/oracle/
wget http://10.0.30.11:8084/iso/database.zip
scp database.zip [email protected]:/home/oracle/ unzip {NOMBRE DE LA CARPETA}
chown -R oracle:oinstall /home/oracle/{NOMBRE DE LA CARPETA}/ chmod -R 777 /home/oracle/{NOMBRE DE LA CARPETA}/
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #crea las carpetas de ejecución
mkdir -p /u01/app/oracle/product/12.1.0.2/db_1 chown -R oracle:oinstall /u01
chmod -R 775 /u01 chmod g+s /u01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#configura el entorno del usuario oracle agregando los siguientes comandos al final del doc, lo que está entre {} es lo que se debe cambiar
gedit /home/oracle/.bash_profile #Oracle Settings export TMP=/tmp export TMPDIR=$TMP export ORACLE_HOSTNAME={hostname} export ORACLE_UNQNAME={orcl} export ORACLE_SID={orcl} export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/12.1.0.2/db_1 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/jlib:$ORACLE_HOME/rdbms/jlib ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #recarga el bashprofile . .bash_profile ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ###Ejecutar el instalador
Si la instalación la estas haciendo via SSH puedes ejecutar el instalador remotamente en modo gráfico usando el comando
ssh -X {usuario}@{ip}
Si estás ejecutando en local ./runInstaller ###Inicia Operaciones con root
#SI AL EJECUTAR EL ./runInstaller falla, seguir los siguientes pasos que configuran el display para poder ejecutar el instalador de la base
1) DISPLAY=:0.0 2) export DISPLAY 3) xhost +
###Finaliza Operaciones con root
###Inicia Operaciones con usuario oracle 4) su - oracle
5) DISPLAY=:0.0 6) export DISPLAY
7) /user/openwin/bin/xclock 'o xclock (solo) #esto lanza el xclock para asegurarnos que está funcionado tiene que aparecer un reloj en la pantalla
#navega en donde esta el instalador y ejecútalo, durante la instalación hay que seleccionar la opción de SERVER - TIPYCAL INSTALLATION
./runInstaller
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#Durante la instalación (wizard) en el 79% te pedirá que se ejecuten los scripts de configuración los cuales se deben ejecutar con privilegio de root (/u01/app/oraInventory/orainstRoot.sh)
sh $ORAINVENTORY/orainstRoot.sh
#en este último pedirá una ruta, solo se tiene que presionar ENTER, ES DECIR QUEDA VACÍO sh $ORACLE_HOME/root.sh
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #habilita la bandera de restart para cada instancia agregando la siguiente línea gedit /etc/oratab
orcl:/u01/app/oracle/product/12.1.0.2/db_1:Y
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #accede a la base
sqlplus / as sysdba
###Finaliza Operaciones con usuario oracle
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #crea la base
realiza la creación de la base y después continuas con los siguientes parámetros ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#configura el listener
gedit $ORACLE_HOME/network/admin/listener.ora LISTENER =
(DESCRIPTION_LIST = (DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = {hostname})(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
) )
{nombre de la plugabble} = (DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = {hostname})(PORT = 1521)) (CONNECT_DATA =
(SERVER =DEDICATED)
(SERVICE_NAME = {nombre de la plugabble}_PDB) )
)
USE_SID_AS_SERVICE_listener=on
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #se obtiene el nombre del endpoint
{serviceDir} = nombre del servicio que aparece en el comando $ lsnrctl status
#también te puedes ayudar a saber cual es la terminación del endponit usando el comando $lsnrctl status, el tiempo de arranque de los listener es de aprox 3 min
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #configura el TNSNAMES.ora
gedit $ORACLE_HOME/network/admin/tnsnames.ora ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = {hostname})(PORT = 1521)) (CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = {nombre del servicio de la semilla/contenedor}) )
)
{nombre de la plugabble} = (DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = {hostname})(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = {serviceDir}) ) ) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #iniciar listeners
$lsnrctl start
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #se verifica que existan los nombres de los endpoints del archivo tnsnames $lsnrctl status
###Inicia Operaciones con root
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #configura el firewall
firewall-cmd --get-active-zones
firewall-cmd --zone=public --add-port=1521/tcp --add-port=5500/tcp --add -port=5520/tcp --add-port=3938/tcp --permanent
firewall-cmd --reload firewall-cmd --list-ports
###Finaliza Operaciones con root
Descarga el instalador, cabe mencionar que deberás de tener la licencia apropiada poder hacer uso de la base: https://drive.google.com/open?id=0B_kp1lNVZOAkVXNyR3VkU0JsdEk
++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Ya esta instalado, y ahora que????
Reglas de normalización explicadas facilmente:
https://videlcloud.wordpress.com/2017/01/06/las-reglas-de-normalizacion-explicadas-facilmente/ Buenas practicas para el diseño de base de datos:
https://videlcloud.wordpress.com/2017/03/05/buenas-practicas-para-el-diseno-de-base-de-datos/ Mapeo de tipo de datos de ORACLE en JAVA: