viernes, 28 de diciembre de 2012

Exportación Esquema Base de Datos Oracle



Exportación de un Esquema de Base de Datos:


1-      Creación de Carpeta

Crear una carpeta donde vamos almacenar la exportación del esquema de base de datos Oracle
Desde línea de comando Linux ejecutar

a)      opt$     mkdir backupora
b)      opt$     chown oracle:oinstall -R   backupora

2-      SQLdeveloper:

a)  SQL> create or replace directory export as '/opt/backupora';
b)  SQL> grant read, write on directory export to NOMBREESQUEMA;

3-      Usuario Oracle

Para definir las variables de entorno hay que iniciar sesión como usuario Oracle para ello hay que ejecutar el siguiente comando

a)      su – oracle
b)      su – Oracle
c)       depende de cómo se halla definido en la instalación, esto se puede verificar  ejecutando la siguiente línea de mando $ set

4-      Definir Variables de Entorno

a)  Instalación se refiere a la carpeta base de la instalación de Oracle
b)  La dirección de ORACLE_HOME puede cambiar dependiendo la versión de oracle instalada
c)  ORACLE_SID=orcl  ORCL es un ejemplo el SID depende de tu instalación
d)  Para verificar las variables si es que ya existen ejecutar desde línea de comando
Opt$ set

Desde línea de comando Linux ejecutar

a)  ORACLE_BASE=/Instalación/oracle
b)  export ORACLE_BASE
c)  ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
d)  export ORACLE_HOME
e)  ORACLE_PATH=$ORACLE_HOME/bin
f)  export ORACLE_PATH
g)  ORACLE_SID=orcl
h)  export ORACLE_SID



5-      Exportación

a)      Desde línea de comando ejecutamos
oracle$] cd $ORACLE_HOME
b)  Al ejecutar el comando cd $ORACLE_HOME debería llevarnos a la dirección que definimos por $ORACLE_HOME 
$ORACLE_BASE/product/11.2.0/dbhome_1
c)  Luego ejecutamos la siguiente línea de comando
oracle]$  cd bin
      
d)  Ejecutamos comando de exportación
oracle@bin]$  ./expdp esquema/passwordEsquema schemas=NOMBREESQUEMA  direcotory=backpora dumpfile=NOMBREEXPORTACION.dmp




jueves, 27 de diciembre de 2012

Cambiar la Carpeta Metadata de Moodle


La carpeta metadata de moodle siempre tiene que estar fuera del directorio www, para no poder mirar el contenido desde la url.
Para cambiar la carpeta por defecto /var/moodledata debemos modificar el archivo congif.php que se encuentra en el directorio www/moodle


$CFG->dbtype    = 'mysqli';

$CFG->dblibrary = 'native';

$CFG->dbhost    = 'ip';

$CFG->dbname    = 'nombre moodle';

$CFG->dbuser    = 'moodlechl';

$CFG->dbpass    = 'moodlechl';

$CFG->prefix    = 'mdl_';

$CFG->dboptions = array (

  'dbpersist' => 0,

  'dbsocket' => 0,

);



$CFG->wwwroot   = 'http://ip/moodlechl';

$CFG->dataroot  = '/var/moodledata';

$CFG->admin     = 'admin';


obviamente que el contenido, del moodledata anterior tiene que ser copiando en la nueva carpeta de moodledata,


jueves, 20 de diciembre de 2012

java.lang.OutOfMemoryError Jboss 4.2.3.ga

Bueno al igual que OC4J hay que aumentar la memoria del servidor de aplicación en jboss es exactamente lo mismo, solo que en un archivo, la ruta del archivo es la siguiente

- jboss/bin/run.conf   (antes de estos, Obviamente tenemos que bajar los servicios =D  )

ahora tenemos que editar el siguiente comando
if [ "x$JAVA_OPTS" = "x" ]; then
   JAVA_OPTS="-Xms128m -Xmx2048m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"
fi
Xms128m       : minimo
Xmx2048m     : maximo (debemos de aumentar)

hay veces en la cual usamos mucha memoria en nuestras variables de java, y no la liberamos
antes de aumentar la memoria (XMS y XMX), prueba reiniciando jboss y si el error desaparece, procura liberar la memoria en tus variables y no aumentar la memoria disponible para java.

miércoles, 19 de diciembre de 2012

INSERT CLOB ORACLE

import oracle.sql.CLOB;
import java.sql.PreparedStatement;


 CLOB tempClob = null;
 String texto = "texto muy muy muy largo"; 
 Connection cnx = conexionBD.getConexion();

 String strSQL = "insert into tabla values (?,?,?,?,?,?)";
 PreparedStatement ps = cnx.prepareStatement(strSQL);
      tempClob = CLOB.createTemporary(cnx, true,   CLOB.DURATION_SESSION);

 tempClob.open(CLOB.MODE_READWRITE);
 Writer tempClobWriter = tempClob.getCharacterOutputStream();
 tempClobWriter.write(texto);
 tempClobWriter.flush();
 tempClobWriter.close();
 tempClob.close();

 ps.setInt(1, maxId);
 ps.setInt(2, siteIdCliente);
 ps.setString(3, nombreReporteAdd );
 ps.setString(4, comentarioReporteAdd );
 ps.setClob(5, tempClob);
 ps.setString(6, categoriaReporteAdd );
 ps.execute();
 cnx.close();
 ps.close();

jueves, 13 de diciembre de 2012

java.lang.OutOfMemoryError OC4J

500 Internal Server Error 
 java.lang.OutOfMemoryError

Para Aumentar la Memoria en OC4J

1. Detener Instancia OC4J
2. Cambiar Opciones de java
-Xrs -server -Djava.security.policy=$ORACLE_HOME/j2ee/home/config/java2.policy -Djava.awt.headless=true
por
-Xrs -server -Djava.security.policy=$ORACLE_HOME/j2ee/home/config/java2.policy -Djava.awt.headless=true -Xms512m -Xmx512m
3. Levantar Instancia OC4J


miércoles, 12 de diciembre de 2012

resetFileTransaction (OC4J)

Español
Fallo al desplegar la aplicación Web "XXXXX". Fallo al desplegar la aplicación Web "XXXXX". . Hay otra operación en curso que evita que la operación termine en este momento. Vuelva a intentar esta operación más tarde. Resolución:: Si está utilizando un repositorio basado en archivos y no hay ninguna otra operación simultánea, utilice el comando resetFileTransaction de la utilidad dcmctl para limpiar cualquier operación del repositorio basada en archivos que haya terminado de forma anormal.

Ingles
Failed to deploy web application "XXXXXX". Failed to deploy web application "XXXXX". . Another ongoing operation prevents the operation ends at this point. Retry the operation later. Resolution :: If you are using a file-based repository and no other simultaneous operation, use the dcmctl utility resetFileTransaction to clean any operation of file-based repository that has terminated abnormally. Solución:
1.opmnctl: stopping
2.Desde línea de comandos cmd ejecutar   HOMESERVER\dcm\bin> dcmctl resetfiletransaction
3.opmnctl:  startall

martes, 11 de diciembre de 2012

CLOB to String JAVA

Para poder Transformar una columna CLOB en STRING debemos hacer lo siguiente
String strSQL = "select CLOBCOLUMN from TABLE where id=1"
Statement stmt = Cnx.createStatement();
rs = stmt.executeQuery(strSQL);

while(rs.next()){

  Clob clob = rs.getClob(1);  
  
   if (clob != null) {
     if ((int) clob.length() > 0) {  
        query = clob.getSubString(1, (int) clob.length());  
       
     }  
  }
}

System.out.println(query);

miércoles, 28 de noviembre de 2012

sábado, 3 de noviembre de 2012

Toad DBA Suite for Oracle 10.6.1 Commercial

Toad Versión 10.6.1 Comercial para Oracle

Mediafire: Parte 1 Parte 2 Parte 3 Parte 4 Parte 5 -->

jueves, 25 de octubre de 2012

Windows 98 Virtual PC

Aquí les dejo Windows 98 en una Maquina Virtual, no necesita serial ni nada

Windows 98 Virtual Machine (.vmc)(.vhd)
Parte 1

Windows 98 (ISO)
Parte 1
Parte 2

Diskette de Arranque
Descargar

Consulta SQL por Segmentos

El segmento de consulta sirve cuando la cantidad de datos son demasiados, y debemos separarlos por tramos
el siguiente ejemplo es un extracto de una consulta SQL para poder segmentar la consulta

SELECT last_name FROM 
   (SELECT last_name, ROW_NUMBER() OVER (ORDER BY last_name) R FROM employees) 
WHERE R BETWEEN 51 and 100;

Una de las formas en las cuales tuve que hacer la consulta SQL fue de la siguiente manera

SELECT last_name FROM 
   (SELECT last_name, ROW_NUMBER() OVER (ORDER BY last_name) R FROM employees) 
WHERE R BETWEEN '&Ingrese_Rango_Inicial' and '&Ingrese_Rango_Final';

-->

miércoles, 24 de octubre de 2012

Edición en Caliente en Java Jboss 42.3.GA

Como editar la vista de una aplicación que ya esta corriendo o en caliente.

1.- debemos detener el servidor de Aplicación Jboss 4.2.3.ga
2.- posteriormente vamos a donde tenemos el EAR de nuestra aplicación jboos.4.2.3.ga/server/default/deploy
3.- luego creamos una carpeta llamada igual que nuestra aplicación  si nuestra aplicación se llama aplicacion.ear, entonces debemos crear una carpeta llamada aplicacion.ear
4.- ponemos nuestra aplicacion.ear en la carpeta creada aplicacion.ear
5.- descomprimimos nuestro archivo EAR dentro de la carpeta aplicacion.ear y eliminamos el archivo llamado aplicacion.ear
6.- hacer lo mismo con los archivos .WAR que se encuentran dentro del .EAR
     Ejemplo si dentro de nuestro EAR existe un archivo llamado modulo.war, debemos crear una carpeta llamada modulo.war ponemos nuestro archivo modulo.war dentro de la carpeta modulo.war.
una vez que tengamos el archivo dentro de nuestra carpeta, debemos descomprimir el archivo modulo.war
y posteriormente eliminar el archivo modulo.war 
7.- Levantamos jboos y ya podemos editar las vistas de nuestra aplicación

explicación breve:

  • si fue muy enredada la explicación, lo que tienen que hacer es crear carpetas con los mismos nombres de los archivos .EAR y .WAR  incluyendo la extensión ejemplo nombre del archivo ( aplicacion.ear ) nombre de la carpeta( aplicacion.ear ).
  • introducir los archivos a sus carpetas correspondientes, descomprimir y eliminar los archivos descomprimidos
  • levantar jboss
  • editar las vistas
  • actualizar browser

lunes, 22 de octubre de 2012

Codigo Linux

Jboss
> /usr/local/jboss/bin/shutdown.sh -S

Probar si no se mantiene corriendo
> ps -fea | grep run.sh

Levantar Jboss
> nohup /usr/local/jboss/bin/run.sh -b 0.0.0.0 > /dev/null &

Mover un archivo
mv /home/bibliaubuntu/fichero.txt /tmp






jueves, 18 de octubre de 2012

Varias Instancias de Jboss 4.2.3.GA

En este Post vamos a explicar como podemos instanciar más de una vez a Jboss 4.2.3.GA

Primero

C://jboss-4.2.3.GA/server  copiaremos y pegaremos la carpeta default que se encuentra ahí adentro quedándonos así:

  1. all
  2. default
  3. default - copia (Cambiamos el nombre por prueba)
  4. minimal

deben hacer una copia de la configuración que desean, en este ejemplo usaremos la configuración default, pero si ustedes quieren la máxima configuración deben usar la carpeta all

Los XML que hay que editar son los siguientes

service-config name Initial Port Modified Port Direccion
jboss:service=Naming 1099 11099 server\prueba\conf\conf\jboss-minimal.xml
<attribute name="Port"> 8083 18083 server\prueba\conf\jboss-service.xml
NamingService 1099 11099 server\prueba\conf\jboss-service.xml
1098 11098 server\prueba\conf\jboss-service.xml
RMIObjectPort 4444 14444 server\prueba\conf\jboss-service.xml
ServerBindPort 4445 14445 server\prueba\conf\jboss-service.xml
serverBindPort 14446 4446 server\prueba\conf\jboss-service.xml
jboss:service=invoker 4446 14446 server\prueba\conf\jboss-service.xml
RmiPort 1098 11098 server\prueba\conf\conf\jboss-minimal.xml
<Connector  8009 18009 server\prueba\deploy\jboss-web.deployer\server.xml
<Connector 8080 8081 server\prueba\deploy\jboss-web.deployer\server.xml
redirectPort 8443 18443 server\prueba\deploy\jboss-web.deployer\server.xml
ServerBindPort 8093 18093 server\prueba\deploy\jms\uil2-service.xml
InvokerLocator 3873 13873 deploy\ejb3.deployer\META-INF\jboss-service.xml
Segundo


Como levantar los dos servidores de aplicación


Primero :  C://jboss-4.2.3.GA  hacemos click derecho presionando la tecla shift sobre la carpeta bin y seleccionamos la opción abrir ventana de comando aquí



en CMD escribimos "run.bat -c prueba"


El resultado de la imagen muestra que no hubo ningún problema para levantar el servidor de aplicaciones.
la direccion es locahost:8081 (recordar que el 8081 viene de los cambios que hicimos en los archivos xml)


Ahora sin cerrar absolutamente nada, repetiremos los pasos, Jboss-4.2.3.ga y hacemos click derecho presionando la tecla shift sobre la carpeta bin y seleccionamos la opción abrir ventana de comando aquí y en la consola CMD escribimos  "run.bat -c default"



Ahí tenemos las dos instancias de jboss (prueba y default) corriendo en la misma maquina, ahora abriremos el browser para comprobar

Posibles Errores :



Siempre los errores de "bind" son errores de puertos, osea que la aplicación esta tratando de acceder a un puerto que ya esta siendo utilizado

Ahora para solucionar este problema vamos a cerrar todos los programas y desconectarnos de Internet (solo para facilitar el trabajo)

  • Iniciaremos Jboos.4.2.3.ga "default"  (Jboss-4.2.3.ga y hacemos click derecho presionando la tecla shift sobre la carpeta bin y seleccionamos la opción abrir ventana de comando aquí y en la consola CMD escribimos el siguiente comando "run.bat -c default")
  • después Inicio/ejecutar/cmd ahí escribimos "netstat -ano" esto nos entregara todos los puertos que están siendo utilizados
  • Copiamos todo el registro que nos entregue el comando netstat en un editor de texto
  • Cerramos jboos 4.2.3.ga en estado default y abrimos jboos 4.2.3.ga en estado prueba (supongo que a esta altura no hay que explicar eso)
  • vamos nuevamente a inicio/ejecutar/cmd y nuevamente  "netstat -ano"  y  copiamos todo el registro que nos entregue la linea de comando en otra pestaña del editor de texto
  • ahora a comparar el puerto que esta siendo ocupado por las dos instancias de jboss
  • cambiar el puerto en el archivo XML que corresponde


deben de ponerle ojo solo a las direcciones ip 127.0.0.1:2554 las 0.0.0.0 y otros son de otro programas recordar que la direccion ip es la 127.0.0.1 : puerto

-->

martes, 16 de octubre de 2012

Emulador de Browser

Multi-Browser Viewer:





Multi-Browser Viewer: Download


IE Tab

Es sin duda una gran herramienta para desarrolladores web, ya que te permite comprobar fácilmente como se muestra tu página en IE con un solo clic, solo funciona con Mozilla debido a que es un pluggins de este browser

IE Tab : Download

martes, 17 de julio de 2012

Configuración de SVN


1.1 Instalación 



Para conectarse al servidor Subversión desde una plataforma Windows podemos utilizar la herramienta SHH.
Para una conexión exitosa debemos conocer algunos datos específicos del servidor
Como por ejemplo:

1.- Host Name
              2.- User Name
              3.- Port Number

En caso de no conocer estos datos, deben ser entregados por tu administrador de red o tu jefe de proyecto



            En el Botón “Quick Connect” se Introducen los datos para poder establecer la conexión con el servidor Sub-Versión


Posteriormente al introducir los datos correctamente, aparecerá otra pantalla lo cual nos pedirá una contraseña, de lo contrario te conectaras inmediatamente.
En nuestro caso existe una contraseña, lo cual debemos ingresarla.





Una vez ingresada la contraseña deberíamos ver una pantalla muy similar a la siguiente figura, obviamente debemos aclarar que las carpetas no necesariamente deben ser las mismas.

Una vez que veamos una pantalla similar a esta debemos ir al mando de consola (Nuevo Terminal Windows), para poder crear una nueva carpeta para nuestro nuevo proyecto.




Cuando veamos esta consola quiere decir que ya estamos conectados al servidor sub-versión para poder crea nuestro repositorios.



1.2 Crear un Cliente y un Proyecto


Primero debemos posicionarnos en la carpeta SVN de nuestro servidor, para ello debemos aplicar unos comandos de consola para ir a nuestra carpeta SVN.
            Nuestra aplicación SSH nos aparece en [root@arquitectura ~]# por defecto, lo cual nosotros tenemos que ir a la carpeta /var/www/svn, los comando para llegar a nuestra carpeta son los siguientes:

[root@arquitectura ~]# cd ..
[root@arquitectura /]#  ls
bin   dev  home  lib64       media  mnt  opt   root  selinux  sys  usr
boot  etc  lib   lost+found  misc   net  proc  sbin  srv      tmp  var
[root@arquitectura /]# cd var
[root@arquitectura var]# ls
account  cvs    ftp    gpi    lock  nis       run    webmin
cache    db     games  lib    log   opt       spool  www
crash    empty  gdm    local  mail  preserve  tmp    yp
[root@arquitectura var]# cd www
[root@arquitectura www]# ls
bug      error  icons            manual            phpmyadmin  usage
cgi-bin  html   mantisbt-1.2.10  mediawiki-1.19.0  svn
[root@arquitectura www]# cd svn
[root@arquitectura svn]# ls
Cliente1, cliente 2, cliente 3


Para crea una carpeta de nuestro cliente, recuerda que tienes que estar posicionado en la carpeta [root@arquitectura svn]# y escribir el siguiente comando

-       [root@arquitectura svn]# mkdir nombreDelCliente


Ahora que ya tenemos nuestro cliente Sura creado, le crearemos un proyecto, en nuestro ejemplo el proyecto se llamara Control Derivados

-       [root@arquitectura svn]# svnadmin create /var/www/svn/cliente/proyecto

Bueno ya que tenemos nuestro  Cliente y nuestro proyecto creado, ahora vamos a modificar nuestro alias de “Apache”

-       [root@arquitectura svn]# vi /etc/httpd/conf.d/subversion.conf

Vi es el comando que nos servirá para poder editar el archivo subversión.cong, recuerda que para poder ver el  contenido del archivo debes descender en la consola, con las flechas ↓ del teclado, no con la barra deslizadora ni con el SCROLL del mouse.
            Cuando te encuentres al final del archivo subversión.cong debieras visualizar algo parecido a esto

<Location /svn/cliente/proyecto>
        DAV svn
        SVNPath /var/www/svn/cliente/proyecto
        AuthType Basic
        AuthName "Repositorio Time Track"
        AuthUserFile /etc/svn-auth-conf
        Require valid-user
</Location>


Obviamente el código anterior es un extracto de lo que puede llegar a hacer el archivo en general.
El código  nos indica que existe un cliente llamado LAN y con un proyecto llamado “ilearningsql”, para agregar nuestro proyecto sura/controlderivados debemos copiar el extracto y remplazarlo por nuestros datos, en nuestro ejemplo el extracto del código seria el siguiente


<Location /svn/cliente/proyecto>
        DAV svn
        SVNPath /var/www/svn/cliente/proyecto
        AuthType Basic
        AuthName "Repositorio Time Track"
        AuthUserFile /etc/svn-auth-conf
        Require valid-user
</Location>

Este extracto de código debemos agregarlo al final del archivo subversión.cong lo cual nuestro archivo debiera quedar de esta forma

<Location /svn/cliente/proyecto>
        DAV svn
        SVNPath /var/www/svn/cliente/proyecto
        AuthType Basic
        AuthName "Repositorio Time Track"
        AuthUserFile /etc/svn-auth-conf
        Require valid-user
</Location>
<Location /svn/cliente/proyecto>
        DAV svn
        SVNPath /var/www/svn/cliente/proyecto
        AuthType Basic
        AuthName "Repositorio Time Track"
        AuthUserFile /etc/svn-auth-conf
        Require valid-user
</Location>

Para salir del editor debes de guardar los cambios (:wq), en caso que erróneamente escribas algo inadecuado o quieres deshacer los cambien, están los siguientes códigos que te pueden ser muy útil.

Comando
Descripción
:q
Salir del editor (sin guardar la información)
:q!
Obliga al editor a cerrarse sin guardar la información (incluso si se realizaron cambios en el documento)
:wq
Guarda el documento y cierra el editor
:filenombre
Guarda el documento con el nombre especifica

Ahora le daremos propiedades de solo lectura a nuestro nuevo proyecto, esto lo hacemos con el siguiente comando

-       [root@arquitectura]# chown -R apache.apache /var/www/svn/cliente/proyecto

Para que Apache tome los cambios realizados debemos reiniciar el servidor, esto lo hacemos de la siguiente manera

-       [root@arquitectura]# service httpd restart

El Mensaje debería ser el siguiente:

Parando httpd:                                                                                                                                                                                                                              [  OK  ]
Iniciando httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName             [  OK  ]




1.3   Rol de Usuarios


Sub-Versión cuenta con la propiedad de restringir el acceso a nuestros repositorios, el método más sencillo de configuración es el siguiente:

Primero: Debemos crear un fichero, para definir los usuarios y a qué proyectos pueden acceder, para crear un fichero debemos ir a la dirección /var/www  cuando estemos en este directorio, creamos un archivo de texto plano, este archivo lo podemos crear con la siguiente línea de comando

[root@arquitectura]# > svn_access_control   (donde svn_access_control es el nombre del archive, lo puedes cambiar por el que más te acomode)

Segundo: Ya que tenemos nuestro archivo creado, necesitamos editarlo y agregar nuestros proyectos y usuarios, el archivo lo editamos de la siguiente manera
    [root@arquitectura svn]# vi /var/www/ svn_access_control
Presionando la tecla S, activas el modo para editar el archive de texto. En el archivo de texto debemos agregar las siguientes características:

[groups]
Grupo1 = usuario1, usuario2
Admin = usuario3, usuario4

[migracionmi:/]
@Grupo1 = rw

[/]
@Admin = rw

Nota:
1.    Grupo 1 puede entrar solo al repositorio migracionmi ósea los usuarios (usuario1 y usuario2)
2.    [migracionmi:/]  es el repositorio que creaste con el comando  svnadmin create /var/www/svn/cliente/migracionmi
3.    @Admin = rw  es el comando para que los usuarios tengan permiso a todos los repositorios, en nuestro ejemplo (usuario3 y usuario4 pueden acceder a todos los repositorios)
4.    R = lectura y W= escritura RW= Permiso de lectura y Escritura



Tercero: Ahora tenemos que editar el archivo subversión.cong e indicarle que existe un archivo de acceso a repositorio en nuestro ejemplo anterior habíamos visto como editar el archivo subversión.cong lo cual lo editamos de la siguiente manera

-       [root@arquitectura svn]# vi /etc/httpd/conf.d/subversion.conf

Una vez que estemos en el archivo veremos el siguiente código

<Location /svn/cliente/migracionmi>
        DAV svn
        SVNPath /var/www/svn/cliente/migracionmi
        AuthType Basic
        AuthName "Repositorio Time Track"
        AuthUserFile /etc/svn-auth-conf
        Require valid-user
</Location>

Nota: esto es un extracto del archivo original
Ahora debemos especificarle al archivo subversión.cong que existe un archivo de acceso de usuarios, este parámetro se le agrega de la siguiente manera


<Location /svn/cliente/migracionmi>
        DAV svn
        SVNPath /var/www/svn/cliente/migracionmi
        AuthType Basic
        AuthName "Repositorio Time Track"
        AuthUserFile /etc/svn-auth-conf
        AuthzSVNAccessFile /var/www/svn_access_control
       Require valid-user
</Location>

Una vez ya modificado el archivo guardamos los cambios con el comando: wq y listo, ya tenemos nuestro repositorios protegidos
Recuerda reiniciar el servidor apache para que reconozca los cambios
-       [root@arquitectura www]# service httpd restart