Instalar Oracle 10g release 2 en Ubuntu Edgy

Lo primero es descargarnos desde el sitio de oracle (www.oracle.com) el fichero con la base de datos. Tienes que tener cuenta en oracle, si no es tu caso registrate en la propia pagina web.

10201_database_linux32.zip (668,734,007 bytes) (cksum – 2737423041)

Guardamos el archivo descargado y lo descomprimimos en una carpeta. Observa que al descomprimir hay un fichero denominado “runInstaller“, este es el fichero que usaremos para iniciar la instalacion de Oracle. pero no ahora, antes tenemos que realizar una serie de comprobaciones y crear al usuario de oracle.

Para la correcta instalacion asegurate de tener instalados los siguientes paquetes:

gcc
libaio
lesstif2
lesstif2-dev
make
rpm
libc6
libstdc++5
binutils
libmotif

comprueba que los tienes instalados por ejemplo consultando via Synaptic y si no los tienes instalalos mediante apt-get

como root crea las siguientes enlaces simbolicos:


ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/rpm /bin/rpm
ln -s /usr/bin/basename /bin/basename

La documentacion de Oracle dice que el sistema debe tener 512Mb minimo de RAM y 1 Gb de swap.

Para ver la cantidad de RAM y swap ejecuta:

grep MemTotal /proc/meminfo

Para ver el espacio libre en disco ejecuta:

df -k

Es necesario tambien a justar algunos parametros del kernel. Para ver la configuración actual de nuestro sistema ejecuta:

/sbin/sysctl -a | grep sem/sbin/sysctl -a | grep shm/sbin/sysctl -a | grep file-max/sbin/sysctl -a | grep ip_local_port_range

Ahora edita el fichero /etc/sysctl.conf y añade o modifica estas líneas:


kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000

Al reiniciar se leera la configuración del kernel de /etc/sysctl.conf y se aplicaran los cambios. Pero si queremos que los cambios se apliquen inmediatamente ejecutamos:

/sbin/sysctl -p

Para ver los límites del shell ejecutamos:

ulimit -a, que nos mostrará algo parecido a esto:

core file size (blocks, -c) 0data seg size (kbytes, -d)
unlimitedfile size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
stack size (kbytes, -s) unlimited
cpu time (seconds, -t) unlimited
max user processes (-u) 2047
virtual memory (kbytes, -v) unlimited

Por defecto, hay un límite por usuario, de 1024 descriptores de fichero, y 2047 procesos. Editamos el fichero /etc/security/limits.conf para modificar estos valores:

* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536

Las dos últimas líneas imponen un límite inicial de 1024, pero permiten que un usuario aumente el límite a 65536 usando el comando ulimit -n 65536. Las dos primeras líneas limitan el número de procesos.

Añade lo siguiente a /etc/pam.d/login:

session required /lib/security/pam_limits.so

pam_limits.so es el módulo que procesa la configuración del fichero /etc/security/limits.conf que cambiamos antes.

creamos ahora el usuario de oracle y los grupos:

Para ver si ya existen escribe:
grep oinstall /etc/group
grep dba /etc/group
grep nobody /etc/group
id oracle
id nobody

Si no existen crealos con:


/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/groupadd nobody
/usr/sbin/useradd -c “Oracle Software Owner” -g oinstall -G dba oracle
/usr/sbin/useradd -g nobody nobody
# cambiamos el password del usuario oracle
passwd oracle

Si tienes problemas usa el menu principal (Administracion > Usuarios y grupos) para crear el usuario oracle y añadirlo a los grupos oracle y dba. Seria tambien recomendable que le dieras
permisos de administracion.

Creamos el directorio base de oracle (/u01/app/oracle), y opcionalmente un directorio de datos para las bases de datos que creemos (/u02/oradata):

mkdir -p /u01/app/oracle
mkdir -p /u02/oradata
chown -R oracle :o install /u01 /u02
chmod -R 775 /u01 /u02

Cuando no creamos un directorio de datos, oracle usa /u01/app/oracle/oradata. Cada base de datos ocupa un subdirectorio del directorio de datos.

conectate como usuario oracle y añade esto al fichero /home/oracle/.bash_profile:

umask 022
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=/u01/app/oracle/product/10.1.0/db_1; export ORACLE_HOME
ORACLE_SID=test; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
ORACLE_OWNER=oracle; export ORACLE_OWNER
#TNS_ADMIN=/home/oracle/config/10.1.0 export TNS_ADMIN
NLS_LANG=SPANISH_SPAIN.WE8ISO8859P1; export NLS_LANG
#ORA_NLS10=${ORACLE_HOME}/db_1/nls/data; export ORA_NLS10
CLASSPATH=${CLASSPATH}:${ORACLE_HOME}/jdbc/lib/classes12.zip
LD_LIBRARY_PATH=${ORACLE_HOME}/lib; export LD_LIBRARY_PATH
DISABLE_HUGETLBFS=1; export DISABLE_HUGETLBFS
TEMP=/tmp; export TEMP
TMPDIR=/tmp; export TMP
PATH=$PATH:/u01/app/oracle/product/10.1.0/db_1/bin; export PATH

Crea tambien estos directorios:

mkdir -p /home/oracle/config/10.1.0
mkdir /var/lock/subsys

Vale nos va tocando ya la instalacion grafica:

si estamos en una maquina diferente a la que queremos instalar oracle tenemos que exportar el display en nuestra maquina local y ejecutar:

xhost +
su
export display :0.0

para dar permisos sobre nuestro entorno de ventanas. luego nos conectamos a la maquina remota donde queremos ejecutar la instalacion y exportamos la variable DISPLAY

export DISPLAY=<tu ip local>:0.0

En el caso de que queramos instalar sobre la misma maquina donde nos encontramos (como en el ejemplo). basta con iniciar las X como usuario “oracle” y en el escritorio abrir una consola de comandos. nos desplazamos hacia la carpeta donde descomprimimos el fichero con la base de datos y ejecutamos:

./runInstaller -ignoreSysPreReqs

Ponemos el flag “-ignoreSysPreReqs” porque por defecto se espera instalar en una maquina Red Hat, y fallaria la comprobacion de seguridad al comprobar que nuestro sistema operativo no es ese. con este flag le forzamos a que continue la instalacion independientemente del sistema que tengamos.

Comienza el proceso de instalación:

Aparece la pantalla de bienvenida.Pulsa en continuar:

Selecciona el tipo de instalación. Yo elegí Standard:

Comprueba si tu maquina cumple los requisitos necesarios (Yo no los pase pero continue):

Selecciona Opción de configuración:

Selecciona la configuración de la base de datos:

Especificar Opciones de configuración:

Seleccionar opción de conexión a la base de datos:

Pulsa en Continuar:

Especificar opciones de copia de seguridad (seleccione valores por defecto):

Te pide password para los usuarios de la base de datos, yo seleccione la misma para todos, usa alguna que recuerdes fácilmente:

Resumen de opciones seleccionadas:

Comienza el proceso de instalación de ficheros en el sistema:

Llega un momento que se detiene y nos pide ejecutar 2 scripts:

abres una consola de comandos como “root” los ejecutas y vuelves a pulsar el botón de continuar:

Pulsa en continuar:

Pulsa en continuar:

Ejecución de los servicios automáticos. Pulsa en continuar:

Termina la instalación de la base de datos y al finalizar te indica las rutas URL de las aplicaciones (anotarlas):

Ejemplo de sesion mediante iSQLPlus:

   

Ejemplo de administración de la base de datos con la aplicación web. nota: debes loguearte como sys o dba y con la opcion “sysdba” no normal.

Con esta aplicación web puedes administrar toda la base de datos y crear por ejemplo las tablas de la base de datos y los usuarios que accederán a ellas:

Aunque yo la verdad prefiero el modo consola (con sqlplus) o en su defecto usar el TOAD.

Para arrancar Oracle en modo consola:

te conectas como usuario oracle, asegúrate que tienes cargadas las variables de entornor, ORACLE_HOME, ORACLE_SID, etc. entonces desde consola:

primero paras el listener:

lsnrctl
stop
exit;

despues te conectas a sqlplus:

sqlplus /nolog
connect sys@test as sysdba
startup


Para parar oracle en modo consola:

primero activa el listener:

lsnrctl
start
exit

y luego te conectas con sqlplus:

sqlplus /nolog
connect sys as sysdba
shutdown

o puede que necesites hacer un shutdown immediate

shutdown inmediate

en el caso de que no se cerrara correctamente haz un ps -ef | grep oracle y vete matando los procesos.

Publicado en Oracle y etiquetado , .

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *