domingo, 5 de febrero de 2023

Script para ver los jobs en ORACLE

El siguiente script le permitirá ver los jobs programados en Oracle. Se basa en una consulta a la vista dba_jobs para lo cual debe tener privilegios de consulta

VERJOBS.SQL
column job format 99999
column schema format a15
column fail format 999
set pages 100
set line 200
select job, substr(SCHEMA_USER,1,12) schema,
       substr(TO_CHAR(NEXT_DATE,'DAY DD-MON-YY'),1,19) Next_Day, 
       NEXT_SEC, BROKEN b,
       FAILURES fail, substr(what,1,15) what, 
       decode(SUBSTR(INTERVAL,30,30),null,SUBSTR(INTERVAL,1,30),
                 SUBSTR(INTERVAL,30,30)) INTERVAL
from dba_jobs
ORDER BY NEXT_DATE, NEXT_SEC
/

El resultado es algo similar a:

SQL> @VERJOBS.SQL
JOB SCHEMA    NEXT_DAY            NEXT_SEC B FAIL WHAT               INTERVAL
--- --------- ------------------- -------- - ---- ------------------ --------------------
21  RUNNER    MONDAY    02-NOV-09 13:24:58 N    0 SCHEMA.SP_JOB_0001 sysdate + 1 / (24 * 60)

1 row selected.
Compartir:

sábado, 4 de febrero de 2023

ArrayList. Mostrar los elementos de una colección. (07.03.02)

En el ejemplo crearemos una lista del mercado y mostraremos sus elementos.
- Primero se importan las librerías de java.util.* donde se concentran la gran mayoría de las Clases del "Collection Framework".
- Se inicia la declaración de la clase seguido de su método principal main.
- Se definen 5 instancias con el constructor de la clase Producto.
- Agregamos estas instancias al ArrayList con el método add
- Mostramos el número de objetos de la colección mediante el método size.
- Se declara una instancia Iterator la cual facilita la extracción de objetos de la colección.
- Se extrae los objetos del ArrayList y se muestran en pantalla.
- Se elimina el objeto con indice 2. Se muestra la lista nuevamente.
- Se eliminan todos los objetos mediante el método clear.


Producto.java
public class Producto {
private String nombre;
private int cantidad;
public Producto(String s, int i) {
nombre = s;
cantidad = i;
}

public String toString(){
return ("Nombre: "+nombre+" Cantidad: "+cantidad);
}

public String getNombre() {
return this.nombre;
}
}

import java.util.*;
public class MercadoLista
{
public static void main(String args[])
{
// Definir 5 instancias de la Clase Producto
Producto pan = new Producto("Pan", 6);
Producto leche = new Producto("Leche", 2);
Producto manzanas = new Producto("Manzanas", 5);
Producto brocoli = new Producto("Brocoli", 2);
Producto carne = new Producto("Carne", 2);

// Definir un ArrayList
ArrayList lista = new ArrayList();

// Colocar Instancias de Producto en ArrayList
lista.add(pan);
lista.add(leche);
lista.add(manzanas);
lista.add(brocoli);
// Las listas inician en 0 (Cero)
// Indica el indice de insercion
lista.add(1, carne);
lista.add(carne);

// Imprimir contenido de ArrayLists
System.out.println(" Lista del mercado con " + lista.size() +
" productos");

// Definir Iterator para extraer e imprimir sus valores

Iterator it = lista.iterator();
while ( it.hasNext() ) {
Object objeto = it.next();
Producto producto = (Producto)objeto;
System.out.println(producto);
}

// Eliminar elemento de ArrayList
lista.remove(2);
System.out.println(" Lista del mercado con " + lista.size() +
" productos");
// Definir Iterator para extraer e imprimir valores

Iterator it2 = lista.iterator();
while ( it2.hasNext() ) {
Producto producto = (Producto)it2.next();
System.out.println(producto);
}

// Eliminar todos los valores del ArrayList
lista.clear();
System.out.println(" Lista del mercado con " + lista.size() +
" productos");
}
}
Compartir:

viernes, 3 de febrero de 2023

Como Crear certificados SSL para Apache

Paso 1: Generar el par de llaves
La utilidad “openssl” se utiliza para generar la llave privada y el CSR. Esta utilidad viene con el paquete OpenSSL y se suele instalar en /usr/local/ssl/bin. Si usted los ha instalado en otros lugares tendrá que ajustar estas instrucciones adecuadamente.
A continuación ejecute el siguiente comando:

openssl genrsa -des3 -out www.mydomain.com.key 2048

Por ejemplo:



• Este comando genera una llave privada RSA de 2048 bits y la almacena en el archivo www.mydomain.com.key
• Nota: Para todos los certificados SSL, la longitud de la llave CSR debe ser de 2048 bits.
• Cuando se le solicite una frase secreta (pass phrase), por favor ingrese una frase segura y fácil de recordar, ya que esta frase de paso es la que protege la llave privada. La llave privada y el certificado son requeridos para habilitar SSL.
• NOTA: Para omitir el requisito de frase de paso, omita la opción des3 al generar la llave privada. Si no desea proteger su llave privada con una frase de paso (sólo si es absolutamente la confianza que la máquina servidor, y está seguro de que los permisos son cuidadosamente establecidos), puede dejar de lado la opción anterior -des3. También omita la opción -des3 si está ejecutando Apache en Windows, ya que no funciona en Windows.

Paso2: Generar un CSR

2.1 Escriba el siguiente comando en el sistema:

openssl req –new –key www.mydomain.com.key –out www.mydomain.com.csr

Por ejemplo:


Nota: Si usted está utilizando OpenSSL en Windows, puede que tenga que especificar la ruta de openssl.cnf como las siguiente: openssl req –new –key .key -config “c:\Apache Software Foundation\Apache2.2\conf\openssl.cnf” –out .csr

2.2 Este comando le solicitará que ingrese los siguientes atributos para el certificado:


Nombre del campoExplicaciónEjemplo
Country Name (C)Es el nombre del país. Use el código de dos letras sin puntuacion para el país.PE
State or Province (S)Es el estado o Provincia, no abrevie el nombre del estado o provinciaLima
Locality or City (L)Es el campo de localidad o ciudad.Lima
Company (O)Aquí debe de escribir el nombre se su empresa, este nombre debe de coincidir con el nombre que figura en la Constitucion de la Empresa. Si su empresa o departamento tiene un &, @, o cualquier otro símbolo con la tecla de mayúsculas en su nombre, debe omitirlo para poder inscribirse.Mi Company CA
Organization Unit (OU)Este campo es la unidad organizativa, se utiliza para ayudar a identificar los certificados de registro a una organización. La unidad organizativa, es el nombre de la unidad o departamento que realiza la solicitud. Para saltar este campo, pulse Intro en el teclado.Sistemas
Common name (CN)El common name o nombre común se compone de HOST + DOMINIO. Aquí escriba el nombre de dominio o subdominio completo del sitio que se está asegurando.www.company.como
mail.company.com

Asegúrese de que esta información es la correcta para la Organización ya que es la que se reflejará en su certificado.
A continuación se muestra un ejemplo del llenado de los atributos en el servidor:


Los certificados Verisign y/o Thawte sólo pueden ser utilizados en los servidores con el common name que se especifica en el CSR. Por ejemplo un certificado para “dominio.com” recibirá una alerta si accede a un sitio www.dominio.com o seguro.dominio.com, porque www.dominio.com y seguro.dominio.com son diferentes de “dominio.com”.
No ingrese direcciones de email, la frase secreta o nombres opcionales de la compañía cuando genere el CSR.
En este momento usted ha creado un par de llaves publica/privada.
• La llave privada (www.mydomain.com.key) esta guardada en el servidor de máquina local y es utilizada para descifrar.guarde este archivo en un lugar seguro y no lo divulgue por ningún motivo. Ni Verisign Inc y Ni Thawte Inc solicitarán el envío de la llave privada.
• La llave publica, CSR (certrequest.csr) se utilizará para solicititar el certificado.Este es el archivo necesario enviar al Proveedor  de Certificados para la inscripción del certificado.
2.3 Para copiar y pegar la información del CSR en el enrolamiento, usted debe abrir el archivo con un editor de texto (Notepad, Vi) y guardarlo como un archivo *.txt. No utilice Microsoft Word ya que puede adicionar caracteres ocultos que pueden alterar el contenido del CSR.
Nota: La generación de la llave privada (Private key) con la frase de paso (pass phrase), significa que la misma frase de paso (pass phrase) tendrá que ser introducida después de reiniciar el servidor.
Paso 3: Respalde la llave privada
Se recomienda que la llave privada sea respaldada junto con la frase secreta. Una buena opción es crear una copia de este archivo en un diskette, cd, Pendrive o algún dispositivo de almacenamiento removible. Esta clave privada puede ser útil tenerla en caso de falla del servidor.

Durante el proceso de verificación es posible que la Entidad Certificadora (VeriSign y/o Thawte) tenga que ponerse en contacto con su organización. Asegúrese de entregar una dirección de correo electrónico, número de teléfono y número de fax correctos, estos datos se verificarán y no son parte del certificado.
Ayudas
A continuación le mostramos otro ejemplo de cómo deben de ser llenados los campos atributos:

A continuación se muestra una captura de pantalla del CSR.


Se recomienda utilizar las últimas versiones de Apache, mod_ssl y OpenSSL. La distribución de archivos comprimidos se puede encontrar en los siguientes lugares:

http://www.apache.org/dist/
http://www.modssl.org/source/
http://www.openssl.org/source/

Asimismo, las instrucciones detalladas para la instalación se pueden encontrar en los archivos de instalación en los tres paquetes.

La utilidad (OpenSSL) que se utiliza para generar la clave privada RSA (private key) y la solicitud de firma de certificado (CSR) viene con OpenSSL y generalmente se instala en el directorio SSL_BASE/bin where SSL_BASE es la ruta especificada para la construcción de Apache + mod_ssl ya sea con la opción -openssl o la variable SSL_BASE.

Compartir:

Ejercicios sobre Ciclos WHILE FOR en Java (01.05.07)

Ejercicio 1
Mostrar la conversión de 1 hasta 10 dólares en pesos, dólar tras dólar, suponiendo que el tipo de cambio es 3.50 pesos/dolar.

C:\java>notepad Cambio.java

public class Cambio {

public static void main(String[] args) {
int dolar = 1;
while (dolar<=10) {
System.out.println(dolar +" dolares = " + dolar*3.5 +" pesos");
dolar++;
}
}
}


Ejercicio 2
Una persona desea invertir $1000.00 en un banco, el cual le otorga un 2% de interés mensual. Cual será la cantidad de dinero que esta persona tendrá al cabo de un año si todo el dinero lo reinvierte?.

public class Interes {
public static void main(String[] args) {
double dinero = 1000;
int mes = 1;

while (mes<=12) {
dinero = dinero * 1.02;
mes++;
}
System.out.println(dinero);
}
}

Ejercicio 3
Simular el comportamiento de un reloj digital, imprimiendo la hora, minutos y segundos de un día desde las 00:00:00 horas hasta las 23:59:59 horas

public class Reloj {
public static void main(String[] args) {
for (int h=0; h <= 23; h++)
for (int m=0; m <= 59; m++)
for (int s=0; s <= 59; s++)
System.out.println(h +"h "+ m +"m "+ s+"s");
}
}

Ejercicio 4
Una persona desea invertir $1000.00 en un banco, el cual le otorga un 2% de interés mensual. En cuantos meses tendrá mas de $1500, si reinvierte cada mes todo su dinero?.

public class Dinero {
public static void main(String[] args) {
double dinero = 1000;
int mes = 1;
for (;;) {
dinero = dinero * 1.02;
if (dinero >= 1500) break;
mes++;
}
System.out.println(mes);
System.out.println(dinero);
}
}
Compartir:

80. Actividades para el manejo de un incidente - Operación del Servicio ITIL V3

¿Cuál de las siguientes es la secuencia CORRECTA de las actividades para el manejo de un incidente?

Identificación, Registro, Categorización, Determinación de la Prioridad, Diagnóstico Inicial, Escalación Funcional, Diagnóstico de la Investigación, Recuperación de la Resolución, Cierre. (respuesta)

Identificación, Determinación de la Prioridad, Registro, Clasificación, Diagnóstico Inicial, Escalación Funcional, Diagnóstico de la Investigación, Recuperación de la Resolución, Cierre.

Identificación,Registro, Diagnóstico Inicial, Clasificación, Determinación de la Prioridad, Escalación Funcional, Diagnóstico de la Investigación, Recuperación de la Resolución, Cierre.

Identificación, Investigación, Registro, Clasificación, Escalación Funcional, Determinación de la prioridad, Diagnóstico Inicial, Recuperación de la Resolución, Cierre.

N/A
Compartir:

jueves, 3 de septiembre de 2015

[RESUELTO] invoker: No puedo reservar espacio para instancia de servlet para trayectoria /servlet/

Si te aparece este mensaje en el log del JBoss

"Cannot allocate servlet instance for path /examples/servlet/server"
"No puedo reservar espacio para instancia de servlet para trayectoria /servlet/"

LOG:

2015-09-03 14:55:56,857 INFO [org.jboss.bootstrap.microcontainer.ServerImpl] (main) JBoss (Microcontainer) [5.1.0 (build: SVNTag=JBPAPP_5_1_0 date=201009150028)] Started in 3m:1s:90ms
2015-09-03 15:00:03,653 INFO [org.apache.catalina.core.ContainerBase.[jboss.web].[ ].[/]] (ajp-192.168.250.120-8009-1) Marcando el servlet org.apache.catalina.INVOKER. como no disponible
2015-09-03 15:00:03,655 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[ ].[/]] (ajp-192.168.250.120-8009-1) invoker: No puedo reservar espacio para instancia de servlet para trayectoria /servlet/
javax.servlet.ServletException: Error instanciando clase de servlet
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1022)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:777)
at org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:361)
at org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:134)


Es porque el war no ha generado las clases en la carpeta /classes/ del mismo war.

Para corregirlo ubiquese en Project/Properties/Java Build Path/Order and Export/ y asegurese que primero se encuentre el JRE (java)

Compartir: