viernes, 21 de abril de 2017

IIS en windows 10

IIS administrator en windows 10

Estuve migrando unas aplicaciones web de mi máquina de desarrollo que tenía windows 7 hacia una nueva máquina con windows 10.
La pc con windows 10 no tiene IIS configurado por default por lo que tuve que habilitarlo para poder usarlo.

Les dejo aquí los pasos para instalarlo y poder utilizarlo en sus máquinas con windows 10.

Siempre es molesto hacer estas configuraciones cuando ya tienes que empezar a programar.

Solución.

1.- Click on Menu Inicio.
2.- Busca Activar características de windows (Turn windows features on or off)
3.- Selecciona Internet Information Services como en la imagen.


4.- Click en Aceptar.

A continuación tendrán IIS disponible en Windows 10. Fácil no?

Espero les sirva.






martes, 31 de enero de 2017

Primera carga lenta en aplicación web asp.net sobre IIS

Cómo arreglar problema con primer carga lenta en aplicación web asp.net sobre IIS

Para quienes hayan trabajado con versiones de IIS 7 en adelante, si han tenido la mala fortuna de tener que probar ustedes mismos su aplicación a fondo, se habrán topado con el problema de la primera carga lenta de su aplicación web.

Imaginen que su aplicación está lista para ser presentada al cliente final con un primer login con el usuario del cliente y Kaboom! falla el primer request de login. Así que este problema no es para menospreciarse.

Encontré varias soluciones en internet pero debido a mi falta de tiempo apliqué el que me pareció mejor. Aquí abajo les dejo los pasos.

Basicamente consiste en desactivar el "idle timeout"

Deben tener cuidado si tienen problemas con la memoria del servidor ya que esta opción es utilizada precisamente para liberar memoria cuando la aplicación no ha sido utilizada en cierto tiempo. Si no tienen problemas de memoria pueden aplicarla sin problemas.

Solución.

  1. Ir a IIS Manager
  2. Seleccionar Application Pools del lado izquierdo
  3. Seleccionar la Application pool que tienes ligada a tu aplicación web.
  4. En el panel derecho Actions selecciona Advanced Settings...
  5. En la ventana Advanced Settings, pon el Idle Time-out (minutes) en cero (0)
  6. Reinicia tu Application pool en IIS
  7. Reinicia tu aplicación web en IIS


Les dejo abajo imagen.



Espero les sirva.





domingo, 29 de enero de 2017

Probar stored procedure de Oracle con cursor de salida en SQL Developer

Cómo probar stored procedure de Oracle con cursor de salida en SQL Developer.

Estuve buscando encontrar un problema de performance relacionado con el tiempo de respuesta de una aplicación en el momento de hacer login.

Dado que la aplicación es externa sólo puedo verificar del lado de la base de datos.

Para esto decidí verificar el tiempo de respuesta del stored procedure que realiza el login a la aplicación y para esto me vi en la necesidad de llamar al stored procedure directo desde SQL Developer y ver el tiempo de respuesta.

El stored procedure tiene un parámetro de salida de tipo cursor en el que devuelve los datos del usuario registrado que está intentando acceder.

Un punto importante es que el cursor el stored procedure es dinámico por lo que devuelve el resultado de un query variable. Por lo tanto no puedo usar el tipo de registro de una tabla existente (Tabla%ROWTYPE)

La clave aquí es definir el tipo de registro que devuelve el cursor dinámico. Campo por campo deben definir el nombre y tipo tal cual el cursor devuelve. Si les falta o sobra alguno, no va a jalar.

Aquí abajo en negritas la variable registro es definida como IS RECORD y cada campo definido uno por uno para poder hacer el FETCH con el cursor sin que haya problemas.

Les dejo la firma del stored:

PROCEDURE MI_STORED (p_status OUT NUMBER,pocResultado OUT PKG_MI_PAQUETE.defcursor, p_email IN VARCHAR2,p_password IN VARCHAR2)

SQL para probarlo:

SET serveroutput ON;
DECLARE
v_status NUMBER;
v_resultado sys_refcursor;
TYPE registro IS RECORD (ID NUMBER,NOMBRE VARCHAR(60));
v_registro registro;

v_email VARCHAR2(60);
v_password VARCHAR2(30);
BEGIN
v_email:='correo@correo.com';
v_password:='micontrasena';
PKG_MI_PAQUETE.MI_STORED(v_status, v_resultado, v_email, v_password);
LOOP
FETCH v_resultado INTO v_registro;
EXIT WHEN v_resultado%notfound;
dbms_output.put_line('ID   –>' || v_registro.ID);
dbms_output.put_line('Nombre –>' || v_registro.NOMBRE);
END LOOP;
END;


Espero les sirva.

jueves, 26 de enero de 2017

Ver fecha con horas y minutos en SQL Developer

Cómo ver la fecha con horas y minutos en SQL Developer

Por default, las fechas en SQL Developer vienen únicamente en formato MM/DD/YYYY o algo similar sólo mostrando mes, día y año.

Esto es un problema si estás consultando algún campo de tipo fecha con horas y minutos y necesitas visualizar esa información.

Los campos DATE generalmente guardan horas, minutos, segundos y milisegundos por lo menos.

Solución.

Para poder ver la fecha con horas y minutos al ejecutar tus consultas, realiza los siguientes pasos en SQL Developer.

Menu: Tools > Preferences > Database > NLS

Una vez ahí, edita el parámetro Date Format:

DD-MON-RR HH:MI:SS

O algún otro formato que necesites. Por ejemplo:

YYYY-MM-DD HH24:MI:SS

Con esto ya podrás ejecutar consultas y ver las fechas con horas y minutos en SQL Developer.

Espero les sirva.

miércoles, 25 de mayo de 2016

Conectar SQL Developer a una base de datos remota

Cómo conectar Oracle SQL Developer a una base de datos remota.

En ocasiones es necesario consultar una base de datos Oracle en un servidor desde tu máquina local para no tener que conectarte al servidor directamente.

Al ingresar los datos de conexión en mi Oracle SQL Developer local y hacer clic en Test, tengo el siquiente mensaje de error:

Test failed: The Network Adapter could not establish the connection

Después de verificar que mi listener está prendido y mis datos de conexión son correctos, la otra opción que me faltaba es abrir el puerto 1521 desde el firewall del servidor.

El puerto 1521 es el puerto default de Oracle para permitir conexiones a la base de datos pero como este se puede cambiar, tal vez necesiten abrir otro dependiendo de su configuración.

Para abrir el puerto 1521 en el firewall de windows en su servidor, hagan lo siguiente.

1. Ir a Start - Administrative Tools - Windows Firewall with Advanced Security

2. Seleccionar Inbound Rules - New Rule. Llenar las siguientes opciones y hacer clic en OK.

Rule Type: Port
Protocolo and Ports: TCP
Specific local ports: 1521
Action: Allow the connection
Profile: Domain, Private, Public
Name: Oracle TCP 1521 (El nombre que prefieran aquí)

3. Así deben ver la nueva Inbound Rule al seleccionarla

Propiedades de Inbound Rule

Después de esto ya podrán conectarse con SQL developer a la base de datos remota y ver Status: Success al hacer clic en el botón de Test.

Conexión SQL developer

Espero les sirva.






sábado, 16 de abril de 2016

Configurar ASP.NET 4 MVC en IIS 7

Cómo configurar ASP.NET 4 MVC en IIS 7

Este error me sale cada que intento configurar un sitio ASP.NET 4.0 MVC en IIS 7 en un nuevo servidor.

HTTP Error 403.14 - Forbidden The Web server is configured to not list the contents of this directory.

Antes de continuar deben tener instalado el framework 4.0 como requisito para desplegar esta clase de aplicaciones en IIS. Además de esto la aplicación que están configurando debe tener un application pool con framework 4 también.

Pueden checar este post para ver como cambiar el framework de un application pool en IIS:
Cambiar versión de framework de un application pool en IIS

Tengo rutas de este tipo {controler}/{action}/{id} en mi aplicación y el problema que tengo es que no me resuelve las rutas de los controladores que tengo en la aplicación web.

Lo que ahora sé es que se tiene que registrar ASP.NET 4 en IIS y para eso se tiene que ejecutar el programa para registrarlo.

El programa a ejecutar para registrar ASP.NET en IIS es aspnet_regiis.exe

Para windows 32bit (x86) lo encuentran en:
%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir

Para windows de 64bit (x64) lo encuentran en:
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir

Los números de las versiones pueden variar pero sólo usen las que tienen instaladas.

Con esto resuelvo mi problema y mis rutas de controladores se ven correctamente.

Espero les sirva.

Backup de base de datos Oracle 11g con RMAN

Como hacer un backup de base de datos con RMAN

Esta es una tarea que realizo en un periodo semanal o quincenal para tener un respaldo actualizado de la base de datos de Oracle en caso de alguna situación inesperada.

La base de datos con la que trabajo es una base de datos Oracle 11g en modo archivelog por lo que utilizo el Recovery Manager RMAN para hacer el backup.

Como saben, hay diversas formas de realizar un backup sin embargo aquí les dejo el que yo utilizo.

Este un backup básico completo no de los incrementales complicados que tienen toda la complicación propia de sólo respaldar los ultimos cambios desde el último backup.

Como mi base de datos está en modo archivelog, también hago backup de los archivelogs por lo que primero prefiero borrar los archivelogs obsoletos para no tener problemas de espacio al generar mi backup.

Les dejo aquí los comandos a utilizar desde una consola de comandos abierta en modo administrador.

C:\Users\user>RMAN TARGET /

RMAN> REPORT OBSOLETE;
RMAN> DELETE OBSOLETE;

RMAN> BACKUP DATABASE PLUS ARCHIVELOG;

Si quieren saber como levantar este backup en otro servidor chequen este otro post donde explico como hacerlo.

Cómo restaurar base de datos de Oracle con RMAN

Espero les sirva.