¿Cómo instalar Oracle 11gR2 en Ubuntu 14.04?


Respuestas:


72

Paso 1: descargue Oracle Database Express Edition.

Paso 2: Instrucciones antes de instalar Oracle

  1. Copie el archivo descargado y péguelo en el directorio de inicio.

  2. Descomprima usando el comando:

    unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip 
    
  3. Instale los paquetes requeridos usando el comando:

    sudo apt-get install alien libaio1 unixodbc
    
  4. Ingrese a la carpeta Disco1 con el comando:

    cd Disk1/
    
  5. Convierta el formato del paquete RPM al formato del paquete DEB (que usa Ubuntu) con el comando:

    sudo alien --scripts -d oracle-xe-11.2.0-1.0.x86_64.rpm
    
  6. Cree el script chkconfig requerido con el comando:

    sudo pico /sbin/chkconfig
    

    Se inicia el editor de texto pico y los comandos se muestran en la parte inferior de la pantalla. Ahora copie y pegue lo siguiente en el archivo y guárdelo:

    #!/bin/bash
    # Oracle 11gR2 XE installer chkconfig hack for Ubuntu
    file=/etc/init.d/oracle-xe
    if [[ ! `tail -n1 $file | grep INIT` ]]; then
        echo >> $file
        echo '### BEGIN INIT INFO' >> $file
        echo '# Provides: OracleXE' >> $file
        echo '# Required-Start: $remote_fs $syslog' >> $file
        echo '# Required-Stop: $remote_fs $syslog' >> $file
        echo '# Default-Start: 2 3 4 5' >> $file
        echo '# Default-Stop: 0 1 6' >> $file
        echo '# Short-Description: Oracle 11g Express Edition' >> $file
        echo '### END INIT INFO' >> $file
    fi
    update-rc.d oracle-xe defaults 80 01
    
  7. Cambie el permiso del archivo chkconfig usando el comando:

    sudo chmod 755 /sbin/chkconfig  
    
  8. Establecer los parámetros del kernel. Oracle 11gR2 XE requiere parámetros de kernel adicionales que debe configurar con el comando:

    sudo pico /etc/sysctl.d/60-oracle.conf
    
  9. Copie lo siguiente en el archivo y guárdelo:

    # Oracle 11g XE kernel parameters 
    fs.file-max=6815744  
    net.ipv4.ip_local_port_range=9000 65000  
    kernel.sem=250 32000 100 128 
    kernel.shmmax=536870912 
    
  10. Verifique el cambio con el comando:

    sudo cat /etc/sysctl.d/60-oracle.conf 
    
  11. Deberías ver lo que ingresaste antes. Ahora cargue los parámetros del kernel:

    sudo service procps start
    
  12. Verifique que los nuevos parámetros se carguen usando:

    sudo sysctl -q fs.file-max
    

    Debería ver el valor máximo de archivo que ingresó anteriormente.

  13. Configure / dev / shm punto de montaje para Oracle. Cree el siguiente archivo con el comando:

    sudo pico /etc/rc2.d/S01shm_load
    
  14. Copie lo siguiente en el archivo y guárdelo.

    #!/bin/sh
    case "$1" in
    start)
        mkdir /var/lock/subsys 2>/dev/null
        touch /var/lock/subsys/listener
        rm /dev/shm 2>/dev/null
        mkdir /dev/shm 2>/dev/null
    *)
        echo error
        exit 1
        ;;
    
    esac 
    
  15. Cambie los permisos del archivo con el comando:

    sudo chmod 755 /etc/rc2.d/S01shm_load
    
  16. Ahora ejecute los siguientes comandos:

    sudo ln -s /usr/bin/awk /bin/awk 
    sudo mkdir /var/lock/subsys 
    sudo touch /var/lock/subsys/listener
    

    Ahora, reinicie su sistema

Paso 3: instalar Oracle

  1. Instale el DBMS de Oracle utilizando el comando:

    sudo dpkg --install oracle-xe_11.2.0-2_amd64.deb
    
  2. Configure Oracle usando el comando:

    sudo /etc/init.d/oracle-xe configure 
    
  3. Configure las variables de entorno editando su archivo .bashrc:

    pico ~/.bashrc
    
  4. Agregue las siguientes líneas al final del archivo:

    export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
    export ORACLE_SID=XE
    export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
    export ORACLE_BASE=/u01/app/oracle
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
    export PATH=$ORACLE_HOME/bin:$PATH
    
  5. Cargue los cambios ejecutando su perfil:

    . ~/.bashrc
    
  6. Inicie el Oracle 11gR2 XE:

    sudo service oracle-xe start
    
  7. Agregue el usuario YOURUSERNAME al grupo dba usando el comando:

    sudo usermod -a -G dba YOURUSERNAME
    

Paso 4: Uso del Shell de comandos de Oracle XE

  1. Inicie el servidor Oracle XE 11gR2 con el comando:

    sudo service oracle-xe start
    
  2. Inicie la línea de comandos como administrador del sistema con el comando:

    sqlplus sys as sysdba
    

    Ingrese la contraseña que proporcionó al configurar Oracle anteriormente. Ahora se lo ubicará en un entorno SQL que solo comprende los comandos SQL.

  3. Cree una cuenta de usuario normal en Oracle con el comando SQL:

    create user USERNAME identified by PASSWORD;
    

    Reemplace NOMBRE DE USUARIO y CONTRASEÑA con el nombre de usuario y la contraseña que elija. Por favor recuerde este nombre de usuario y contraseña. Si tuvo un error al ejecutar lo anterior con un mensaje sobre resetlogs, ejecute el siguiente comando SQL e intente nuevamente:

    alter database open resetlogs;
    
  4. Otorgue privilegios a la cuenta de usuario con el comando SQL:

    grant connect, resource to USERNAME;
    

    Reemplace NOMBRE DE USUARIO y CONTRASEÑA con el nombre de usuario y la contraseña que elija. Por favor recuerde este nombre de usuario y contraseña.

  5. Salga del shell de administrador sys con el comando SQL:

    exit;
    
  6. Inicie el shell de la línea de comandos como un usuario normal con el comando:

    sqlplus
    

    Ahora, puedes ejecutar comandos sql ...


En el paso 6 que estoy recibiendoStarting Oracle Net Listener...touch: cannot touch '/var/lock/subsys/listener': No such file or directory Done Configuring database... Database Configuration failed. Look into /u01/app/oracle/product/11.2.0/xe/config/log for details
Skynet

2
@Skynet. Tengo el mismo error. Aunque no puedo entender estos comandos , probé y pude configurar Oracle XE o Linux mint.
Jeet

@Skynet. Y también probé este enlace . Buscar contenido Referencia en el comentario después de expandir: para que funcione, necesitaba agregar las siguientes líneas al comienzo del archivo "/etc/init.d/oracle-xe"... entre los pasos 6 (i) y 6 (ii) si [-L / dev / shm]; entonces rm -rf / dev / shm mkdir / dev / shm mount -t tmpfs shmfs -o size = 2048m / dev / shm fi si [! -d / var / lock / subsys]; luego mkdir / var / lock / subsys touch / var / lock / subsys / listener fi
Jeet

1
/etc/rc2.d/S01shm_loadparece faltante ;;indicando el final de una alternativa en la línea 7.
user3523935

2
Tuve que usar en sudo service procps restartlugar desudo service procps start
ossbuntu

0

Gracias por el tutorial detallado pero recibí un error

touch: cannot touch '/var/lock/subsys/listener' .. 

en el paso sudo /etc/init.d/oracle-xe configure. Entonces, como se sugiere en http://meandmyubuntulinux.blogspot.in/2012/05/installing-oracle-11g-r2-express.html , agregué las siguientes líneas en/etc/init.d/oracle-xe

if [ -L /dev/shm ]; then
    rm -rf /dev/shm
    mkdir /dev/shm
    mount -t tmpfs shmfs -o size=2048m /dev/shm
fi

if [ ! -d /var/lock/subsys ]; then
 mkdir /var/lock/subsys
 touch /var/lock/subsys/listener
fi

... y está funcionando bien para mí


Obtiene el error porque hay un error en el script /etc/rc2.d/S01shm_loaden la respuesta de Saikat. Arreglar esto sería una solución más limpia. Editaré la respuesta con el guión correcto.
Forraje

Olvídalo, los críticos son idiotas. Después de que el primer y el segundo intento de corregir el guión han fallado, me rindo. Aparentemente es más importante votar sin pensar para sumar puntos que tratar de entender lo que se está haciendo.
Forraje

0

Esto funcionó bien, sin embargo, recibí el siguiente error:

sudo /etc/init.d/oracle-xe start
[....] Starting oracle-xe (via systemctl): oracle-xe.serviceJob for oracle-xe.service failed because the control process exited with error code. See "systemctl status oracle-xe.service" and "journalctl -xe" for details.
 failed!

Buscando dentro:

systemctl status oracle-xe.service
Jan 27 10:01:05 <myusername> su[29699]: No passwd entry for user 'oracle'

Lo resolví simplemente agregando un usuario:

sudo adduser oracle

Espero que esto ayude a alguien.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.