
Instalando Oracle 10.2.0 en Ubuntu 9.04
1.- Se deben crear los siguientes grupos para la instalacion y manejo de la BD: oinstall (Grupo principal de la instalacion), oracle, dba (grupos secundarios a los que debe pertenecer el usuario que manejara e instalara oracle)
Creamos los grupos con el siguiente comando en una consola:
groupadd oinstall
groupadd oracle
groupadd dba
Para crear el usuario junto con sus carpetas y asignarlo a los grupos ejecutar el siguiente comando como root:
useradd USUARIO -u2009 -d /home/USUARIO -m -g oinstall -G dba,oracle
/** EXPLICACION: **/
El parametro useradd creara un usuario con nombre USUARIO
El parametro -u debe ser un identificador unico para cada usuario
El parametro -d indicara la ruta de la carpeta que pertecece la usuario
El parametro -m forzamos a la creacion de la carpeta y los archivos referentes al usuario
El parametro -g indica al grupo principal al que pertece el usuario
El parametro -G indica los grupos secundarios a los que va a pertecer el usuario, podemos agregar todos lo que se necesiten separdos por coma (,)
/*************************************************/
2.- Una vez creado el usuario tenemos que asignarle una clave, para ello ejecutamos el siguiente comando como root:passwd USUARIO
Cuando se ejecute el comando sera solicitada dos veces la contraseña para el USUARIO. Si queremos cambiar el shell de usuario ejecutamos lo siguiente:
usermod -s /bin/bash USUARIO
/*************************************************/
3.- Se deben instalar los siguientes paquetes:
sudo apt-get install gcc
sudo apt-get install libaio1
sudo apt-get install lesstif2
sudo apt-get install lesstif-dev
sudo apt-get install make
sudo apt-get install rpm
sudo apt-get install libc6
sudo apt-get install libstdc++5
sudo apt-get install binutils
sudo apt-get install libmotif
Nota: Se deben terner instalados eso paquetes para que la instancia de oracle funcione correctamente
/*************************************************/
nano /home/USUARIO/.profile
Ese comando nos mostrara un achivo en el cual debemos agregar las siguientes lineas al final para configurar las varibles java:
export J2RE_HOME="/home/USUARIO/java/jdk1.6.0_12"
export JAVA_HOME="/home/USUARIO/java/jdk1.6.0_12"
export JAVA_BIN="/home/USUARIO/java/jdk1.6.0_12/bin"
export PATH="/home/USUARIO/java/jdk1.6.0_12/bin:$PATH"
export CLASSPATH="."
NOTA: Suponiendo que instale el java en la carpeta del usuario /home/USUARIO/java. de lo contrario debes especificar la ruta donde se ha instalado java
Con eso ya tenemos las variables listas en nuestro archivo .profile, ahora agregaremos las variables del entorno oracle. Agregar estas lineas al final del archivo:
export ORACLE_BASE=/home/USUARIO/oracle/product/10.2.0
export ORACLE_HOME=$ORACLE_BASE/db_1
export ORACLE_SID=inst_name
export ORACLE_TERM=xterm
export ORACLE_OWNER=USUARIO
#export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=american_america.WE8ISO8859P1
export ORA_NLS10=${ORACLE_HOME}/db_1/nls/data
export CLASSPATH=${CLASSPATH}:${ORACLE_HOME}/jdbc/lib/classes12.zip
export LD_LIBRARY_PATH=${ORACLE_HOME}/lib
export DISABLE_HUGETLBFS=1
export TEMP=/tmp
export TMPDIR=/tmp
export PATH=$PATH:/home/app/oracle/oracle/product/10.2.0/db_1/bin
NOTAS:
La ruta de la variable ORACLE_BASE (y por tanto ORACLE_HOME, TNS_ADMIN, LD_LIBRARY_PATH) depende de donde quieras que se instale el software es personalizada para cada usuario que desee instalar.
La variable ORACLE_SID es el nombre de la instancia de oracle que estas creando y no debe tener espacios ni mas de 8 caracteres.
La variable NLS_LANG es el idioma que manejara la instancia y BD.
La variable TNS_ADMIN se descomentara luego de la instalacion.
Con esto ya hemos terminado de hacer la configuracion basica del .profile, para salvar los cambios presionamos CTRL+O y para salir CTRL+X.
Para que las variables sean cargadas debes cerrar la sesion e iniciarla nuevamente.
/*************************************************/
3.- Se deben instalar los siguientes paquetes:
sudo apt-get install gcc
sudo apt-get install libaio1
sudo apt-get install lesstif2
sudo apt-get install lesstif-dev
sudo apt-get install make
sudo apt-get install rpm
sudo apt-get install libc6
sudo apt-get install libstdc++5
sudo apt-get install binutils
sudo apt-get install libmotif
Nota: Se deben terner instalados eso paquetes para que la instancia de oracle funcione correctamente
4.- Configurando las variables de entorno en el profile.
Para ejecutar oracle se debe tener instalado java. Si ya tienes instalado java y hecho los export puedes saltarte este paso, de lo contrario debes descargar e instalar java. descarga la version mas reciente del JDK de la siguiente pagina : http://java.sun.com/javase/downloads/index.jsp Una vez descargado el paquete .deb lo instalas en la carpeta que os parezca mejor y pasamos a configurar las variables java en el profile, para eso vamos a editar el arhivo que se encuentra en la carpeta del usuario ejecutando el siguiente comando
Para ejecutar oracle se debe tener instalado java. Si ya tienes instalado java y hecho los export puedes saltarte este paso, de lo contrario debes descargar e instalar java. descarga la version mas reciente del JDK de la siguiente pagina : http://java.sun.com/javase/downloads/index.jsp Una vez descargado el paquete .deb lo instalas en la carpeta que os parezca mejor y pasamos a configurar las variables java en el profile, para eso vamos a editar el arhivo que se encuentra en la carpeta del usuario ejecutando el siguiente comando
nano /home/USUARIO/.profile
Ese comando nos mostrara un achivo en el cual debemos agregar las siguientes lineas al final para configurar las varibles java:
export J2RE_HOME="/home/USUARIO/java/jdk1.6.0_12"
export JAVA_HOME="/home/USUARIO/java/jdk1.6.0_12"
export JAVA_BIN="/home/USUARIO/java/jdk1.6.0_12/bin"
export PATH="/home/USUARIO/java/jdk1.6.0_12/bin:$PATH"
export CLASSPATH="."
NOTA: Suponiendo que instale el java en la carpeta del usuario /home/USUARIO/java. de lo contrario debes especificar la ruta donde se ha instalado java
Con eso ya tenemos las variables listas en nuestro archivo .profile, ahora agregaremos las variables del entorno oracle. Agregar estas lineas al final del archivo:
export ORACLE_BASE=/home/USUARIO/oracle/product/10.2.0
export ORACLE_HOME=$ORACLE_BASE/db_1
export ORACLE_SID=inst_name
export ORACLE_TERM=xterm
export ORACLE_OWNER=USUARIO
#export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=american_america.WE8ISO8859P1
export ORA_NLS10=${ORACLE_HOME}/db_1/nls/data
export CLASSPATH=${CLASSPATH}:${ORACLE_HOME}/jdbc/lib/classes12.zip
export LD_LIBRARY_PATH=${ORACLE_HOME}/lib
export DISABLE_HUGETLBFS=1
export TEMP=/tmp
export TMPDIR=/tmp
export PATH=$PATH:/home/app/oracle/oracle/product/10.2.0/db_1/bin
NOTAS:
La ruta de la variable ORACLE_BASE (y por tanto ORACLE_HOME, TNS_ADMIN, LD_LIBRARY_PATH) depende de donde quieras que se instale el software es personalizada para cada usuario que desee instalar.
La variable ORACLE_SID es el nombre de la instancia de oracle que estas creando y no debe tener espacios ni mas de 8 caracteres.
La variable NLS_LANG es el idioma que manejara la instancia y BD.
La variable TNS_ADMIN se descomentara luego de la instalacion.
Con esto ya hemos terminado de hacer la configuracion basica del .profile, para salvar los cambios presionamos CTRL+O y para salir CTRL+X.
Para que las variables sean cargadas debes cerrar la sesion e iniciarla nuevamente.
/*************************************************/
5.- Configurando los parametros del kernel (Opcional). Debemos configurar los parametros del kernel para un mejor funcionamiento sin embargo este paso lo podemos obviar y aun asi la instalacion funcionara correctamente.
NOTA: Ubuntu no esta oficialmente soportado para Oracle, sin embargo funciona fino. Los parametros del kernel varian segun el S.O. y la maquina donde esta instalado. Si deseamos realizar una instalacion para un ambiente de produccion o uno muy parecido a este se recomienda tener un S.O. oficialmente soportado por Oracle y revisar la documentacion para los parametros del kernel.
Estos son los valores minimos del kernel y como mostrar el valor actual en nuestro S.O.
Parametro: semmsl
Valor: 250
Comando: sudo more /proc/sys/kernel/sem
Si alguno de los parametros no cumple los requisitos pasamos a modificarlo.
Para configurar el kernel editamos el archivo sysctl.conf para ello ejecutamos el siguiente comando:
sudo nano /etc/sysctl.conf
En el archivo editamos (de existir ) las siguientes lineas, sino existen las agregamos al final. Si hay otros parametros del kernel que debamos modificar tambien las agregamos, por ahora estas son las importantes:
kernel.shmall = 2147483648
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
Luego ejecutamos el siguiente comando para recargar el kernel
sudo sysctl -p
/** EXPLICACION **/
El parametro shmall = Cantidad máxima de memoria compartida disponible
El parametro shmmax es la cantidad maxima de un segmento de memoria compartido que el kernel va a permitir que alguien use de memoria compartida puede ser igual, menor o mayor que la memoria fisica. pero SIEMPRE debe ser mayor que la SGA que asignemos a la instancia de Oracle
El parametro shmmni =Número máximo de segmentos de memoria compartida en todo el sistema
El parametro sem = cada numero separado por un espacio es el valor asigando a subparametros del semaforo
El parametro fs.file-max = Numero maximo de archivos abiertos por el sistema
6.- Configurando el Shell del usuario Oracle (opcional) editamos (si existe el archivo limits.conf) sino lo crearemos. Ejecutamos el siguiente comando:
sudo nano /etc/security/limits.conf
Agregamos al final del archivo las siguientes lineas:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
/**EXPLICACION **/
nproc es el maximo numero de procesos en shell
nproc es el maximo numero de archivos abiertos
Ejecutamos el siguiente comando para crear o editar el siguiente archivo:
sudo nano /etc/pam.d/login
Linea que debemos agregar:
session required /lib/security/pam_limits.so
NOTA: Ubuntu no esta oficialmente soportado para Oracle, sin embargo funciona fino. Los parametros del kernel varian segun el S.O. y la maquina donde esta instalado. Si deseamos realizar una instalacion para un ambiente de produccion o uno muy parecido a este se recomienda tener un S.O. oficialmente soportado por Oracle y revisar la documentacion para los parametros del kernel.
Estos son los valores minimos del kernel y como mostrar el valor actual en nuestro S.O.
Parametro: semmsl
Valor: 250
Comando: sudo more /proc/sys/kernel/sem
Parametro: semmns
Valor: 32000
comando: sudo more /proc/sys/kernel/sem
Parametro: semopm
Valor: 100
Comando: sudo more /proc/sys/kernel/sem
Parametro: semmni
Valor: 128
Comando: sudo more /proc/sys/kernel/sem
Parametro: shmall
Valor: 2097152
Comando: sudo more /proc/sys/kernel/shmall
Parametro: shmmax
Valor: Siempre > que la SGA
Comando: sudo more /proc/sys/kernel/shmmax
Parametro:shmmni
Valor: 4096
Comando: sudo more /proc/sys/kernel/shmmni
Parametro: file-max
Valor: 512 *procesos
Comando: sudo more /proc/sys/fs/file-max
Paramtro: ip_local_port_range
Valores: 1024 65000
Comando: sudo more /proc/sys/net/ipv4/ip_local_port_range
Parametro: rmem_default
Valor: 4194304
Comando:sudo more /proc/sys/net/core/rmem_default
Parametro: wmem_default
Valor: 262144
Comando: sudo more /proc/sys/net/core/wmem_default
Parametro: rmem_max
Valor: 4194304
Comando: sudo more /proc/sys/net/core/rmem_max
Parametro:wmem_max
Valor: 262144
Comando: sudo more /proc/sys/net/core/wme
Valor: 32000
comando: sudo more /proc/sys/kernel/sem
Parametro: semopm
Valor: 100
Comando: sudo more /proc/sys/kernel/sem
Parametro: semmni
Valor: 128
Comando: sudo more /proc/sys/kernel/sem
Parametro: shmall
Valor: 2097152
Comando: sudo more /proc/sys/kernel/shmall
Parametro: shmmax
Valor: Siempre > que la SGA
Comando: sudo more /proc/sys/kernel/shmmax
Parametro:shmmni
Valor: 4096
Comando: sudo more /proc/sys/kernel/shmmni
Parametro: file-max
Valor: 512 *procesos
Comando: sudo more /proc/sys/fs/file-max
Paramtro: ip_local_port_range
Valores: 1024 65000
Comando: sudo more /proc/sys/net/ipv4/ip_local_port_range
Parametro: rmem_default
Valor: 4194304
Comando:sudo more /proc/sys/net/core/rmem_default
Parametro: wmem_default
Valor: 262144
Comando: sudo more /proc/sys/net/core/wmem_default
Parametro: rmem_max
Valor: 4194304
Comando: sudo more /proc/sys/net/core/rmem_max
Parametro:wmem_max
Valor: 262144
Comando: sudo more /proc/sys/net/core/wme
Si alguno de los parametros no cumple los requisitos pasamos a modificarlo.
Para configurar el kernel editamos el archivo sysctl.conf para ello ejecutamos el siguiente comando:
sudo nano /etc/sysctl.conf
En el archivo editamos (de existir ) las siguientes lineas, sino existen las agregamos al final. Si hay otros parametros del kernel que debamos modificar tambien las agregamos, por ahora estas son las importantes:
kernel.shmall = 2147483648
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
Luego ejecutamos el siguiente comando para recargar el kernel
sudo sysctl -p
/** EXPLICACION **/
El parametro shmall = Cantidad máxima de memoria compartida disponible
El parametro shmmax es la cantidad maxima de un segmento de memoria compartido que el kernel va a permitir que alguien use de memoria compartida puede ser igual, menor o mayor que la memoria fisica. pero SIEMPRE debe ser mayor que la SGA que asignemos a la instancia de Oracle
El parametro shmmni =Número máximo de segmentos de memoria compartida en todo el sistema
El parametro sem = cada numero separado por un espacio es el valor asigando a subparametros del semaforo
El parametro fs.file-max = Numero maximo de archivos abiertos por el sistema
/*************************************************/
6.- Configurando el Shell del usuario Oracle (opcional) editamos (si existe el archivo limits.conf) sino lo crearemos. Ejecutamos el siguiente comando:
sudo nano /etc/security/limits.conf
Agregamos al final del archivo las siguientes lineas:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
/**EXPLICACION **/
nproc es el maximo numero de procesos en shell
nproc es el maximo numero de archivos abiertos
Ejecutamos el siguiente comando para crear o editar el siguiente archivo:
sudo nano /etc/pam.d/login
Linea que debemos agregar:
session required /lib/security/pam_limits.so
/*************************************************/
7.- Logueate con el usuario oracle
Entra en la carpeta del usuario y ejecuta lo siguienteen una consola:
ls -l
Deberia mostrar algo como esto:
lrwxrwxrwx 1 USUARIO oinstall 26 2009-06-30 14:53 Examples
Lo que nos interesa es que seguido del USUARIO aparezca OINSTALL que es el grupo para la instalacion, si esto no es asi revisa si hiciste correctamente el paso 1
Entra en la carpeta del usuario y ejecuta lo siguienteen una consola:
ls -l
Deberia mostrar algo como esto:
lrwxrwxrwx 1 USUARIO oinstall 26 2009-06-30 14:53 Examples
Lo que nos interesa es que seguido del USUARIO aparezca OINSTALL que es el grupo para la instalacion, si esto no es asi revisa si hiciste correctamente el paso 1
/*************************************************/
8.- Descargar la version de oracle 10 para linux 32 o 64 bits de la siguiente pagina:
http://www.oracle.com/technology/software/products/database/index.html
http://www.oracle.com/technology/software/products/database/index.html
/*************************************************/
9.-Descomprimir el archivo. Una vez que eso este hecho se crera una carpeta llamada DATABASE alli esta el instalador grafico de oracle. Para descomprimir ejecutamos lo siguiente:
unzip 10201_database_linux32.zip
si se llama de otra forma
unzip como_se_llame.zip
unzip 10201_database_linux32.zip
si se llama de otra forma
unzip como_se_llame.zip
/*************************************************/
10.- Realiza este paso si estas instalando en un servidor remoto, de lo contrario continua al paso siguiente. Habre una consola y escribe el siguiente comando:
ssh -X -l USUARIO ip_del_servidor
USUARIO = Es el usuario que creaste para la instalacion y manejo de oracle
Ip_del_servidor = ip del servidor remoto al cual te estas conectando
Tambien lo puedes usar si tienes varios usuarios en la maquina loca y no quieres cambiar el entorno grafico. Ahora las aplicaciones graficas que ejecutes en el servidor remoto se mostraran en la pantalla que tienes en frente como se supone que ya tienes descomprimido el instalador dirigete a la carpeta DATABASE y una vez alli ejecuta el siguiente comando para que se inicie la instalacion grafica de oracle:
./runInstaller -ignoreSysPreReqs
y listo se iniciara la instalacion grafica
ssh -X -l USUARIO ip_del_servidor
USUARIO = Es el usuario que creaste para la instalacion y manejo de oracle
Ip_del_servidor = ip del servidor remoto al cual te estas conectando
Tambien lo puedes usar si tienes varios usuarios en la maquina loca y no quieres cambiar el entorno grafico. Ahora las aplicaciones graficas que ejecutes en el servidor remoto se mostraran en la pantalla que tienes en frente como se supone que ya tienes descomprimido el instalador dirigete a la carpeta DATABASE y una vez alli ejecuta el siguiente comando para que se inicie la instalacion grafica de oracle:
./runInstaller -ignoreSysPreReqs
y listo se iniciara la instalacion grafica
/*************************************************/
11.- Ahora si, finalmente vamos a instalar el software. Como se supone que ya tienes descomprimido el instalador dirigete a la carpeta DATABASE y una vez alli ejecuta el siguiente comando:
./runInstaller -ignoreSysPreReqs
con esto iniciamos la instalacion grafica de oracle
./runInstaller -ignoreSysPreReqs
con esto iniciamos la instalacion grafica de oracle
/*************************************************/
12.- Bien una vez instalado oracle y suponiendo que no marcaste la opcion de crear una base de datos por defecto vamos a proceder a crear una instancia y una base datos.
Creando la Instancia:
Deberia indicarnos que nos estamos conectando a una instancia idle
Iniciando la Instancia:
Creando la Instancia:
- Debemos crear un parameter file para levantar la instancia, el archivo se debe llamar init+nombre_de_la_instancia.ora, en este ejemplo el nombre de la instancia lo definimos en el paso 4 (export ORACLE_SID=inst_name) por lo tanto el arhivo deberia llamarse initinst_name.ora y debe estar en la siguiente ruta $ORACLE_BASE/db_1/dbs/
- Una vez definido el pfile o parameter file (y haber chequedo que todos los paramtros del archivo estan OK ) ejecutamos el siguiente comando desde una consola:
Deberia indicarnos que nos estamos conectando a una instancia idle
Iniciando la Instancia:
- Una vez conectado al SQL ejecutamos el siguiente comando:
startup nomount pfile=RUTA_DEL_ORACLE_BASE/db_1/dbs/init+instancia.ora
Creando la Base de Datos:
Listo ya la BD esta creada, para iniciarla ejecutamos el comando:
alter database mount
NOTA: El nombre de la BD que se coloca en el archivo archivo_crear_BD.sql debe coincidir con el que se encuentra en el parameter file
Creando la Base de Datos:
- Abrimos un editor de texto que queramos y creamos el sql que definira la BD
- Guardamos el achivo en donde nos parezca mejor y con extension .sql
- Desde la consola que tiene el SQL abierto ejecutamos:
Listo ya la BD esta creada, para iniciarla ejecutamos el comando:
alter database mount
NOTA: El nombre de la BD que se coloca en el archivo archivo_crear_BD.sql debe coincidir con el que se encuentra en el parameter file
/*************************************************/
13.- Iniciando los servicios LISTENER
Para que los usuarios puedan comunicarse con la base de datos debemos iniciar el listener para ello ejecutamos desde la consola:
Para que los usuarios puedan comunicarse con la base de datos debemos iniciar el listener para ello ejecutamos desde la consola:
lsnrctl
luego:
start
**o simplemente**
lsnrctl start
con eso iniciamos los servicios de listener, si queremos detenerlo ejecutamos:
lsnrctl stop
luego:
start
**o simplemente**
lsnrctl start
con eso iniciamos los servicios de listener, si queremos detenerlo ejecutamos:
lsnrctl stop