domingo, 20 de septiembre de 2009

Configuracion Listener Dinamico

El listener dinamico lo utilizamos para esconder el nombre de la instancia, o utilizar un SERVICE_NAME diferente en los clientes al SERVICE_NAME en nuestra BD

Primiero modificaremos algunos parametros de la BD
# ALTER SYSTEM SET SERVICE_NAMES = SERVICIO_1;
# ALTER SYSTEM SET INSTANCE_NAME =ORCL;
#ALTER SYSTEM SET LOCAL_LISTENER =LISTENER_2;

El parametro LOCAL_LISTENER sera el nombre de listener que se va a crear


Luego abrimos para editar los archivos tnsnames.ora y listener.ora

---***** EN EL TNSNAMES *****---
Agregamos las siguientes lineas al final del archivo

LISTENER_2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT = 1521))
  )
---------
---***** EN EL LISTENER*****---
Agregamos las siguientes lineas al final del archivo

LISTENER_2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = I´P)(PORT = 1521))
  )
SID_LIST_LISTENER_2 =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = acseldes)
      (ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0/dbhome_2)
      (SID_NAME = clone)
    )
  )
---------

Guardamos los cambios en los archivos, iniciamos los servicios de la instancia y luego nos vamos a la herramienta del listener.

LSNRCTL> set current_listener LISTENER_2
LSNRCTL> START

luego ejecutamos:
LSNRCTL> STAT

con este comando verificamos que los servicios del listener se esten ejecutando correctamente.



Si todo esta correcto los clientes se podran conectar a la BD usando algun cliente y especificando el parametro HOST como el
IDENTIFICADOR que definimos en el TNSNAMES

viernes, 3 de julio de 2009

Instalacion Oracle 10.2.0 en Ubuntu 9.04


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


/*************************************************/


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

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


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

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

/*************************************************/

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


/*************************************************/
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

/*************************************************/


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


/*************************************************/
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

/*************************************************/

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:

  • 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:
sqlplus / as sysdba

Deberia indicarnos que nos estamos conectando a una instancia idle

Iniciando la Instancia:

  • Una vez conectado al SQL ejecutamos el siguiente comando:
(Obviamente vas a reemplazar RUTA_DEL_ORACLE_BASE por la ruta del oracle_base y init+instancia.ora por el nombre del pfile que definiste)

startup nomount pfile=RUTA_DEL_ORACLE_BASE/db_1/dbs/init+instancia.ora


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:
@RUTA_DEL_ARCHIVO_D_CREACION_DB/archivo_crear_BD.sql


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:

lsnrctl

luego:

start

**o simplemente**

lsnrctl start

con eso iniciamos los servicios de listener, si queremos detenerlo ejecutamos:

lsnrctl stop

viernes, 10 de abril de 2009

Fotos de mi m551 Sheridan

Unas Cuantas fotos de mi m551 Sheridan recien contruido pintado para vietnam