instalacion de oracle 11 en suse 10

20
INSTALACION DE ORACLE 11g EN SUSE 10 I.- CONFIGURACIÓN PARA UNA INSTALACIÓN REMOTA Si estamos pensando en conectanos remotamente para realizar la instalación 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 dirección IP de nuestra estación 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 instalación

Upload: goche10

Post on 25-Jul-2015

77 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Instalacion de Oracle 11 en Suse 10

INSTALACION DE ORACLE 11g EN SUSE 10 I.- CONFIGURACIÓN PARA UNA INSTALACIÓN REMOTA Si estamos pensando en conectanos remotamente para realizar la instalación 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 dirección IP de nuestra estación 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 instalación

Page 2: Instalacion de Oracle 11 en Suse 10

Nota: posteriormente en la sección de creación 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 INSTALACIÓN NOTA: La instalación 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 Espacio requerido en el Swap Entre 257 MB y 512 MB El doble de la RAM Entre 513 MB y 2048 MB 1.5 veces el tamaño de la RAM Entre 2049 MB y 8192 MB Igual al tamaño de la RAM mas de 8192 MB 0.75 veces el tamaño 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 used free shared buffers cached Mem: 1522780 1472016 50764 0 42892 1154928 -/+ buffers/cache: 274196 1248584 Swap: 2285008 172 2284836

Administración automática de memoria

Page 3: Instalacion de Oracle 11 en Suse 10

Oracle Database 11g, la la administración automática de memoria requiere de mas memoria compartida (shared memory) (/dev/shm) así como archivos descriptores. La memoria compartida debe ser al menos del tamaño 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 tamaño adecuado, entonces nos enviará un mensaje de error:ORA-00845 al iniciar oracle. El numero de archivos descriptores para cada instancia de Oracle debe ser al menos 512*PROCESSES. También, el limite de los descriptors para cada proceso debe ser al menos 512. Si los archivos descriptores no tienen los tamaños adecuados, veremos el mensaje de error ORA-27123 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 página de parámetros de inicialización, en un sistema Linux, nota que el tamaño de (SGA y PGA), que establece el parámetro de inicialización 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 tamaño de la memoria compartida de nuestro sistema de archivos en nuestro sistema es de 1 GB, pero nuestro tamaño 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 parámetro 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 instalación de Oracle # uname -m i686 REQUERIMIENTOS DE ESPACIO EN DISCO El mínimo 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 1K-blocks Used Available Use% Mounted on /dev/hdc4 23494316 9324640 14169676 40% / Vemos que es suficiente En caso de no ser suficiente tendríamos que ampliar el espacio en /tmp Ahora vamos a determinar el espacio total en nuestro disco duro # df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/hdc4 23494316 9324644 14169672 40% /

Page 4: Instalacion de Oracle 11 en Suse 10

udev 761388 172 761216 1% /dev Podemos comprobar el espacio que tenemos contra la tabla siguiente

Tipo de Instalación Necesita Instant Client 265 (MB) Administrator 1.29 (GB) Runtime 890 (MB) Custom (maximum) 1.02 (GB)

HARDWARE NECESARIO PARA EL DESARROLLADOR SQL

Recurso Recomendado Tipo de CPU y velocidad Pentium IV 2 GHz or

superior Memoria 1 GB RAM (recommended),

256 MB RAM (min) Pantalla 65536 colores, con una

resolución de 1024 X 768 REQUERIMIENTOS DE SOFTWARE SISTEMA OPERATIVO: SUSE Linux Enterprise Server 10.0 Para determinar la distribución y versión 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 KERNEL: Para SUSE Linux Enterprise Server 10 debe ser 2.6.16.21 o superior Para determinar la versión 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 Requerimientos SUSE Linux Enterprise Server 10 x86 (32 bits) 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

Page 5: Instalacion de Oracle 11 en Suse 10

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 versión 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 versión por ejemplo:

Page 6: Instalacion de Oracle 11 en Suse 10

unixODBC-devel Y marcamos el paquete para su instalación. 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 mayoría 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 versión a 64 bits todos los paquetes se encuentran en el CD ROM o DVD de instalación 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 INSTALACIÓN Ahora viene la parte de la creación de usuarios y grupos para la instalación de Oracle. En el caso de tener una instalación 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 instalación en nuestra PC. Para determinar la existencia de una instalación 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

Page 7: Instalacion de Oracle 11 en Suse 10

# /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 CREACIÓN 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 creación 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 sección de instalación descargamos y descomprimimos los archivos de instalación 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

Page 8: Instalacion de Oracle 11 en Suse 10

$ exit En nuestro caso nos percatamos que es bash esto hay que tenerlo muy en cuenta futuras operaciones. CREACIÓN 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 líneas 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 máximo (parámetro 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 desempeño del sistema. Después 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. Depués 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 parámetros del kernel de manera individual es necesario teclear lo siguiente: Parameter Command semmsl, semmns, semopm, and semmni

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

shmall, shmmax, and shmmni

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

file-max # /sbin/sysctl -a | grep file-max This command displays the maximum number of file handles.

ip_local_port_range # /sbin/sysctl -a | grep ip_local_port_range This command displays a range of port numbers.

Page 9: Instalacion de Oracle 11 en Suse 10

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

wmem_default # /sbin/sysctl -a | grep wmem_default

wmem_max # /sbin/sysctl -a | grep wmem_max

CONFIGURACIÓN DE LOS LÍMITES EN EL SHELL PARA EL USUARIO ORACLE Para mejorar el desempeño de Oracle en sistemas Linux, se recomienda establecer los valores en los límites de shell para el usuario oracle según la tabla siguiente:

Shell Limit Item en limits.conf

Hard Limit

Maximum number of open file descriptors nofile 65536

Maximum number of processes available to a single user

nproc 16384

Para incrementar estos valores en el shell haremos lo siguiente: 1. Agrega las siguientes líneas en el archive /etc/security/limits.conf: oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 2. En el archivo /etc/pam.d/login, si es que no existe agrega en caso contrario modifica la siguiente línea: 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 línea 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 También identificando si existe el directorio home: # more /etc/oratab Ahora vamos a identificar si existe el directorio base: # cat inventory/ContentsXML/oraclehomeproperties.xml

Page 10: Instalacion de Oracle 11 en Suse 10

En caso de que no tengamos rastros de una instalación previa de oracle entonces procederemos a la creación de los directorios para la instalación 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 tendríamos que liberar espacio. # mkdir -p /u01/app # chown -R oracle:oinstall /u01/app # chmod -R 775 /u01/app/ CREANDO DIRECTORIOS PARA LOS ARCHIVOS DE RECUPERACIÓN Vamos a ver si tenemos espacio suficiente tecleamos el comando: # df -k Según el tipo de archivos debemos de revisar la siguiente tabla: File Type File System Requirements Database files 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

Recovery files Choose a file system with at least 2.4 GB of free disk space

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 recuperación (área de recuperación 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 recuperación 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).

Page 11: Instalacion de Oracle 11 en Suse 10

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 línea: 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 sesión y entramos al sistema con el usuario oracle Antes de iniciar la instalación 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 después 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

Page 12: Instalacion de Oracle 11 en Suse 10

Preparando para iniciar Oracle Universal Installer desde /tmp/OraInstall2008-04-14_06-06-34AM. Espere...oracle@database:/u01/app/database>

1. On the Select Installation Method page, you can select either Basic Installation or Advanced Installation. Select Advanced Installation. 2. Select Installation Type. You’re given three choices—Enterprise 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.

Page 13: Instalacion de Oracle 11 en Suse 10

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. It’s 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.

Page 14: Instalacion de Oracle 11 en Suse 10
Page 15: Instalacion de Oracle 11 en Suse 10
Page 16: Instalacion de Oracle 11 en Suse 10

Ahora según lo que nos marca en la pantalla tecleamos: oracle@database:~> su Contraseña: 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 ejecución 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

Page 17: Instalacion de Oracle 11 en Suse 10

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. DESPUÉS DE LA INSTALACIÓN 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 más 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)

Page 18: Instalacion de Oracle 11 en Suse 10

# 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

Después de salvar el archivo le damos permisos de ejecución # chmod 750 /etc/init.d/oracle # chkconfig --add oracle --level 0356 NOTA: Si queremos que de manera automática se inicie entonces también 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 haríamos con # insserv –d /etc/init.d/oracle

Ahora hay que agregar algunas líneas a /etc/profile # vi /etc/profile En la sección de variables de entorno verificamos si existe y si no agregamos lo siguiente: export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1 export ORACLE_SID=ORABUCB export ORACLE_HOSTNAME=database.cbachilleres.edu.mx export LD_LIBRARY_PATH=$ORACLE_HOME/lib export 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 ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1 export ORACLE_SID=ORABUCB export ORACLE_HOSTNAME=database.cbachilleres.edu.mx export LD_LIBRARY_PATH=$ORACLE_HOME/lib export PATH=$PATH:$ORACLE_HOME/bin

Luego loguearse como un usuario dba # su - edilberto

Page 19: Instalacion de Oracle 11 en Suse 10

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. All rights reserved. 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 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

Page 20: Instalacion de Oracle 11 en Suse 10

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