You are on page 1of 20

INSTALACION DE ORACLE 11g EN SUSE 10

I.- CONFIGURACIN PARA UNA INSTALACIN REMOTA Si estamos pensando en conectanos remotamente para realizar la instalacin entonces debemos de habilitar a X Window para que se ejecute desde mi sistema con los comandos siguientes: 1.$ xhost fully_qualified_remote_host_name

Por ejemplo:
$ xhost somehost.us.example.com

2.- Activar el X Window con el siguiente comando:


$ DISPLAY=local_host:0.0 ; export DISPLAY

Donde local_host es la direccin IP de nuestra estacin de trabajo desde donde vamos a instalar el oracle remotamente II.- DESCARGA Y COPIA DE LOS ARCHIVOS AL DISCO DURO 1.- Bajamos oracle_11gR1_database.zip de la web de oracle:
http://www.oracle.com/technology/software/products/database/index.html

2.- Creamos un directorio en llamado oracle en /home/oracle


# mkdir /home/oracle

3.- Movemos y descomprimimos el archivo linux.x64_11gR1_database.zip en


/home/oracle

En mi caso lo tengo en el escritorio (las descargas por defecto en firefox), por lo que, s a) Movemos el archivo linux.x64_11gR1_database.zip a /home/oracle
# mv /root/Desktop/linux.x64_11gR1_database.zip /home/oracle

Nos cambiamos a oracle


# cd /home/oracle

b) Descomprimimos linux.x64_11gR1_database.zip
# unzip linux.x64_11gR1_database.zip

Con esto vemos que tenemos ya descomprimida la carpeta database


# ls database linux.x64_11gR1_database.zip

Listando el contenido de database debemos de ver algo similar a:


# ls database doc install response runInstaller stage welcome.html

Los cuales son los archivos necesarios para nuestra instalacin

Nota: posteriormente en la seccin de creacin de usuarios y grupos le vamos a dar los permisos necesarios al usuario oracle para que pueda utilizar estos archivos. REQUISITOS DE HARDWARE Y SOFTWARE PARA LA CORRECTA INSTALACIN NOTA: La instalacin lo vamos a hacer de manera directa en el nuevo servidor de base de datos, por lo que no habilitaremos X Window para que se ejecute en una PC remota. HARDWARE NECESARIO MEMORIA Determinamos la capacidad de almacenamiento de nuestro servidor con el comando
# grep MemTotal /proc/meminfo MemTotal: 1522780 kB

Por lo que vemos que este pasa Ahora para el swap checamos en la tabla siguiente de cuanta memoria necesitamos tener nuestro swap: RAM disponible Entre 257 MB y 512 MB Entre 513 MB y 2048 MB Entre 2049 MB y 8192 MB mas de 8192 MB Espacio requerido en el Swap El doble de la RAM 1.5 veces el tamao de la RAM Igual al tamao de la RAM 0.75 veces el tamao de la RAM

En mi caso como vemos tengo aproximadamente 1487 MB por lo que si veo en la tabla le corresponde un total de 1.5 * 1487 = 2231 MB Ahora para checar la cantidad de memoria swap que tengo, tecleo lo siguiente:
# grep SwapTotal /proc/meminfo SwapTotal: 1574360 kB

O sea 1537 MB Por lo que vemos nos hace falta mas memoria para swap 1537 MB < 2231 MB, nos falta: 694 MB; Procederemos a aumentar la memoria swap
# # # # dd if=/dev/zero of=extraswap bs=1k count=1009664 chmod 600 extraswap mkswap extraswap swapon extraswap

Para verificar que el swap se haya asignado se puede digitar el siguiente comando:
# grep SwapTotal /proc/meminfo SwapTotal: 2285008 kB

Vemos que ya tenemos cumplimos con la cantidad de memoria swap de 2231 MB Determinamos ahora el espacio libre en RAM y swap
# free Total Mem: -/+ buffers/cache: Swap: used 1522780 274196 2285008 free shared buffers 1472016 50764 1248584 172 2284836 0 cached 42892 1154928

Administracin automtica de memoria

Oracle Database 11g, la la administracin automtica de memoria requiere de mas memoria compartida (shared memory) (/dev/shm) as como archivos descriptores. La memoria compartida debe ser al menos del tamao de MEMORY_MAX_TARGET y MEMORY_TARGET para cada instancia de Oracle en nuestra computadora. Si MEMORY_MAX_TARGET o MEMORY_TARGET tiene un valor distinto de cero y la memoria compartida no tiene el tamao adecuado, entonces nos enviar un mensaje de error:ORA00845 al iniciar oracle. El numero de archivos descriptores para cada instancia de Oracle debe ser al menos 512*PROCESSES. Tambin, el limite de los descriptors para cada proceso debe ser al menos 512. Si los archivos descriptores no tienen los tamaos adecuados, veremos el mensaje de error ORA27123 de varios procesos de Oracle y de Linux el error EMFILE (demasiados archivos abiertos) errores en procesos distintos de oracle. To determine the amount of shared memory available, enter the following command:
# df -k /dev/shm/

Nota: MEMORY_MAX_TARGET and MEMORY_TARGET no se puede usar cuando LOCK_SGA esta habilitado o con paginas grandes en Linux. En la pgina de parmetros de inicializacin, en un sistema Linux, nota que el tamao de (SGA y PGA), que establece el parmetro de inicializacin MEMORY_TARGET o MEMORY_MAX_TARGET, no puede ser mayor que la memoria compartida del sistema de archivos en el sistema operativo. Por ejemplo, si el tamao de la memoria compartida de nuestro sistema de archivos en nuestro sistema es de 1 GB, pero nuestro tamao de memoria (MEMORY_TARGET) de 2 GB, entonces recibiremos el siguiente mensaje de error al iniciar: ORA-00845: MEMORY_TARGET not supported on this system ORA-01078: Failure in processing system parameters Ademas si revisamos todos los parametros de inicializacion, veremos que si nuestro nombre de base de datos es mayor que 8 caracteres, entonces el valor del nombre de la base de datos (en el parametro DB_NAME) esta recortada a los primeros 8 caracteres, y el valor del parmetro DB_UNIQUE_NAME toma el valor de la variable global. ARQUITECTURA DEL SISTEMA Vamos a verificar que nuestro PC cumpla con los requisitos del sistema necesarios para la instalacin de Oracle
# uname -m i686

REQUERIMIENTOS DE ESPACIO EN DISCO El mnimo necesario en el directorio tmp para Oracle Database Client 11g Release1 es de 130 MB Para determinar el espacio en /tmp tecleamos:
# df -k /tmp Filesystem /dev/hdc4 1K-blocks 23494316 Used Available Use% Mounted on 9324640 14169676 40% /

Vemos que es suficiente En caso de no ser suficiente tendramos que ampliar el espacio en /tmp Ahora vamos a determinar el espacio total en nuestro disco duro
# df -k Filesystem /dev/hdc4 1K-blocks 23494316 Used Available Use% Mounted on 9324644 14169672 40% /

udev

761388

172

761216

1% /dev

Podemos comprobar el espacio que tenemos contra la tabla siguiente Tipo de Instalacin Instant Client Administrator Runtime Custom (maximum) Necesita 265 (MB) 1.29 (GB) 890 (MB) 1.02 (GB)

HARDWARE NECESARIO PARA EL DESARROLLADOR SQL Recurso Tipo de CPU y velocidad Memoria Pantalla REQUERIMIENTOS DE SOFTWARE SISTEMA OPERATIVO: SUSE Linux Enterprise Server 10.0 Para determinar la distribucin y versin de Linux:
# cat /proc/version Linux version 2.6.16.21-0.8-smp (geeko@buildhost) (gcc version 4.1.0 (SUSE Linux)) #1 SMP Mon Jul 3 18:25:39 UTC 2006

Recomendado Pentium IV 2 GHz or superior 1 GB RAM (recommended), 256 MB RAM (min) 65536 colores, con una resolucin de 1024 X 768

KERNEL: Para SUSE Linux Enterprise Server 10 debe ser 2.6.16.21 o superior Para determinar la versin del kernel
# uname -r 2.6.16.21-0.8-smp

Vemos que es el adecuado PAQUETES NECESARIOS: Como en nuestro caso tenemos una PC x86 bits entonces los paquetes necesarios son los siguientes: Sistema Operativo SUSE Linux Enterprise Server 10 x86 (32 bits) Requerimientos
binutils-2.16.91.0.5 compat-libstdc++-5.0.7 gcc-4.1.0 glibc-2.4-31.2 glibc-devel-2.4-31.2 ksh-93r-12.9 libaio-0.3.104 libaio-devel-0.3.104 libelf-0.8.5 libgcc-4.1.0 libstdc++-4.1.0 libstdc++-devel-4.1.0 make-3.80 sysstat-6.0.2 unixODBC-2.2.11 unixODBC-devel-2.2.11

x86-64

SUSE Linux Enterprise Server 10 x86-64

binutils-2.16.91.0.5 compat-libstdc++-5.0.7-22.2 gcc-4.1.0 gcc-c++-4.1.0 glibc-2.4-31.2 glibc-32bit-2.4-31.2 (32 bit) glibc-devel-2.4 glibc-devel-32bit-2.4 (32 bit) libaio-0.3.104 libaio-32bit-0.3.104 (32 bit) libaio-devel-0.3.104 libelf-0.8.5 libgcc-4.1.0 libstdc++-4.1.0 libstdc++-devel-4.1.0 make-3.80 sysstat-6.0.2

NOTA: Los paquetes pueden ser de la versin que se muestra en la tabla o superior (Para el caso de los que tienen SUSE Linux Enterprise Server 10 SP1) Para comprobar la existencia de cada uno de los paquetes tecleamos: # rpm -q package_name Donde package_name es el paquete a comprobar. Por ejemplo en nuestro caso nos arrojo que teniamos instalados todos los paquetes menos el ltimo:
# rpm -q binutils-2.16.91.0.5 binutils-2.16.91.0.5-23.4 # rpm -q compat-libstdc++-5.0.7 compat-libstdc++-5.0.7-22.2 # rpm -q gcc-4.1.0 gcc-4.1.0-28.4 # rpm -q glibc-2.4-31.2 glibc-2.4-31.2 # rpm -q glibc-devel-2.4-31.2 glibc-devel-2.4-31.2 # rpm -q ksh-93r-12.9 ksh-93r-12.9 # rpm -q libaio-0.3.104 libaio-0.3.104-14.2 # rpm -q libaio-devel-0.3.104 libaio-devel-0.3.104-14.2 # rpm -q libelf-0.8.5 libelf-0.8.5-47.2 # rpm -q libgcc-4.1.0 libgcc-4.1.0-28.4 # rpm -q libstdc++-4.1.0 libstdc++-4.1.0-28.4 # rpm -q libstdc++-devel-4.1.0 libstdc++-devel-4.1.0-28.4 # rpm -q make-3.80 make-3.80-202.2 # rpm -q sysstat-6.0.2 sysstat-6.0.2-16.4 # rpm -q unixODBC-2.2.11 unixODBC-2.2.11-21.4 # rpm -q unixODBC-devel-2.2.11 package unixODBC-devel-2.2.11 is not installed

El cual instalaremos desde yast, para ello damos clic en Computer->Yast->software>Instalar/desinstalar software y en buscar tecleamos el nombre del paquete sin la versin por ejemplo:

unixODBC-devel Y marcamos el paquete para su instalacin. En caso de no encontrar errores tenemos que descargarlos directamente desde Internet y en este caso particular desde http://www.unixodbc.org/. Pero en la mayora de casos encontraremos los paquetes en rpm en el sitio http://rpm.pbone.net/ nos manda a cada uno de los sitios en donde se encuentran disponibles. NOTA: En el caso de la versin a 64 bits todos los paquetes se encuentran en el CD ROM o DVD de instalacin de Suse Linux , solo en el caso de 32 bits los tenemos que descargar desde Internet. INSTALAMOS LOS CONTROLADORES DE ORACLE PARA ODBC unixODBC-32bit-2.2.11 (32 bit) or later unixODBC-devel-32bit-2.2.11 (32 bit) or later Se pueden encontrar por ejemplo en ftp.opensuse.org/distribution/SL-10.1/inst-source/suse/x86_64/unixODBC-32bit-2.2.11-19.x86_64.rpm Para 64 bits, lo descargamos e instalamos con:
# rpm -Uvh unixODBC-32bit-2.2.11-19.x86_64.rpm

CREACION DE GRUPOS Y USUARIOS PARA LA INSTALACIN Ahora viene la parte de la creacin de usuarios y grupos para la instalacin de Oracle. En el caso de tener una instalacin previa entonces ya tenemos lo necesario, pero iremos comprobando cada uno de estos. Aunque nos podemos dar cuenta de que ya tenemos algunos grupos, usuarios y directorios si es que ya anteriormente hicimos una instalacin en nuestra PC. Para determinar la existencia de una instalacin previa tecleamos:
# more /etc/oraInst.loc

Cuyo contenido es similar a: inventory_loc=/u01/app/oraInventory inst_group=group CREAR EL GRUPO oinstall Antes de crear el grupo oinstall primero verificamos si ya existe, en caso contrario lo crearemos.
# grep oinstall /etc/group

Si no nos devuelve nada entonces crearemos el grupo oinstall con:


# /usr/sbin/groupadd oinstall

CREAR EL GRUPO dba Determinamos si existe el grupo dba


# grep dba /etc/group

Si no existe lo creamos

# /usr/sbin/groupadd dba

CREAR EL GRUPO oper Creamos el grupo oper


# grep oper /etc/group # /usr/sbin/groupadd oper

CREAR EL GRUPO asadmin Creamos el grupo asadmin


# grep asadmin /etc/group # /usr/sbin/groupadd asadmin

CREACIN DEL USUARIO oracle Determinamos si existe el usuario oracle


# id oracle

Si no existe lo creamos con


# /usr/sbin/useradd -g oinstall -G dba,oper oracle

Establecemos el password del usuario oracle


# passwd oracle

Tecleamos el password de oracle y lo confirmamos Aunque la creacin de cada uno de los directorios lo veremos posteriormente, por el momento necesitamos crear el directorio /home/oracle y le damos permisos necesarios al usuario oracle Primero verifico si existe la carpeta personal del usuario oracle con:
# ls /home

Si no lo encontramos lo creamos con


# mkdir -p /home/oracle Ahora si establecemos permisos necesarios: # chown -R oracle.oinstall /home/oracle # /usr/sbin/usermod -g oinstall -G dba,oper oracle

Al empezar esta seccin de instalacin descargamos y descomprimimos los archivos de instalacin en esta carpeta ahora vamos a darle los permisos a la carpeta database
# chown -R oracle:oinstall /home/oracle database # chmod -R 775 /home/oracle/database

NOTA: En caso de que ya existiese el directorio personal del usuario oracle entonces nada mas le damos los permisos. Vamos a determinar el shell del usuario oracle
# su - oracle $ echo $SHELL

$ exit

En nuestro caso nos percatamos que es bash esto hay que tenerlo muy en cuenta futuras operaciones. CREACIN DEL USUARIO nobody
# id nobody uid=65534(nobody) gid=65533(nobody) groups=65533(nobody),65534(nogroup)

Si no existiera lo creamos con


# /usr/sbin/useradd -g nobody

CONFIGURANDO LOS PARAMETROS DEL KERNEL 1. Edita o crea con vi o tu editor de textos preferido el archivo /etc/sysctl.conf file, y agrega o edita las lneas siguientes:
#fs.file-max = 512 * PROCESSES fs.file-max = 6553600 kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 4194304 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 262144

Nota: Los parametros de kernel.sem deben ser cuatro, si algun tenemos un valor menor al que se muestra anteriormente, entonces colocamos el valor mximo (parmetro max en default). El valor minimo requerido para shmmax es 0.5 GB. Aunque Oracle recomienda que shmmax tenga 2.0 GB para un ptimo desempeo del sistema. Despus de especificar los nuevos valores en /etc/sysctl.conf, estos se cambian cuando reiniciamos el sistema. Pero en SUSE Linux Enterprise Server introducimos el siguiente comando para que el sistema lea estos nuevos valores del archivo /etc/sysctl.conf:
# /sbin/chkconfig boot.sysctl on

2. Depus debemos de teclear otro commando para cambiar los nuevos parametros nuevos del kernel
# /sbin/sysctl -p

Hay que revisar la salida de estos comandos para asegurarnos de que efectivamente se realizaron los cambios y en caso de que no volvemos a teclear nuevamente los comandos anteriores nuevamente. Para checar cada uno de los parmetros del kernel de manera individual es necesario teclear lo siguiente: Parameter semmsl, semmns, semopm, and semmni shmall, shmmni file-max ip_local_port_range shmmax, and Command
# /sbin/sysctl -a | grep sem

This command displays the value of the semaphore parameters in the order listed.
# /sbin/sysctl -a | grep shm

This command displays the details of the shared memory segment sizes.
# /sbin/sysctl -a | grep file-max

This command displays the maximum number of file handles.


# /sbin/sysctl -a | grep ip_local_port_range

This command displays a range of port numbers.

rmem_default rmem_max wmem_default wmem_max

# /sbin/sysctl -a | grep rmem_default # /sbin/sysctl -a | grep rmem_max # /sbin/sysctl -a | grep wmem_default # /sbin/sysctl -a | grep wmem_max

CONFIGURACIN DE LOS LMITES EN EL SHELL PARA EL USUARIO ORACLE Para mejorar el desempeo de Oracle en sistemas Linux, se recomienda establecer los valores en los lmites de shell para el usuario oracle segn la tabla siguiente: Shell Limit Maximum number of open file descriptors Maximum number of processes available to a single user Item en limits.conf nofile nproc Hard Limit 65536 16384

Para incrementar estos valores en el shell haremos lo siguiente: 1. Agrega las siguientes lneas en el archive /etc/security/limits.conf:
oracle oracle oracle oracle soft hard soft hard nproc nproc nofile nofile 2047 16384 1024 65536

2. En el archivo /etc/pam.d/login, si es que no existe agrega en caso contrario modifica la siguiente lnea:
session required pam_limits.so

3. Para que el shell por default tengan los valores adecuados en el usuario oracle cambia o agrega al final la lnea al archivo /etc/profile.local ( si no existe entonces lo creamos):
# vi /etc/profile.local if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi

IDENTIFICANDO Y CREANDO EL DIRECTORIO BASE DE ORACLE Identificamos si existe el directorio base de oracle para darnos cuenta de esto debe existir el directorio inventory de oracle para ello tecleamos: # more /etc/oraInst.loc Tambin identificando si existe el directorio home: # more /etc/oratab Ahora vamos a identificar si existe el directorio base: # cat inventory/ContentsXML/oraclehomeproperties.xml

En caso de que no tengamos rastros de una instalacin previa de oracle entonces procederemos a la creacin de los directorios para la instalacin de oracle. CREACION DEL DIRECTORIO BASE DE ORACLE Vamos a determinar nuestro mount_point que puede ser cualquiera de los siguientes, o bien una propia: /u01/app/oracle /u01/app/orauser /opt/oracle/app/oracle Vamos a elegir el primero /u01/app/oracle 1.- Determinamos si existe espacio suficiente # df -k 2.- Si es as entonces creamos los directorios con los correspondientes grupos propietarios y usuarios propietarios, en caso contrario tendramos que liberar espacio. # mkdir -p /u01/app # chown -R oracle:oinstall /u01/app # chmod -R 775 /u01/app/ CREANDO DIRECTORIOS PARA LOS ARCHIVOS DE RECUPERACIN Vamos a ver si tenemos espacio suficiente tecleamos el comando:
# df -k

Segn el tipo de archivos debemos de revisar la siguiente tabla: File Type Database files File System Requirements Choose either: A single file system with at least 1.5 GB of free disk space Two or more file systems with at least 1.5 GB of free disk space in total Choose a file system with at least 2.4 GB of free disk space

Recovery files

Teclea los siguientes commandos para crear los directorios y asignarles propietarios y permisos adecuados: Para los archivos del directorio de base de datos:
# mkdir /u01/app/oracle/oradata # chown oracle:oinstall /u01/app/oracle/oradata # chmod 775 /u01/app/oracle/oradata

La ruta del directorio de base de datos es $ORACLE_BASE/oradata. Para los archivos del directorio de recuperacin (rea de recuperacin flash):
# mkdir /u01/app/oracle/flash_recovery_area # chown oracle:oinstall /u01/app/oracle/flash_recovery_area # chmod 775 /u01/app/oracle/flash_recovery_area

rea de recuperacin de flash es $ORACLE_BASE/flash_recovery. Aunque se recomienda que coloques esta rea en un directorio este en un disco distinto del directorio de base de datos (database).

CONFIGURANDO EL DIRECTORIO TMP (opcional) En caso de ser necesario podemos indicar nuestro directorio tmp en otra ruta si es que no tenemos por lo menos 400 MB de espacio, por ejemplo en:
/u01/app/oracle/tmp

Y lo haremos con los siguientes comandos:


# su - oracle $ mkdir /u01/app/oracle/tmp $ chmod a+wr /u01/app/oracle/tmp

Ahora vamos a cambiar la variable de entorno para indicarle el nuevo directorio de tmp
vi /home/oracle/.profile $ TMP=/u01/app/oracle/tmp $ TMPDIR=/u01/app/oracle/ $ export TMP TMPDIR $ exit

CONFIGURANDO VARIABLES DE ENTORNO DEL USUARIO DE ORACLE Para ello debemos de conectarnos con el usuario oracle
# su - oracle vi /home/oracle/.profile

Agregamos o editamos la siguiente lnea:


umask 022

6.- si las variables del entorno ORACLE_SID, ORACLE_HOME, o ORACLE_BASE se encuentran y contienen valores entonces agregamos o modificamos el archivo con el siguiente.
$ $ $ $ $ ORACLE_BASE=/u01/app/oracle ORACLE_SID=ORABUCB export ORACLE_BASE ORACLE_SID ORACLE_HOSTNAME=database.cbachilleres.edu.mx export ORACLE_HOSTNAME

7.- Guardamos y salimos del editor Cerramos sesin y entramos al sistema con el usuario oracle Antes de iniciar la instalacin quitamos los valores de ORACLE_HOME and TNS_ADMIN para que runInstaller ponga los propios:
$ unset ORACLE_HOME $ unset TNS_ADMIN

Verificamos de que el entorno este bien con los siguientes comandos:


$ umask $ env | more

Y despus de tanto configurar ahora si ejecutamos el instalador de oracle


oracle@database:/u01/app/database> ls doc install response runInstaller stage welcome.html oracle@database:/u01/app/database> ./runInstaller Iniciando Oracle Universal Installer... Comprobando el espacio temporal: debe ser mayor que 80 MB. Real 129480 MB Aprobado Comprobando el espacio de intercambio: debe ser mayor que 150 MB. Real 3041 MB Aprobado Comprobando el monitor: debe estar configurado para mostrar al menos 256 colores. Real 65536

Aprobado

Preparando para iniciar Oracle Universal Espere...oracle@database:/u01/app/database>

Installer

desde

/tmp/OraInstall2008-04-14_06-06-34AM.

1. On the Select Installation Method page, you can select either Basic Installation or Advanced Installation. Select Advanced Installation. 2. Select Installation Type. Youre given three choicesEnterprise Edition, Standard Edition, and Custom. Choose Enterprise Edition. 3. On the Install Location page, specify the path for the Oracle base and Oracle home locations, which is where the Oracle Universal Installer will install the database files. Click Next.

4. On the Product-Specific Prerequisite Checks page, the Oracle Universal Installer will verify that your environment meets the minimum requirements for installing the various products you want to install. These checks include the kernel parameters, swap space requirements, validation of the Oracle base location, and network configuration requirements. Its a good idea to go ahead and fix any warnings produced by the Oracle Universal Installer at this stage, say by updating the kernel on a Linux system, although you can get away with not doing so in most cases since the Oracle Universal Installer offers you the choice of continuing despite a warning. Once you pass the requirement checks, click Next.

Ahora segn lo que nos marca en la pantalla tecleamos:


oracle@database:~> su Contrasea: database:/home/oracle # /u01/app/oraInventory/orainstRoot.sh Cambiando permisos de /u01/app/oraInventory a 770. Cambiando el nombre de grupo de /u01/app/oraInventory a oinstall. La ejecucin del archivo de comandos ha terminado database:/home/oracle # /u01/app/oracle/product/11.1.0/db_1/root.sh Running Oracle 11g root.sh script... The following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /u01/app/oracle/product/11.1.0/db_1

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.

DESPUS DE LA INSTALACIN Editar y modificar /etc/oratab y colocamos al final "Y":


ORABUCB:/u01/app/oracle/db:Y # vi /etc/oratab ORABUCB:/u01/app/oracle/db:Y

Para que Oracle inicie desde que arranque, creamos el archivo llamado oracle (o el que ms nos agrade) colocamos este script en /etc/init.d con el siguiente contenido: Nos logueamos como root y tecleamos lo siguiente:
# vi /etc/init.d/oracle

E introducimos el siguiente script de parada e inicio de oracle


#!/bin/bash # # /etc/init.d/oracle # ### BEGIN INIT INFO # Provides: oracle # Required-Start: $network # Required-Stop: $network # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Description: Start the Oracle database ### END INIT INFO # # Run-level Startup script for the Oracle Listener and Instances # It relies on the information on /etc/oratab # . /etc/rc.status . /etc/sysconfig/sysctl # # First reset status of this service rc_reset export ORACLE_HOME="/u01/app/oracle/db" export ORACLE_OWNER="oracle"

if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ] then echo "Oracle startup: cannot start" exit 1 fi case "$1" in start) # Oracle listener and instance startup echo -n "Starting Oracle DB: " echo -n $"Starting Oracle EM DB Console:" su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start" su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME" su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl start dbconsole" touch /var/lock/oracle echo "OK" ;; stop)

# Oracle listener and instance shutdown echo -n "Shutdown Oracle: " su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl stop dbconsole" su - $ORACLE_OWNER -c $ORACLE_HOME/bin/dbshut $ORACLE_HOME su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop" rm -f /var/lock/oracle echo "OK" ;; reload|restart) $0 stop $0 start ;; *) echo "Usage: `basename $0` start|stop|restart|reload" exit 1 esac exit 0

Despus de salvar el archivo le damos permisos de ejecucin


# chmod 750 /etc/init.d/oracle # chkconfig --add oracle --level 0356

NOTA: Si queremos que de manera automtica se inicie entonces tambin podemos utilizar insserv: insserv -d /etc/init.d/nombre_servicio Registra un servicio insserv -r /etc/init.d/servicio Quita un servicio Que en nuestro caso, si no se hubiere levantado el servicio de oracle lo haramos con
# insserv d /etc/init.d/oracle

Ahora hay que agregar algunas lneas a /etc/profile


# vi /etc/profile

En la seccin de variables de entorno verificamos si existe y si no agregamos lo siguiente:


export export export export export export ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1 ORACLE_SID=ORABUCB ORACLE_HOSTNAME=database.cbachilleres.edu.mx LD_LIBRARY_PATH=$ORACLE_HOME/lib PATH=$PATH:$ORACLE_HOME/bin

Hay que agregarnos al grupo dba. Podemos usar usermod o editar el archivo /etc/group y agregar al final de la linea que empierza con dba nuestro usuario dba (my username is edilberto):
# vi /etc/group dba:!:1000:oracle,edilberto

Ahora entramos con el usuario


# su - oracle

Se agrega al .profile a /home/oracle


$ cd /home/oracle $ vi .profile export export export export export export ORACLE_BASE=/u01/app/oracle ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1 ORACLE_SID=ORABUCB ORACLE_HOSTNAME=database.cbachilleres.edu.mx LD_LIBRARY_PATH=$ORACLE_HOME/lib PATH=$PATH:$ORACLE_HOME/bin

Luego loguearse como un usuario dba


# su - edilberto

En /u01/app/oracle/product/11.1.0/db_1/bin:
$ cd /u01/app/oracle/db/bin

ejecutar sqlplus Y la instancia de la BD arrancara y desplegara un reporte de estado de la BD


$ sqlplus /nolog SQL*Plus: Release 11.1.0.6.0 - Production on Thu Apr 17 18:36:34 2008 Copyright (c) 1982, 2007, Oracle. SQL> connect / as sysdba Connected to an idle instance. SQL> startup ORACLE instance started. Total System Global Area 634695680 bytes Fixed Size 2147032 bytes Variable Size 314576168 bytes Database Buffers 310378496 bytes Redo Buffers 7593984 bytes Database mounted. Database opened. SQL> select INSTANCE_NAME,HOST_NAME,PLATFORM_ID, PLATFORM_NAME,VERSION,DATABASE_STATUS from v$instance,v$database; 2 3 INSTANCE_NAME ---------------HOST_NAME PLATFORM_ID ---------------------------------------------------------------- ----------PLATFORM_NAME -------------------------------------------------------------------------------VERSION DATABASE_STATUS ----------------- ----------------ORABUCB database 13 Linux 64-bit for AMD 11.1.0.6.0 ACTIVE All rights reserved.

SQL> !cat /etc/issue Welcome to SUSE Linux Enterprise Server 10 SP1 (x86_64) - Kernel \r (\l).

SQL> select * from v$version; BANNER -------------------------------------------------------------------------------Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production PL/SQL Release 11.1.0.6.0 - Production CORE 11.1.0.6.0 Production TNS for Linux: Version 11.1.0.6.0 - Production NLSRTL Version 11.1.0.6.0 - Production SQL>

ERRORES COMUNES database:/etc/init.d # insserv -d /etc/init.d/oracle insserv: Service raw has to be enabled for service oracle insserv: exiting now! database:/etc/init.d # chkconfig raw on database:/etc/init.d # insserv -d /etc/init.d/oracle NO SE LEVANTA Enterprise Manager Database Control

$ $ $ $ $ $

emctl stop dbconsole dbshut lsnrctl stop lsnrctl start dbstart emctl start dbconsole

You might also like