tics en la vida cotidiana prepa en linea modulo 1.pptx
Instalación Oracle 11gR2 en Linux Centos 5.5
1. GUIA PARA INSTALAR ORACLE 11g
EN LINUX CENTOS 5.5
(www.cosmosnet.biz)
cosmosnet@gmail.com
Junio de 2010
Trabajaremos como usuario root, no es aconsejable pero lo haremos mientras la instalación de
de las dependencias del sistema operativo Centos 5.5 que necesita Oracle en su instalación.
El software que se empleo:
● Sistema operativo: Centos 5.5 de 32 bits
● Version de oracle: 11gR2
A tener en cuenta:
● Importante tenerle un nombre host (hostname) al equipo servidor donde se instalara
oracle, en nuestro caso lo llame oracleserver.
● Debemos estar conectados a internet.
● Esta guia servirá a los usuarios de Red Hat 5.5
Esta guia contiene los siguientes pasos:
PASO 1: Verificar dependencias Centos 5.5
PASO 2: Crear usuarios y grupos para Oracle 11g
PASO 3: Configurar algunos parámetros del sistema operativo
PASO 4: Crear un directorio y sus permisos para la base de datos y su instalación.
PASO 5: Descomprimir Oracle 11g R2 para instalar.
PASO 6: Instalar base de datos.
PASO 7: Como crear la base de datos.
Autor.
Empecemos...
PASO 1: Verificar dependencias Centos 5.5
1. Actualizar kernel del sistema operativo:
Así actualizamos el kernel de centos 5.5:
[root@oracleserver /]# yum update kernel
(Importante reiniciar linux despues de actualizado el kernel)
Luego actualizamos los paquetes kernel-headers y kernel-devel(este ultimo yo
acostumbro hacerlo, pero la desimantación oficial no esta, debo hacer esta aclaración)
[root@oracleserver /]# yum install kernel-headers kernel-devel
2.. Instalar o verificar que se encuentran los siguientes paquetes en el sistema:
www.cosmosnet.biz
2. binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-
c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libgomp libstdc++
libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel pdksh
Verificamos que las librerias esten instaladas:
[root@oracleserver /]# rpm -qa binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel
elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio
libaio-devel libgcc libgomp libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC
unixODBC-devel pdksh
3. Instalar dependencias
De lo contrario las instalamos
[root@oracleserver /]# yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-
devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-
headers kernel-devel ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make
numactl-devel sysstat unixODBC unixODBC-devel pdksh
Yo sugiero dar de este ultimo comando ya que nos verifica y ademas nos instala o actualiza los
paquetes hagan falta.
Los repositorios oficiales que trae Centos son suficientes para poder satisfacer estas
dependencias o librerias o paquetes, NO se necesitan de repositorios extras.
PASO 2: Crear usuarios y grupos para Oracle 11g
1. Crear grupos en el sistema llamados oinstall y dba:
[root@oracleserver /]# groupadd oinstall
[root@oracleserver /]# groupadd dba
2. Crear usuario oracle en el sistema y perteneciente a los grupos oinstall y dba (verificamos si
el usuario existe con el comando id oracle)
[root@oracleserver /]# useradd -g oinstall -G dba oracle
Si ya existe en usuario oracle, dar este comando para unirlo a los grupos anteriores:
[root@oracleserver /]# usermod -g oinstall -G dba oracle
Ademas le creamos una contraseñaa al usuario:
[root@oracleserver /]# passwd oracle
PASO 3: Configurar algunos parámetros del sistema operativo
1. Abrimos el archivo sysctl.conf que se encuentra ubicado en /etc y añadimos las siguientes
lineas
[root@oracleserver etc]# gedit sysctl.conf
www.cosmosnet.biz
3. fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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
2. Verificamos que los cambios esten bien realizados con el comando:
[root@oracleserver etc] /sbin/sysctl -p
asi:
[root@oracleserver etc]# /sbin/sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 4294967295
kernel.shmall = 268435456
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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
3. Agregamos mas poder al sistema del usuario oracle:
Incrementar los limites del shell del usuario oracle, así lo denomina la desimantación oficial.
Abrimos el archivo limits.conf que se encuentra ubicado en etc/security/limits.conf :
(gedit es el editor de texto, existen otros pero este se instala ademas es excelente, tambien lo
puede hacer con vi o nano o el editor que desee)
[root@oracleserver /]# gedit /etc/security/limits.conf
www.cosmosnet.biz
4. Agregamos lo siguiente:
oracle softnproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hardnofile 65536
Luego vamos al archivo login ubicado en /etc/pam.d/login:
[root@oracleserver /]# gedit /etc/pam.d/login
y agregamos la siguiente linea:
session required pam_limits.so
PASO 4: Crear un directorio y sus permisos para la base de datos y su
instalación.
1. Verificar espacio suficiente en disco:
Se debe verificar en el sistema que exista un buen espacio (de 4 a 6 gigas) en el disco duro
con el comando df -h /nombre del directorio o partición ejemplos:
[root@oracleserver /]# df -h /home
[root@oracleserver /]# df -h /opt
[root@oracleserver /]# df -h /
(Verifica la partición donde quedara el directorio oracle)
Para nuestro caso crearemos un directorio llamado oracle en /var/lib asi:
[root@oracleserver /]# mkdir /var/lib/oracle
(este sera nuestro ORACLE_HOME)
Le puede dar le nombre que desee al directorio y el lugar también podría ser el en el directorio /
home del usuario oracle)
2. Asignar usuario y grupo al directorio oracle y sus respectivos permisos
Luego procedemos a darle permisos de usuario y grupo a ese directorio así:
Asignar usuario y grupo
[root@oracleserver /]# chown -R oracle:oinstall /var/lib/oracle
Permisos lectura escritura ejecucion
[root@oracleserver /]# chmod -R 775 /var/lib/oracle
Debe estar en el usuario llamado oracle y debe pertenecer al grupo oinstall
Los permisos de lectura escritura deben ser 775
3. Declarare variable de entorno:
Declaramos la variable de entorno en el archivo /etc/profile si queremos que todos los usuarios
tengan derecho a oracle o en .bash_profile de cada usuario, este ultimo archivo .bash_profile
www.cosmosnet.biz
5. se encuentra en /home/nombre_usuario y es un archivo oculto porque inicia su nombre con un
signo punto ( . ), (lo podemos ver con el comando ls -a) Simplemente lo editamos (con gedit, vi,
nano, el editor que deseemos y con permisos de root) y le agregamos las siguientes lineas:
ORACLE_HOME=/var/lib/oracle
ORACLE_SID=sales
export ORACLE_HOME ORACLE_SID
Importante aclarar que la ruta ORACLE_HOME=/var/lib/oracle pertenece al directorio que se
creo anteriormente.
Yo acostumbro ponerlo en /etc/profile pero por seguridad es mejor que se le asigne a cada
usuario su variable de entorno, en profile TODOS los usuarios del sistema tienen acceso a
Oracle.
Para el caso de el archivo /etc/profile, cerramos y guardamos y ejecutamos el siguiente
comando para que actualice:
[root@oracleserver etc]# source profile
Debemos ejecutar ese comando dentro del directorio /etc
Luego verificamos que la variable ya este registrada en el sistema:
[root@oracleserver /]# set | egrep ORACLE_HOME
Y alli nos debe aparecer la ruta donde configuramos la variable de entorno
[root@oracleserver etc]# set | egrep ORACLE_HOME
ORACLE_HOME=/var/lib/oracle
PASO 5: Descomprimir Oracle 11g R2
1. Copiar los 2 archivos de la base de datos de Oracle a la carpeta /home del usuario oracle
/home/oracle
Descomprimimos EN EL MISMO DIRECTORIO los dos archivos empleando el comando unzip:
Primero:
unzip linux_11gR2_database_1of2.zip
Segundo:
unzip linux_11gR2_database_2of2.zip
Al descomprimir los dos archivos .zip, genera un solo y único directorio denominado database.
Luego les cambiamos los permisos de usuario y grupo a ese directorio database así:
[root@oracleserver /]# chown -R oracle:oinstall database
www.cosmosnet.biz
6. Debemos estar ubicados en el directorio donde se descomprimio la base de datos para dar
este comando
El comando anterior me permite cambiar el usuario y grupo de la siguiente manera:
chown: Comando cambiar permisos de usuarios y grupos en linux
-R: me indica que es un directorio completo junto con los archivos y directorios que se
encuentren incluidos dentro de este a los cuales se les cambiaran los permisos de usuario y
grupo.
oracle: es el nombre del usuario al que se le asignara el directorio database
oinstall: Es el nombre del grupo al que pertenecerá en directorio database.
Importante recordar que usuario y grupo debe estar creado previamente en el sistema
operativo.
Alli va nuevamente el comando:
[root@oracleserver /]# chown -R oracle:oinstall database
El comando lo di dentro de la ubicacion /home/oracle ya que el directorio database lo
descomprimí alli.
En ese directorio que se creo llamado database, se encuentra un archivo llamado runInstaller, y
lo ejecutamos para iniciar con la instalación de oracle 11gR2 en linux.
PASO 6: Instalar base de datos.
En el directorio database que se creo luego de descomprimir los archivos de oracle, se
encuentra un archivo llamado runInstaler, lo ejecutamos así:
[root@oracleserver oraInventory]# ./runInstaler
Para iniciar con la instalación de Oracle 11gR2.
A continuación aparecera un una serie de ventanas para seleccionar la instalación que
deseemos, pero es importante resaltar las ventanas a continuación:
Si cumple con todas las dependencias del sistema, espacio en disco, grupos y usuarios,
ORACLE_HOME, en pocas palabras todo lo expresado en los pasos anteriores de este
tutorial. El mensaje apropiado debe ser como el que aparece en el siguiente pantallazo:
www.cosmosnet.biz
7. De no satisfacer alguno de esas características del pantallazo anterior, NO se podrá proseguir
con la instalación.
En un momento de la instalacion, ya cuando estemos finalizandala, aparecera una ventana con
un mensaje como el siguiente:
www.cosmosnet.biz
8. Importantísimo realizar este par de comandos en las rutas que nos muestran, pero ATENCION,
estas varian de acuerdo al ORACLE_HOME y el home de nuestro usuario oracle donde
trabajamos. En nuestro caso emplee como ORACLE_HOME la ruta /var/lib/oracle.
Estos comandos generan loo siguiente.
Comando orainstRoot.sh
Dar el comando sh orainstRoot.sh ubicado en /home/oracle/app/oraInventory (para nuestro
caso)
[root@oracleserver oraInventory]# ls
ContentsXML logs oraInst.loc oui
install.platform oraInstaller.properties orainstRoot.sh
[root@oracleserver oraInventory]# sh orainstRoot.sh (la respuesta del comando es la que
sigue)
Cambiando permisos de /home/oracle/app/oraInventory.
Agregando permisos de lectura y escritura para el grupo.
Eliminando permisos de lectura, escritura y ejecución para el público.
Cambiando el nombre de grupo de /home/oracle/app/oraInventory a oinstall.
La ejecución del archivo de comandos ha terminado
www.cosmosnet.biz
9. Comando sh root.sh
Nos ubicamos en nuestro ORACLE_HOME y damos el comando root.sh
[root@oracleserver oracle]# sh root.sh
Running Oracle 11g root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /var/lib/oracle
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
Si todo sale bien y se logro instalar satisfactoriamente la base de datos Oracle 11gR2 de
acuerdo a las características que se deseen, el mensaje de satisfacción sera como el
siguiente:
www.cosmosnet.biz
10. PASO 7: Como crear la base de datos.
1. Cuando la base de datos este instalada (Paso 6), debemos crear nuestra base de datos.
En nuestro directorio ORACLE_HOME (/var/lib/oracle) hay un directorio llamado
oui y dentro de este ultimo uno llamado bin (ORACLE_HOME/oui/bin), alli hay archivo llamado
runInstaller (que NO es el mismo archivo del directorio database que estaba en /home/oracle)
y lo ejecutamos así:
(Para ejecutar ./runInstaler debemos estar logueados como usuario oracle, ya que no permite
ejecutarlo como usuario root.)
[oracle@oracleserver bin]$ pwd
(pwd me indica la ruta donde estoy ubicado en el sistema)
/var/lib/oracle/oui/bin
[oracle@oracleserver bin]$ ls
addLangs.sh filesList.bat resource runSSHSetup.sh
addNode.sh filesList.properties runConfig.sh
attachHome.sh ilesList.sh runInstaller
detachHome.sh lsnodes runInstaller.sh
[oracle@oracleserver bin]$ ./runInstaller
www.cosmosnet.biz
11. o tambien:
[oracle@oracleserver bin]$ sh runInstaller.sh
Aparecera un asistente de instalación así:
Bueno, para un próximo manual les guiare en la un paso a paso de este ./runInstaler para crear
la base de datos.
Por lo pronto les aseguro que si siguieron al pie de la letra este paso a paso, Oracle estará
correctamente instalado en su sistema operativo Linux Centos 5.5
Autor
Ferney Gonzalez Aguirre
Ingeniero de sistemas
cosmosnet@gmail.com
Bogotá-Colombia
www.cosmosnet.biz