Administra tu Blog

¡Crea tu Blog Ya! Fácil y Gratis

Java ORACLE
Welcome!. Gracias por ingresar, espero guste.

Archivo: Septiembre 2008

28/09/2008 GMT 1

Instalación de Automatic Storage Management ASM de Oracle en Linux Red Hat

paulonline @ 23:33

l0_f_0922oracle-openworld.jpg

Esta es la instalación de ASM en su propio HOME

[root@localhost  ~]# mkdir /u01/asmdisks

[root@localhost  ~]# cd /u01/asmdisks/

//Creamos los raw devices en LINUX

[root@localhost asmdisks]# dd if=/dev/zero of=asm_disk1 bs=1024k count=400

[root@localhost asmdisks]# dd if=/dev/zero of=asm_disk2 bs=1024k count=400

[root@localhost asmdisks]# dd if=/dev/zero of=asm_disk3 bs=1024k count=400

[root@localhost asmdisks]# dd if=/dev/zero of=asm_disk4 bs=1024k count=400

[root@localhost asmdisks]# losetup /dev/loop1 asm_disk1

[root@localhost asmdisks]# losetup /dev/loop2 asm_disk2

[root@localhost asmdisks]# losetup /dev/loop3 asm_disk3

[root@localhost asmdisks]# losetup /dev/loop4 asm_disk4

[root@localhost asmdisks]# raw -qa

[root@localhost asmdisks]# raw /dev/raw/raw1 /dev/loop1

[root@localhost asmdisks]# raw /dev/raw/raw2 /dev/loop2

[root@localhost asmdisks]# raw /dev/raw/raw3 /dev/loop3

[root@localhost asmdisks]# raw /dev/raw/raw4 /dev/loop4

[root@localhost asmdisks]# raw -qa

//Ahora tenemos 4 raw devices que serán usados para crear los ASM disks

/dev/raw/raw1: bound to major 7, minor 1

/dev/raw/raw2: bound to major 7, minor 2

/dev/raw/raw3: bound to major 7, minor 3

/dev/raw/raw4: bound to major 7, minor 4

/*

Ahora creamos una cuenta ASM que será utilizada para crear la instancia de AS. Abrimos otra consola.

*/

[root@localhost  ~]# /usr/sbin/groupadd asmdba

[root@localhost  ~]# useradd oracleasm -g oinstall -G asmdba

[root@localhost  ~]#passwd oracleasm

//password: oracle

[root@localhost  ~]# vi /etc/group/

//poner como oinstall:x:503:oracleasm

[root@localhost  ~]# mkdir -p /u01/app

//damos los permisos

[root@localhost  ~]# chown -R oracle:oinstall /u01/app

[root@localhost  ~]# chmod -R 775 /u01/app

//seteamos los parámetros

[root@localhost  ~]# vi /home/oracleasm/.bash_profile

//ponemos como:

#User specific environment and startup programs

unset PATH; export PATH

unset USERNAME

PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin

umask 022

ORACLE_BASE=/u01/app/oracle

ORACLE_HOME=$ORACLE_BASE/product/10.2.0/asm_1

ORACLE_SID=+ASM

PATH=$ORACLE_HOME/bin:$PATH

export PATH

export ORACLE_BASE ORACLE_HOME ORACLE_SID

[root@localhost  ~]# cd /u01/asmdisks/

[root@localhost asmdisks]# chown oracleasm:asmdba /dev/raw/raw1

[root@localhost asmdisks]# chown oracleasm:asmdba /dev/raw/raw2

[root@localhost asmdisks]# chown oracleasm:asmdba /dev/raw/raw3

[root@localhost asmdisks]# chown oracleasm:asmdba /dev/raw/raw4

[root@localhost asmdisks]# xhost +

[root@localhost asmdisks]# su - oracleasm

[oracleasm@localhost  ~]$ cd /u01/database

[oracleasm@localhost  ~]$ ./runInstaller

...Passed ...

//Click en Advanced Installation y Next

//Inventory Details, Next

//Select Installation Type, poner Enterprise Edition y Next

//Home Details, cambiar OraDb10g_home1 a OraDb10g_asmhome. Next

//Next

//Yes (Opcional)

//Configuration Option , elegir ASM y poner dos veces el password. Next

//Configure ASM, elegir External y seleccionar todos los check boxes. Next

//Privileged Operating System Groups, cambiar oinstall por asmdba. Next

//Install

//Seguir las instrucciones de Execute Configuration scripts. Abrimos ina consola en root, cuando terminamos hacemos click en OK

//En la consola root ejecutamos ps - ef | grep ASM para verificar

[root@localhost asmdisks]# ps - ef | grep ASM

//Ejecutamos sqlplus

[oracleasm@localhost ~]$sqlplus "/ as sysdba";

SQL> SELECT name FROM v$asm_diskgroup;

SQL> SELECT name FROM v$asm_disk;

 

Carga Masiva de Datos con Java

paulonline @ 20:01

Este programa crea un archivo llamado script.sql con 1 000 000 de sentencias INSERT, la cantidad de INSERT es configurable.

 

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.util.Hashtable;

class CargaMasiva{

public static void main(String[] args){

try{

File f=new File("/u01/app.oracle/product/10.2.0/db_1/script.sql");

FileOutputSteam fos=new FileOutputStream(f);

f.createNewFile();

if(f.canWrite()){

Hashtable ht=new Hashtable();

//Aquí se configura la cantidad de registros INSERT

String[] foo=new String[1000000];

//Este es el objeto que representa la tabla

Customer c=new Customer();

for(int i=0;i

      /*Guarda en el array los inserts. Aquí se puede añadir los registros de   una tabla mediante POO*/

foo[i]=

"INSERT INTO CUSTOMER(CUSTOMER_ID) VALUES('"+i+"');\n";

ht.put(i,foo[i]);

}

c.setX(foo);

//Lee el array y los escribe en el archivo script.sql

for(int i=0;i

byte[] b=foo[i].getBytes();

fos.write(b);

}

}

}

catch(IOException ioe){ ioe.getMessage(); }

}

//Este es el bean que representa la tabla

class Customer(){

private String[] x;

public String[] getX(){

return x;

}

public void setX(String[] _x){

this.x=_x;

return;

}

}

}

/*

Se puede añadir más métodos y variables al Bean, por ejemplo :

public String nombre="";

public int edad=0;

private Date fecha;

Para hacerlo con PL /SQL se debe revisar la librería UTL_FILE, que lee y escribe archivos de PL/SQL y de sistema operativo.

También se puede revisar el método INSERT SELECT de ORACLE. Por ejemplo:

insert into depto80 (select * from employees where department_id=80);

ó

insert into just_names(first,last) (select first_name, last_name from employees)

*/

23/09/2008 GMT 1

Instalación de Oracle10gR2 en Linux Red Hat Enterprise

paulonline @ 20:45

corp_11_411.jpg[root@localhost  ~]# groupdel dba

[root@localhost  ~]# groupdel oper

[root@localhost  ~]# userdel oracle

[root@localhost  ~]# groupdel oinstall

[root@localhost  ~]# /usr/sbin/groupadd dba

[root@localhost  ~]# /usr/sbin/groupadd oper

[root@localhost  ~]# /usr/sbin/groupadd oinstall

[root@localhost  ~]# mkdir -p /u01/app

[root@localhost  ~]# /usr/sbin/useradd -g oinstall -G dba,oper -d /u01/app/ oracle

[root@localhost  ~]# passwd oracle <--aquí le ponemos password 2 veces

[root@localhost  ~]# vi /etc/group   <--aquí añadimos :oracle a oinstall

[root@localhost  ~]# /usr/sbin/usermod -g oinstall -G dba,oper -d /u01/app/ oracle

[root@localhost  ~]# chwon -R oracle:oinstall /u01/app/

[root@localhost  ~]# chmod -R 775 /u01/app

[root@localhost  ~]# xhost +

[root@localhost  ~]# su - oracle

[oracle@localhost  ~]# cd /u01/database/ <--aquí buscamos el instalador

[oracle@localhost database]$ ./runInstaller

...Passed ...se siguen las instrucciones

[oracle@localhost database]$ cd ..

[oracle@localhost u01]$ cd app/oracle/product/10.2.0/db_1/bin

[oracle@localhost bin]$ ./dbca

...Aquí instala la Base de Datos...se siguen las instrucciones

[oracle@localhost db_1]$ cd ./../../../../..

[oracle@localhost app]$ vi .bash_profile

...Aquí se setea ORACLE_HOME, ORACLE_BASE y ORACLE_SID...

export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1/

export ORACLE_BASE=/u01/app/oracle/product/10.2.0/db_1/

export ORACLE_SID=orcl

export PATH=$PATH:$ORACLE_HOME/bin

... En otra consola

[root@localhost ~]# su - oracle

[oracle@localhost ~]$ lsnrctl start;

[oracle@localhost ~]$ sqlplus "/ as sysdba";

SQL>

[oracle@localhost ~]$ cd /u01/app/oracle/product/10.2.0/db_1/bin

[oracle@localhost bin]$ ./rman

RMAN>

 

Para finalizar en el browser escriben:

http://localhost.localdomain:1158/em

22/09/2008 GMT 1

Teorema de Pitágoras en Java

paulonline @ 03:27

Aquí un sencillo programa en POO:

/*
Este programa muestra como utilizar arreglos a traves de un bean.
El usuario tiene que ingresar dos valores y el programa
arroja los valores y la hipotenusa.
*/

package matematica;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

class Pitagoras{
//Debemos utilizar el IOException
public static void main(String[] args) throws IOException{
System.out.println("TEOREMA DE PITAGORAS");
//Definimos el array
double[] cateto=new double[2];
//Pedimos los valores por consola
InputStreamReader isr=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(isr);
for(int i=0;i
System.out.println("Ingrese cateto "+i+" ");
cateto[i]=Double.parseDouble(br.readLine());
}
//Creamos el objeto
Triangulo t=new Triangulo();
//escribimos los catetos
t.setLado(cateto);
//Leemos los catetos
cateto=t.getLado();
//Mostramos los catetos
for(int i=0;i
System.out.println("cateto "+i+" = "+cateto[i]);
}
//Referencia al método que calcula la hipotenusa
double hipotenusa=t.getHipotenusa(cateto[0],cateto[1]);
//mostramos la hipotenusa
System.out.println("La hipotenusa es "+hipotenusa);
}
}

//Este es el bean
class Triangulo{
private double[] lado;
public double[] getLado(){
return lado;
}
public void setLado(double[] _lado){
this.lado=_lado;
}
//Este método es el que calcula la hipotenusa
public double getHipotenusa(double x, double y){
return Math.sqrt(Math.pow(x,2)+Math.pow(y,2));
}
}

También se puede implementar el cálculo para hallar el área y las funciones trigonométricas, añadiéndole métodos al bean. Por ejemplo:

public double getArea(double x, double y){
return (x*y)/2; //Base por altura entre dos
}
public double getTangente(double x, double y){
/*Esto para el ángulo de elevación. Puede haber otras
formas de hallar la tangente a través de los catetos o por medio de
la clase Math.
*/

return (y/x);
}

Se puede asimismo separar el bean de los nuevos métodos creando una nueva clase y asimismo presentarlo por web en una página JSP ó trabajarlo con SWING.

Contactar con la autora o autor | Archivo | ¡Crea tu Blog Ya! Fácil y Gratis