3/29/2011

3/26/2011


Crear componentes en tiempo de ejecución runtime - VB.Net
Lenguaje de programación Visual Basic .Net


Os mostramos un ejemplo sobre cómo crear componentes en tiempo de ejecución (en runtime) con Visual Basic .Net VB.Net de Microsoft Visual Studio 2010. En el ejemplo creamos un componente de tipo ListView que, además, agregamos a una pestaña (TabPage) de un componente TabControl.

'Declaramos "lsResultado" de tipo ListView
  Dim lsResultado As New ListView
  
  'Esto no es necesario porque al crear un ListView no tiene columnas
  lsResultado.Columns.Clear()
  'Esto tampoco es necesario
  lsResultado.Items.Clear()

  'Añadimos las columnas que queramos al ListView
  lsResultado.Columns.Add(New ColHeader("Nombre", 300, HorizontalAlignment.Left, True))
  lsResultado.Columns.Add(New ColHeader("Tipo", 100, HorizontalAlignment.Left, True))
  lsResultado.View = View.Details

  'Declaremos los elementos del ListView, para agregarle los datos
  Dim elementoLista As New ListViewItem
  elementoLista = New ListViewItem("Proyecto AjpdSoft")
  elementoLista.SubItems.Add("Página web código fuente Visual Basic")

  'Establecemos las propiedades del ListView antes de mostrarlo:
  'ancho, alto, posición inicial, tipo de alineación, etc.
  lsResultado.Width = tabResultado.Width - 3 'ancho  
  lsResultado.Height = tabResultado.Height - 25 'alto  
  lsResultado.Top = tabResultado.Top ' Posición Top y Left  
  lsResultado.Anchor = AnchorStyles.Left Or AnchorStyles.Top Or
      AnchorStyles.Bottom Or AnchorStyles.Right
  lsResultado.GridLines = True
  lsResultado.FullRowSelect = True
  lsResultado.Visible = True

  'Agregamos el ListView a la pestaña (TabPage) "tabResultado" del
  'componente TabControl
  tabResultado.Controls.Add(lsResultado)
  ...
Notas importantes:
* tabResultado es un TabPage (una pestaña) de un componente TabControl, será la página donde aparecerá el ListView creado en tiempo de ejecución.
* Para la propiedad "Anchor" del ListView establecemos que si su contenedor (TabControl) crece hacia abajo o hacia la derecha, el ListView también crecerá adaptándose a su contenedor más cercano tabResultado.
* Como se puede observar, mediante código y en tiempo de ejecución es posible establecer todas las propiedades que se quiera del componente creado y mostrado.


Explicamos con un ejemplo cómo implementar la ejecución de un proceso o tarea en segundo plano con el lenguaje de programación Microsoft Visual Basic .Net 2010. Mostramos el código fuente source code de una aplicación de ejemplo que ejecuta un proceso en segundo plano con barra de progreso usando el componente BackgroundWorker.


Hilo de ejecución, Threads

Un hilo de ejecución o subproceso es una característica que permite a una aplicación realizar varias tareas a la vez (concurrentemente). Los distintos hilos de ejecución comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, situación de autenticación, etc. Esta técnica permite simplificar el diseño de una aplicación que debe llevar a cabo distintas funciones simultáneamente.
Un hilo es básicamente una tarea que puede ser ejecutada en paralelo con otra tarea.
Los hilos de ejecución que comparten los mismos recursos, sumados a estos recursos, son en conjunto conocidos como un proceso. El hecho de que los hilos de ejecución de un mismo proceso compartan los recursos hace que cualquiera de estos hilos pueda modificar éstos. Cuando un hilo modifica un dato en la memoria, los otros hilos acceden a ese dato modificado inmediatamente.
Lo que es propio de cada hilo es el contador de programa, la pila de ejecución y el estado de la CPU (incluyendo el valor de los registros).
El proceso sigue en ejecución mientras al menos uno de sus hilos de ejecución siga activo. Cuando el proceso finaliza, todos sus hilos de ejecución también han terminado. Asimismo en el momento en el que todos los hilos de ejecución finalizan, el proceso no existe más y todos sus recursos son liberados.

Componente BackgroundWorker en Visual Basic .Net VB.Net

El componente BackgroundWorker permite que el formulario o control ejecute operaciones de forma asincrónica. Proporciona la posibilidad de ejecutar operaciones que llevan mucho tiempo de forma asincrónica ("en segundo plano"), en un subproceso distinto del subproceso de la IU principal de la aplicación.
La clase BackgroundWorker permite ejecutar una operación en un subproceso dedicado e independiente. Durante la ejecución de operaciones que exigen mucho tiempo, como las descargas y las transacciones de las bases de datos, puede parecer que la interfaz de usuario (UI) ha dejado de responder. Cuando se necesita una interfaz de usuario rápida, pero se producen largos retrasos asociados a tales operaciones, la clase BackgroundWorker ofrece una práctica solución.
Para ejecutar en segundo plano una operación que exija mucho tiempo, cree un objeto BackgroundWorker y realice escuchas de eventos que creen informes del progreso de la operación y que señalen su finalización. Se puede crear BackgroundWorker mediante programación o arrastrarlo al formulario desde la ficha Componentes del Cuadro de herramientas. Si crea BackgroundWorker en el Diseñador de Windows Forms, aparecerá en la Bandeja de componentes y sus propiedades se mostrarán en la ventana Propiedades.
 

Diseño del formulario Microsoft Visual Basic .Net VB.Net

Para el formulario de ejemplo de uso del componente BackgroundWorker (en el formulario llamado "hiloSegundoPlano") añadiremos los siguientes componentes:
  • NumericUpDown: para establecer el número de iteraciones de la función de Fibonacci que será la usada en el ejemplo para realizar un cálculo que tarde un tiempo determinado y así probar el proceso en segundo plano.
  • Label: mostrará el estado de la tarea ejecutada en segundo plano o background.
  • ProgressBar: barra de progreso que mostrará el porcejate completado de la tarea en segundo plano.
  • Button: botón para iniciar el proceso en segundo plano.
  • Button: botón para cancelar el proceso en segundo plano ejecutado.
  • TextBox: donde el usuario podrá escribir para comprobar que el proceso en segundo plano se está ejecutando y se puede, a su vez, interactuar con el formulario.
  • Button: para limpiar el contenido del TextBox anterior.
  • Button: para guardar el contenido del TextBox anterior, incluso aunque se esté ejecutando el proceso en segundo plano.
  • BackgroundWorker: componente para generar el hilo o proceso en segundo plano, asíncrono o background.
  • SaveFileDialog: componente para mostrar una ventana de petición de unidad, carpeta y nombre del fichero a guardar.
Diseño del formulario Microsoft Visual Basic .Net VB.Net
Estableceremos a True las propiedades WorkerReportsProgress y WorkerSupportsCancellation del componente BackgroundWorker:
Diseño del formulario Microsoft Visual Basic .Net VB.Net


Desarrollar aplicación con subproceso en segundo plano o asíncrono con Visual Basic .Net

En primer lugar crearemos un proyecto basado en Windows, desde el menú "Archivo" - "Nuevo proyecto", seleccionando "Aplicación de Windows Forms". Añadiremos los componentes que indicamos aquí al formluario principal de la aplicación.
Crearemos el procedimiento o función que será la que realice la acción que queramos ejecutar en proceso en segundo plano. Es importante mencionar que en dicho procedimiento o función no se puede hacer referencia a controles del formulario. Por ejemplo, si queremos mostrar una barra de progreso con el estado de la tarea, deberemos hacer referencia a la barra de progreso en el evento ProgressChanged del componente BackgroundWorker, si intentamos hacer una referencia a algún componente del formulario desde el procedimiento o función se producirá un error.
Añadiremos dicho procedimiento, en nuestro caso un ejemplo de cálculo de la Sucesión de Fibonacci:
    Function CalcularFibonacci(ByVal n As Integer,
                   ByVal worker As BackgroundWorker,
                   ByVal e As DoWorkEventArgs) As Long

        'No permitimos valores superiores a 91 ni inferiores a 9
        If n < 0 OrElse n > 91 Then
            Throw New ArgumentException( _
                "value must be >= 0 and <= 91", "n")
        End If

        Dim result As Long = 0

        iteraciones = iteraciones + 1

        'Si el usuario ha pulsado el botón cancelar abortar la operación
        If worker.CancellationPending Then
            e.Cancel = True
        Else
            If n < 2 Then
                result = 1
            Else
                result = CalcularFibonacci(n - 1, worker, e) + _
                         CalcularFibonacci(n - 2, worker, e)
            End If

            'Establecemos el % de progreso realizado del total de la tarea
            Dim percentComplete As Integer = _
                CSng(n) / CSng(numberToCompute) * 100
            If percentComplete > highestPercentageReached Then
                highestPercentageReached = percentComplete
                worker.ReportProgress(percentComplete)
            End If
        End If

        Return result
    End Function
En la función anterior hemos incluido las líneas de código:
 If worker.CancellationPending Then
   e.Cancel = True
 Else
 ....
Para controlar si el usuario ha pulsado el botón cancelar, de esta forma cancelaremos el proceso en segundo plano.
También la línea:
worker.ReportProgress(percentComplete)

Para devolver el porcentaje actual del progreso.
Como se puede observar en el código de la función, nunca se hace referencia a un componente del formulario.
Por otro lado en el evento DoWork del componente BackgroundWorker, agregaremos una llamada al método CalcularFibonacci:

    Private Sub hiloSegundoPlano_DoWork(ByVal sender As System.Object,
              ByVal e As System.ComponentModel.DoWorkEventArgs) _
              Handles hiloSegundoPlano.DoWork
        'Obtener el objeto BackgroundWorker que provocó este evento
        Dim worker As BackgroundWorker = CType(sender, BackgroundWorker)

        'Asignar el resultado de la computación a la propiedad Result 
        'del objeto DoWorkEventArgs
        e.Result = CalcularFibonacci(e.Argument, worker, e)
    End Sub

En el procedimiento anterior (DoWork) ejecutaremos la función CalcularFibonacci pasándole varios parámetros para permtir la cancelación del proceso y para mostrar la información del progreso.
Es importante que el controlador de eventos DoWork no haga referencia directamente a la variable de la instancia BackgroundWorker (en el ejemplo llamado "hiloSegundoPlano"), ya que esto uniría este controlador de eventos a una instancia específica de BackgroundWorker. En su lugar, se recupera del parámetro sender una referencia al control BackgroundWorker que provocó este evento. Esto es importante cuando el formulario aloje más de un BackgroundWorker.
Para implementar la información de progreso, declaremos tres variables en el formulario formProceso. Éstas se utilizarán para realizar el seguimiento del progreso:
 Public Class formProceso
    Private numeroSeriesFib As Integer = 0
    Private highestPercentageReached As Integer = 0
    Private iteraciones As Integer
En el evento ProgressChanged del componente BackgroundWorker añadiremos el siguiente código:
Private Sub hiloSegundoPlano_ProgressChanged(ByVal sender As Object,
                ByVal e As System.ComponentModel.ProgressChangedEventArgs) _
                Handles hiloSegundoPlano.ProgressChanged
        barraProgreso.Value = e.ProgressPercentage
        lInfo.Text = "Iteraciones Fibonacci: " & CStr(iteraciones)
End Sub

Para permitir que el usuario pueda cancelar el proceso en segundo plano, en el evento OnClick del botón btCancelarProceso introduciremos el siguiente código:
    Private Sub btCancelarProceso_Click(ByVal sender As System.Object,
                 ByVal e As System.EventArgs) Handles btCancelarProceso.Click
        'Cancelar proceso asíncrono
        hiloSegundoPlano.CancelAsync()

        'Deshabilitar el botón cancelar
        btCancelarProceso.Enabled = False
    End Sub
Con estos procedimientos habremos conseguido ejecutar la función deseada (CalcularFibonacci) que puede realizar cualquier acción en segundo plano, de forma que de cara al usuario la función o procedimiento se ejecutará "sin que se entere" (si así lo deseamos). Podrá seguir interacturando con nuestra aplicación mientras se ejecuta la tarea en segundo plano. Este método es muy útil para determinados procesos donde consideremos que el usuario ni tiene que interactuar, mejorando así el rendimiento de nuestra aplicación.
 

Código fuente source code completo de aplicación con thread o hilo asíncrono con Visual Basic .Net VB.Net

A continuación mostramos el código fuente complento en Microsoft Visual Basic .Net de Microsoft Visual Studio 2010 como ejemplo de ejecución de tareas en segundo plano o asíncronas, con barra de progreso:

Imports System
Imports System.Threading
Imports System.Collections
Imports System.ComponentModel
Imports System.Drawing
Imports System.Windows.Forms
Imports System.IO


Public Class formProceso
    Private numeroSeriesFib As Integer = 0
    Private iteraciones As Integer
    Private porcentajeMasAlto As Integer = 0


    Function CalcularFibonacci(ByVal n As Integer,
                   ByVal worker As BackgroundWorker,
                   ByVal e As DoWorkEventArgs) As Long

        'No permitimos valores superiores a 91 ni inferiores a 9
        If n < 0 OrElse n > 91 Then
            Throw New ArgumentException( _
                "value must be >= 0 and <= 91", "n")
        End If

        Dim result As Long = 0

        iteraciones = iteraciones + 1

        'Si el usuario ha pulsado el botón cancelar abortar la operación
        If worker.CancellationPending Then
            e.Cancel = True
        Else
            If n < 2 Then
                result = 1
            Else
                result = CalcularFibonacci(n - 1, worker, e) + _
                         CalcularFibonacci(n - 2, worker, e)
            End If

            'Establecemos el % de progreso realizado del total de la tarea
            Dim porcentajeCompletado As Integer
            porcentajeCompletado = CSng(n) / CSng(numeroSeriesFib) * 100
            If porcentajeCompletado > porcentajeMasAlto Then
                porcentajeMasAlto = porcentajeCompletado
                worker.ReportProgress(porcentajeCompletado)
            End If
        End If

        Return result
    End Function




    Private Sub btIniciarProceso_Click(ByVal sender As System.Object,
                   ByVal e As System.EventArgs) Handles btIniciarProceso.Click

        iteraciones = 0
        barraProgreso.Minimum = 0
        barraProgreso.Maximum = 100

        lInfo.Text = [String].Empty

        'Deshabilitamos el ListBox con el número de iteraciones
        'hasta que concluya el proceso
        txtNumeroIteraciones.Enabled = False

        'Deshabilitar el botón de inicio de proceso
        'hasta que el proceso asíncrono haya concluido
        btIniciarProceso.Enabled = False

        'Habilitamos el botón cancelar
        'mientras la operación está ejecutándose
        btCancelarProceso.Enabled = True

        'Obtenemos el valor de iteraciones seleccionado por el usuario
        numeroSeriesFib = CInt(txtNumeroIteraciones.Value)

        'Iniciamos el valor de la variable que contendrá el % del progreso
        porcentajeMasAlto = 0


        'Iniciamos el proceso asíncrono en segundo plano
        hiloSegundoPlano.RunWorkerAsync(numeroSeriesFib)
    End Sub

    Private Sub btLimpiar_Click(ByVal sender As System.Object,
                 ByVal e As System.EventArgs) Handles btLimpiar.Click
        txtTexto.Text = [String].Empty
    End Sub

    Private Sub btGuardar_Click(ByVal sender As System.Object,
                  ByVal e As System.EventArgs) Handles btGuardar.Click
        dlGuardar.Filter = "Archivos de texto (*.txt)|*.txt|Todos (*.*)|*.*"
        dlGuardar.FilterIndex = 1
        dlGuardar.DefaultExt = "txt"
        dlGuardar.FileName = "texto"
        dlGuardar.OverwritePrompt = True
        dlGuardar.Title = "Guardar fichero mientras se ejecuta tarea en segundo plano"
        If dlGuardar.ShowDialog Then
            Try
                Dim fichero As New StreamWriter(dlGuardar.FileName)
                fichero.WriteLine(txtTexto.Text)
                fichero.Close()
            Catch ex As Exception
                MsgBox(ex.Message, MsgBoxStyle.OkOnly + _
                       MsgBoxStyle.Exclamation)
            End Try
        End If
    End Sub

    Private Sub hiloSegundoPlano_DoWork(ByVal sender As System.Object,
              ByVal e As System.ComponentModel.DoWorkEventArgs) _
              Handles hiloSegundoPlano.DoWork
        'Obtener el objeto BackgroundWorker que provocó este evento
        Dim worker As BackgroundWorker = CType(sender, BackgroundWorker)

        'Asignar el resultado de la computación a la propiedad Result 
        'del objeto DoWorkEventArgs
        e.Result = CalcularFibonacci(e.Argument, worker, e)
    End Sub

    Private Sub hiloSegundoPlano_ProgressChanged(ByVal sender As Object,
                ByVal e As System.ComponentModel.ProgressChangedEventArgs) _
                Handles hiloSegundoPlano.ProgressChanged
        barraProgreso.Value = e.ProgressPercentage
        lInfo.Text = "Iteraciones Fibonacci: " & CStr(iteraciones)
    End Sub

    Private Sub hiloSegundoPlano_RunWorkerCompleted(ByVal sender As Object,
                 ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) _
                 Handles hiloSegundoPlano.RunWorkerCompleted
        'Manejar el caso en que se produzca un error o excepción
        If (e.Error IsNot Nothing) Then
            MsgBox(e.Error.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical)
        Else
            If e.Cancelled Then
                'Manejar el caso en que el usuario haya cancelado la operación. 
                lInfo.Text = "Proceso cancelado"
            Else
                'Manejar el caso en que la operación haya finalizado con éxito
                lInfo.Text = e.Result.ToString()
            End If
        End If

        'Habilitamos el ListBox del número de iteraciones
        txtNumeroIteraciones.Enabled = True

        'Habilitamos el botón de iniciar proceso
        btIniciarProceso.Enabled = True

        'Deshabilitamos el botón cancelar
        btCancelarProceso.Enabled = False
    End Sub

    Private Sub btCancelarProceso_Click(
             ByVal sender As System.Object, 
             ByVal e As System.EventArgs) Handles btCancelarProceso.Click
        'Cancelar proceso asíncrono
        hiloSegundoPlano.CancelAsync()

        'Deshabilitar el botón cancelar
        btCancelarProceso.Enabled = False
    End Sub
End Class

La aplicación AjpdSoft Proceso segundo plano con progreso VB.Net en funcionamiento

Tras seleccionar el número de iteraciones y pulsar en "Iniciar proceso asíncrono" se iniciará el proceso, mostrará la barra de progreso y se activará el botón "Cancelar proceso asíncrono". Si queremos probar que el proceso se ejecuta en segundo plano realmente y que podemos interactuar con la aplicación, podremos escribir en el cuadro de texto y guardar los cambios mientras el proceso se está ejecutando:
La aplicación AjpdSoft Proceso segundo plano con progreso VB.Net en funcionamiento
Si eres desarrollador de software y quieres descargar el ejemplo complento en Microsoft Visual Basic .Net 2010 regístrate en nuestra web y accede al enlace:

Artículos relacionados

 

Créditos

Artículo realizado íntegramente por Alonsojpd miembro fundador del proyecto AjpdSoft.

3/21/2011


Explicamos cómo monitorizar las consultas SQL ejecutadas en un servidor de bases de datos MySQL Server 5.1. A veces determinadas consultas pueden ralentizar y afectar considerablemente al rendimiento de MySQL Server, con este recurso de MySQL Server podremos saber qué consultas son las que más tardan en ejecutarse, así podremos solucionar posibles problemas provodados por aplicaciones de terceros o las nuestras propias.


 

Situación inicial MySQL Server sobre GNU Linux Debian

Partiremos, para el ejemplo, de un servidor con MySQL Server 5.1 y con sistema operativo GNU Linux Debian 5. Es un servidor en producción con varios catálogos o bases de datos y varios usuarios de MySQL.
Cada catálogo de MySQL Server se corresponde con una aplicación de índole diversa: una base de datos para un servidor web dinámico, otra base de datos para un software de facturación, albaranes, almacén y presupuestos, Aviso Cambio de IP, contabilidad, recursos humanos:
AjpdSoft Situación inicial MySQL Server sobre GNU Linux Debian
Cada aplicación (catálogo), por seguridad, tiene que tener sus propios usuarios de MySQL, de forma que cada usuario sólo tenga permisos sobre el catálogo de la aplicación para el que se creo. Incluso a veces cada catálogo o aplicación puede tener varios usuarios con varios niveles de permisos (un usuario para consultas en el caso de catálogos para sitios web y un usuario con permisos para inserciones y modificaciones):
AjpdSoft Situación inicial MySQL Server sobre GNU Linux Debian
En este tipo de situaciones, donde tenemos un servidor con el motor de bases de datos gratuito MySQL Server y varios catálogos o bases de datos con diferentes aplicaciones que las usan o "atacan", a veces se producen cuellos de botella donde, puede que la red esté bien dimensionada, puede que los recursos hardware del servidor también estén bien dimensionados pero, aún asín, puede que a veces se produzca un mal rendimiento del servidor.
En este tipo de situciones es conveniente averiguar si el problema puede estar en alguna consulta SQL de alguna de las aplicaciones que acceden al servidor MySQL Server. A continuación explicamos cómo activar la opción de auditoría o monitorización de consultas lentas de MySQL Server.

Cómo activar el seguimiento o auditoría de las consultas lentas en MySQL Server y Linux Debian

A continuación explicamos cómo activar la auditoría de consultas lentas (slow queries) de MySQL Server, realizaremos la operación en un servidor con el sistema operativo GNU Linux Debian 5, aunque para otras distribuciones es similar, incluso para equipos con Microsoft Windows (salvando algunos detalles).
En primer lugar añadiremos el siguiente parámetro al fichero my.cnf de configuración de MySQL en Linux, para ello podremos usar cualquier editor, como "nano", con el comando linux (desde una ventana de terminal):

sudo nano /etc/mysql/my.cnf
AjpdSoft Cómo activar el seguimiento o auditoría de las consultas lentas en MySQL Server y Linux Debian
Añadiremos las siguientes líneas:

log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 1
Donde:
  • log_slow_queries: indicamos con este parámetro la ubicación del fichero de log donde se guardarán las consultas lentas.
  • long_query_time: tiempo en segundos a partir del cual se añadirá la consulta SQL al fichero. Si la consulta tarda más en ejecutarse que el tiempo indicado en este parámetro será guardada en el fichero indicado en log_slow_queries.
AjpdSoft Cómo activar el seguimiento o auditoría de las consultas lentas en MySQL Server y Linux Debian
Tras añadir estas líneas al fichero my.cnf, guardaremos pulsando Control + O y cerraremos pulsando Control + X.
Para que los cambios se apliquen hay que reiniciar el servicio de MySQL, teniendo en cuenta que si usamos un servidor en producción al reiniciar el servicio las conexiones actuales se cancelarán. Para reiniciar el servicio de MySQL ejecutaremos el comando linux:

sudo /etc/init.d/mysqld restart
Si queremos comprobar en algún momento si tenemos activada la opción log_slow_queries ejecutaremos el siguiente comando linux:

sudo mysqladmin -u root -p var |grep log_slow_queries

Devolverá ON si está activa la opción, OFF si está inactiva
AjpdSoft Cómo activar el seguimiento o auditoría de las consultas lentas en MySQL Server y Linux Debian
A partir de ahora, si alguna consulta SQL de alguna de las aplicaciones que acceden a la base de datos tarda más de 1 segundo en ejecutarse se añadirá al fichero indicado. Para consultar el contenido de este fichero podremos ejecutar comando linux:

sudo nano /var/log/mysql/mysql-slow.log
Mostrará los datos básicos de las consultas SQL que tarden mucho en ejecutarse: puerto usado, tiempo empleado en ejecutarse la consulta, hora en la que se ejecutó, usuario MySQL que la ejecutó (y equipo), tiempo de bloqueo, registros enviados, registros examinados, catálogo (base de datos) usado, consulta SQL:
AjpdSoft Cómo activar el seguimiento o auditoría de las consultas lentas en MySQL Server y Linux Debian
Con los datos anteriores nos será más fácil buscar y solucionar problemas de lentitud en consultas SQL.

 

Otras utilidades para obtener información de MySQL Server acerca de consultas SQL ejecutadas y conexiones

Existen otros comandos y utilidades de MySQL para averiguar el estado de ejecución de las consultas SQL. Por ejemplo, el siguiente comando:

mysqladmin -u root -p proc status
AjpdSoft Cómo activar el seguimiento o auditoría de las consultas lentas en MySQL Server y Linux Debian
Mostrará las conexiones actuales (en el momento de ejecutar el comando) que se están realizando al servidor de bases de datos MySQL Server. Mostrará datos de estado de estas conexiones: usuario MySQL, host, base de datos, comando, tiempo, estado, información, tiempo que está instalado el servidor, tareas ejecutadas, peticiones, consultas lentas, consultas totales abiertas, tablas abiertas, media de consultas por segundo, etc.
 
Otros comandos SQL para obtener información de las consultas SQL ejecutadas (de inserción, de selección, de actualización):
show global status where
Variable_name like 'Com_insert%' or
Variable_name like 'Com_select%' or
Variable_name like 'Com_update%'
AjpdSoft Cómo activar el seguimiento o auditoría de las consultas lentas en MySQL Server y Linux Debian
Con el siguiente comando:

SHOW session STATUS LIKE 'Questions'
Mostrará el número de instrucciones ejecutadas por los equipos clientes:
AjpdSoft Cómo activar el seguimiento o auditoría de las consultas lentas en MySQL Server y Linux Debian


Artículos relacionados

Créditos

Artículo realizado íntegramente por Alonsojpd miembro fundador del proyecto AjpdSoft.

3/20/2011


Os mostramos PiTiVi, software gratuito open source de edición de vídeo en GNU Linux. Explicamos cómo instalar PiTiVi en GNU Linux Debian 5 y en GNU Linux Ubuntu 10.04 (válido para otras distribuciones Debian). Como ejemplo de uso de PiTiVi cortamos una parte de un vídeo y renderizamos el resultado.



PiTiVi, edición de vídeo en Linux open source

PiTiVi es un editor de vídeo no lineal libre, bajo licencia LGPL. PiTiVi es desarrollado por Collabora Ltd. y contribuyentes.
PiTiVi obtiene sus capacidades de renderizado, importación y exportación del framework GStreamer, y posee capacidades básicas de edición, como cortar, enlazar, unir y separar clips.

Instalar PiTiVi en un equipo con GNU Linux Debian 5 para edición de vídeo gratis freeware

Instalar PiTiVi en GNU Linux Ubuntu 10

En el caso de equipos con el sistema operativo GNU Linux Ubuntu 10.04, PiTiVi ya vendrá instalado "de serie", si no lo está por cualquier motivo accederemos al menú "Aplicaciones" - "Accesorios" - "Terminal":
AjpdSoft Instalar PiTiVi en un equipo con GNU Linux Ubuntu 10 para edición de vídeo gratis freeware
Escribiremos el comando linux:

sudo apt-get install pitivi

(nos pedirá la contraseña del usuario actual de Linux)
AjpdSoft Instalar PiTiVi en un equipo con GNU Linux Ubuntu 10 para edición de vídeo gratis freeware


Pedirá que introduzcamos "s" y pulsaremos INTRO.
Una vez instalado PiTiVi en Linux, nos habrá creado un acceso directo en el menú "Aplicaciones" - "Sonido y vídeo" - "Editor de vídeo Pitivi":
AjpdSoft Instalar PiTiVi en un equipo con GNU Linux Ubuntu 10 para edición de vídeo gratis freeware

Instalar PiTiVi en GNU Linux Debian 5

Abriremos una ventana de Terminal desde el menú "Aplicaciones" - "Accesorios" - "Terminal". Introduciremos el comando linux:

sudo apt-get install pitivi

(nos pedirá la contraseña del usuario actual de Linux, también nos pedirá que pulsemos "s" para continuar con la instalación)
AjpdSoft Instalar PiTiVi en un equipo con GNU Linux Ubuntu 10 para edición de vídeo gratis freeware
Tras la instalación, nos habrá creado un acceso directo en "Aplicaciones" - "Sonido y vídeo" - "Editor de vídeo Pitivi":
AjpdSoft Instalar PiTiVi en un equipo con GNU Linux Ubuntu 10 para edición de vídeo gratis freeware

Cómo quitar partes de un vídeo con PiTiVi en Linux, cortar clips

Como ejemplo de uso de PiTiVi, vamos a cortar unos clips en un vídeo, vamos a quitar una parte de un vídeo. Para complicar un poco más el ejemplo, vamos a usar un formato de vídeo de partida mp4, que por defecto no es reproducible en GNU Linux Ubuntu 10.04 (sí es reproducible la imagen pero no el sonido).
Abriremos PiTiVi, desde "Aplicaciones" - "Sonido y vídeo" - "Editor de vídeo Pitivi". Arrastraremos el vídeo mp4 a la parte superior izquierda (Videoteca), si el formato no está soportado por PiTiVi nos mostrará un aviso indicando si queremos que el sistema busque el complemento necesario para reproducir el vídeo de forma automática, pulsaremos el botón "Buscar":
AjpdSoft Cómo quitar partes de un vídeo con PiTiVi en Linux, cortar clips


Con el texto: "¿Buscar un complemento adecuado? No está instalado el software necesario para reproducir este archivo. Necesita instalar el complemento adecuado para reproducir archivos multimedia. ¿Desea buscar un complemento que soporte el archivo seleccionado? La búsqueda también incluirá software que no está oficialmente soportado.
Se iniciará el asistente de búsqueda de complementos multimedia:
AjpdSoft Cómo quitar partes de un vídeo con PiTiVi en Linux, cortar clips
Una vez finalizada la búsqueda, si ha encontrado los complementos multimedia necesarios para la reproducción de vídeo (en nuestro caso ficheros de vídeo de tipo mp4, típicos de algunos teléfonos móviles), nos mostrará los componentes a instalar, en nuestro caso Decodificador MPEG-4 ACC gstreamer0.10-plugins-bad, los marcaremos y pulsaremos Instalar:
AjpdSoft Cómo quitar partes de un vídeo con PiTiVi en Linux, cortar clips
A continuación confirmaremos la instalación de software, pulsando "Confirmar":
AjpdSoft Cómo quitar partes de un vídeo con PiTiVi en Linux, cortar clips


Con el texto: "Confirmar la instalación de software restringido. El uso de este software puede estar restringido en algunos países. Debe comprobar que, al menos, alguno de estos puntos es cierto: en su país de residencia no afectan dichas restricciones, tiene permiso para usar este software (por ejemplo, por una licencia de patentes), está usando este software sólo con fines educativos.
La aplicación Gestor de paquetes Synaptic nos pedirá la contraseña del usuario actual (por seguridad), la introduciremos y pulsaremos "Aceptar":
AjpdSoft Cómo quitar partes de un vídeo con PiTiVi en Linux, cortar clips
Se iniciará la descarga (normalmente desde Internet) de los paquetes seleccionados:
AjpdSoft Cómo quitar partes de un vídeo con PiTiVi en Linux, cortar clips
Tras la descarga y la instalación nos mostrará el mensaje:
AjpdSoft Cómo quitar partes de un vídeo con PiTiVi en Linux, cortar clips


Con el texto: "Los paquetes se instalaron con éxito. Los paquetes seleccionados se instalaron con éxito pero no proporcionan todos los complementos solicitados.
A continuación, un paso importante en la edición de vídeo con PiTiVi es arrastar el vídeo importado en Videoteca a la parte inferior. PiTiVi separará el sonido de las imágenes, de forma que también podremos editar el sonido. Además, PiTiVi "separará" el vídeo en clips de forma automática.
Para cortar un trozo o parte de un vídeo con PiTiVi, colocaremos la barra de reproducción en la parte del vídeo que queremos cortar y pulsaremos el botón "Cortar" (ubicado en la parte inferior izquierda de la ventana):
AjpdSoft Cómo quitar partes de un vídeo con PiTiVi en Linux, cortar clips
Tras cortarlo, el vídeo quedará separado en dos, si queremos eliminar una de las dos partes, la seleccionaremos haciendo clic (quedará oscurecida) y pulsaremos el botón de eliminar clip (ubicado junto al de cortar, en la parte inferior izquierda):
AjpdSoft Cómo quitar partes de un vídeo con PiTiVi en Linux, cortar clips
El clip cortado desaparecerá y quedará el siguiente. Si el que hemos cortado es el de la izquierda, moveremos el clip de la derecha al principio, al segundo cero:
AjpdSoft Cómo quitar partes de un vídeo con PiTiVi en Linux, cortar clips
El clip quedará el en segundo cero, al principio del vídeo:
AjpdSoft Cómo quitar partes de un vídeo con PiTiVi en Linux, cortar clips
Una vez que hayamos terminado con la edición de vídeo (cortar partes, cambiar de posición, añadir otros vídeos, etc.) podremos renderizar el proyecto para generar el vídeo definitivo. Para ello accederemos al menú "Proyecto" - "Renderizar proyecto":
AjpdSoft Cómo quitar partes de un vídeo con PiTiVi en Linux, cortar clips
Pulsaremos en "Elegir un archivo" para indicar una unidad, carpeta y archivo de vídeo de destino, será un fichero inexistente que creará PiTiVi con el resultado de nuestra edición de vídeo:
AjpdSoft Cómo quitar partes de un vídeo con PiTiVi en Linux, cortar clips
Seleccionaremos una carpeta de destino y un nombre del fichero que se generará, por ejemplo:

/home/ajpdsoft/Desktop/Prueba corte clip AjpdSoft.ogg
AjpdSoft Cómo quitar partes de un vídeo con PiTiVi en Linux, cortar clips


Nota importante: el formato de vídeo resultante de la renderización, por defecto, será Ogg muxer [oggmux], con los códec de sonido Vorbis audio encoder [vorbisenc], con los códec de vídeo Theora video encoder [theoraenc].
Si queremos modificar el formato y las opciones del vídeo de salida renderizado pulsaremos "Modificar":


AjpdSoft Cómo quitar partes de un vídeo con PiTiVi en Linux, cortar clips
Desde los ajustes de exportación podremos modificar el formato de salida (anchura, altura, tasa de fotogramas), la salida de sonido (canales, tasa, profundidad), el contenedor (Ogg muxex [oggmux], FLV muxer [flvmux], Multipart muxer [multipartmux], Avi muxer [avimux], Matroska muxer, FFmpeg ASF format muxer, FFmpeg DV video format, FFmpeg FFM (FFserver live feed), FFmpeg GXF, FFmpeg Matroska, FFmpeg MOV, FFmpeg MPEG-1 System format, FFmpeg MPEG-1 System format (VCD), FFmpeg MPEG-2 PS format (DVD VOB), FFmpeg MPEG-2 PS format (VOB), FFmpeg Material eXchange Format, RealMedia, NUT, Raw id RoQ, 3GP2, 3GP, MVE Multiplexer, ASF, MPEG Program Stream, MXF, MJ2, 3GPP, MP4, QuickTime, etc.). También podremos seleccionar el códec de sonido (Vorbis audio encoder [vorbisenc], FLAC audio encoder [flacenc], Speex audio encoder [speexenc], Celt audio encoder [celtenc] y los códec de vídeo (Theora video encoder [theoraenc], Smoke video encoder [smokeenc], Dirac Encoder [diracenc], Dirac Encoder [schroenc]):


AjpdSoft Cómo quitar partes de un vídeo con PiTiVi en Linux, cortar clips

Una vez que hayamos seleccionado el destino del vídeo y los ajustes personalizados pulsaremos en el botón "Renderizando" para iniciar la renderización. PiTiVi nos mostrará el progreso del proceso, así como el tiempro aproximado que tardará en generar el vídeo resultante de la renderización de nuestra edición:
AjpdSoft Cómo quitar partes de un vídeo con PiTiVi en Linux, cortar clips
Nos avisará con el texto "Renderizado completo" cuando el proceso haya concluido:
AjpdSoft Cómo quitar partes de un vídeo con PiTiVi en Linux, cortar clips
Si todo es correcto, en la ubicación elegida tendremos el vídeo generado con nuestras modificaciones. Podremos reproducirlo con Totem:
AjpdSoft Cómo quitar partes de un vídeo con PiTiVi en Linux, cortar clips
También podremos compartirlo con nuestros amigos subiéndolo, por ejemplo, a Youtube:
AjpdSoft Cómo quitar partes de un vídeo con PiTiVi en Linux, cortar clips


Anexo

  • Resultado ejecución comando linux: sudo apt-get install pitivi
ajpdsoft@pcajpdsoft:~$ sudo apt-get install pitivi
[sudo] password for ajpdsoft:
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Los paquetes indicados a continuación se instalaron de forma automática y ya no son necesarios.
libswfdec-0.6-90 libhsqldb-java-gcj libepc-ui-1.0-1 libtalloc1 libwpd8c2a libmtp7 libavutil49 openoffice.org-writer
libneon27 libepc-1.0-1 libmalaga7 libgksu1.2-0 openoffice.org-impress libsensors3 libraw1394-8 libavahi-compat-libdnssd1
openoffice.org-filter-mobiledev djvulibre-desktop openoffice.org-draw libicu38 libsoundtouch1c2 libgda3-common
libgksuui1.0-1 libosp5 libmagick++10 libppl7 libexchange-storage1.2-3 libwpg-0.1-1 libgtksourceview1.0-0 w3c-dtd-xhtml
bsh-gcj libnm-util0 libjaxp1.3-java-gcj libmagick10 libapm1 libpisock9 libcamel1.2-11 libcamel1.2-14 openssl-blacklist
libpt-1.10.10-plugins-alsa libtrackerclient0 libggzmod4 postgresql-doc-8.3 libeggdbus-1-0 libtotem-plparser10
swfdec-gnome libservlet2.4-java libedata-cal1.2-6 libedata-cal1.2-7 libsmbios2 libpt-1.10.10 libsoup2.2-8
libsuitesparse-3.1.0 libgpod3 librasqal2 libisccc50 libboost-date-time1.42.0 libxerces2-java-gcj libcdio7 libxxf86misc1
libmysqlclient15off libossp-uuid15 libeel2-data libdirectfb-1.0-0 python-gtkmozembed libsexy2 p7zip gnome-utils
libhesiod0 libgnome-pilot2 finger libparted1.8-10 arj dhcdbd bsh liblwres50 libgnomeprint2.2-data libkpathsea4 libppl-c2
gs-common libcurl3 openoffice.org-common python-eggtrayicon gnome-spell libnm-glib0 libggz2 libssh2-1 libecal1.2-7
libpoppler3 lm-sensors wodim libgtksourceview-common libedataserver1.2-13 libbind9-50 libxerces2-java libc-client2007b
libbluetooth2 libxtrap6 gnome-app-install python-cupsutils libeel2-2.20 libgtkhtml2-0 libebook1.2-9 libwps-0.1-1
libopal-2.2 libedataserverui1.2-8 totem-gstreamer libxalan2-java libdvdread3 libedata-book1.2-2 libgnomevfs2-bin libiw29
libgs8 libedataserver1.2-9 libmozjs1d libmpfr1ldbl libisccfg50 zip python-4suite-xml libxklavier12
openoffice.org-style-tango libgucharmap6 libgda3-3 svgalibg1 libpt-1.10.10-plugins-v4l libraptor1 libggzcore9 libgmyth0
libzephyr3 cpp-4.3 cpp-4.4 libvoikko1 libcupsys2 libnice0 libnautilus-burn4 postgresql-contrib-8.3 libgnomeprint2.2-0
libgraphviz4 epiphany-gecko libgnome-desktop-2 postgresql-8.3 libavahi-core5 libgnomeprintui2.2-0 libcucul0
libgnomeprintui2.2-common libxalan2-java-gcj libltdl3 libpoppler-glib3 libgnomecups1.0-1 libpisync1 libgdl-1-common
libfaad0 gnome-vfs-obexftp
Utilice «apt-get autoremove» para eliminarlos.
Se instalarán los siguientes paquetes extras:
gstreamer0.10-gnonlin libgoocanvas-common libgoocanvas3 python-pygoocanvas
Se instalarán los siguientes paquetes NUEVOS:
gstreamer0.10-gnonlin libgoocanvas-common libgoocanvas3 pitivi python-pygoocanvas
0 actualizados, 5 se instalarán, 0 para eliminar y 1 no actualizados.
Necesito descargar 980 kB de archivos.
Se utilizarán 4813 kB de espacio de disco adicional después de esta operación.
¿Desea continuar [S/n]? s
Des:1 http://ftp.de.debian.org/debian/ sid/main gstreamer0.10-gnonlin i386 0.10.17-2 [83,7 kB]
Des:2 http://ftp.de.debian.org/debi



Artículos relacionados


Créditos

Artículo realizado íntegramente por Alonsojpd miembro fundador del proyecto AjpdSoft.

3/17/2011


Aviso para usuarios de AjpdSoft Aviso Cambio IP Pública


Aviso importante para usuarios de AjpdSoft Aviso Cambio IP Pública

Si usas esta aplicación en modo "Si cambia la IP guardar en Base de datos" y usas nuestros servidores para ello (opción por defecto) la aplicación no funcionará. Hemos cambiado de servidor la web y la base de datos de la aplicación. Desde desarrollo estamos trabajando para liberar una nueva versión con algunas mejoras, sobre todo en cuanto a seguridad (encriptación de contraseñas, md5, etc.).
Debido a la gran cantidad de usuarios de la aplicación AjpdSoft Aviso Cambio IP Pública, el número de peticiones a la URL http://www.ajpdsoft.com/ip.php ha llegado a colapsar los servidores (más de 10 millones de peticiones al mes) por lo que nuestros técnicos están cambiando también la URL usada para obtener la IP pública en la nueva versión. En este enlace explicamos cómo funciona la aplicación.
Desde el Proyecto AjpdSoft pedimos perdón por las molestias ocasionadas. Teniendo en cuenta que se trata de un proyecto sin ánimo de lucro no nos podemos permitir el lujo de aumentar las capacidades de los servidores para dar soporte a la aplicación sin cambiar los parámetros de la misma.
De forma provisional la aplicación funcionará si seguís los pasos que indicamos aquí:
Así pues, en breve liberaremos una nueva versión que será de obligatoria actualización pues dejará de funcionar la actual completamente (quitaremos "ip.php" y no funcionará la obtención de la IP pública).

Cómo descargar e instalar el motor de bases de datos Oracle Database 11g Release 2 Enterprise 64bits en un equipo con sistema operativo Microsoft Windows Server 2003 R2 Enterprise x64 Edition Service Pack 2. Explicamos dos formas de instalación: Clase de Escritorio (más sencilla, casi sin realizar preguntas al usuario) y Clase de Servidor (más avanzada, con opciones de configuración del entorno). Como ejemplo, accedemos a Oracle 11g con Microsoft Office Access usando ODBC.


 

Descarga y descompresión de Oracle Database 11g Release 2 Enterprise Edition 64bits para Microsoft Windows

Realizaremos la descarga de los ficheros comprimidos de la instalación de Oracle Database 11g, disponibles gratuitamente desde la web oficial de Oracle. Abriremos un navegador web cómo Mozilla Firefox y accederemos a la URL:
http://www.oracle.com
En la sección "Downlods" accederemos a la descarga de Oracle Database 11g Release 2 para Microsoft Windows x64. Leeremos los términos de licencia, si estamos de acuerdo pulsaremos I'Accept y pulsaremos en la descarga correspondiente a nuestro sistema operativo.

Nota importante: para realizar la descarga debemos ser usuarios registrados de Oracle, el registro es completamente gratuito.
Descarga y descompresión de Oracle Database 11g Release 2 Enterprise Edition 64bits para Microsoft Windows
Una vez descargados los ficheros win64_11gR2_database_1of2.zip (de 1,2GB) y win64_11gR2_database_2of2.zip (de 1GB) los descomprimiremos usando cualquier software que permita descomprimir ficheros zip o bien desde el propio Microsoft Windows Server 2003, pulsando con el botón derecho del ratón sobre el fichero a descomprimir y seleccionado "Extraer":
Descarga y descompresión de Oracle Database 11g Release 2 Enterprise Edition 64bits para Microsoft Windows
Pulsamos "Siguiente" en el asistente de extracción:
Descarga y descompresión de Oracle Database 11g Release 2 Enterprise Edition 64bits para Microsoft Windows
Seleccionamos la unidad y carpeta de destino de los archivos que se descomprimirán y pulsamos "Siguiente":
Descarga y descompresión de Oracle Database 11g Release 2 Enterprise Edition 64bits para Microsoft Windows
Realizaremos la misma operación con el fichero win64_11gR2_database_2of2.zip.
Una vez descomprimidos ambos ficheros, es recomendable cortar el contenido de la carpeta "database/stage/Components" del fichero 2 en la carpeta "database/stage/Components" del fichero1, seleccionamos las subcarpetas como se muestra en la imagen, las cortamos:
Descarga y descompresión de Oracle Database 11g Release 2 Enterprise Edition 64bits para Microsoft Windows
Y las pegamos en la carpeta database/stage/Components. De esta forma nos quedará el programa de instalación de Oracle 11g en una única carpeta que podremos, si queremos, copiar a un DVD:
Descarga y descompresión de Oracle Database 11g Release 2 Enterprise Edition 64bits para Microsoft Windows

Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Escritorio

Una vez descargado y descomprimido ejecutaremos el fichero "setup.exe" haciendo doble clic sobre él o pulsando con el botón derecho y seleccionando "Abrir":
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Escritorio
Si queremos que Oracle nos avise de posibles problemas de seguridad que puedan surgir introduciremos nuestro correo electrónico en "Correo Electrónico", si queremos recibir las actualizaciones de seguridad de Oracle en nuestra cuenta de "My Oracle Support" marcaremos "Deseo recibir actualizaciones de seguridad a través de My Oracle Support" e introduciremos la contraseña en "Contraseña de My Oracle Support". Ambos datos no son necesarios para la instalación:
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Escritorio
No no hemos introducido los datos anteriores, el asistente para instalar Oracle 11g en W2003 x64 nos avisará con el siguiente mensaje, pulsaremos "Sí" para continuar:
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Escritorio


Con el texto: "No ha proporcionado ninguna dirección de correo electrónico. ¿Seguro que no desea recibir información sobre los problemas críticos de seguridad de su configuración?"
A continuación podremos elegir entre las siguientes opciones:
  • Crear y Configurar Base de Datos: el asistente creará una base de datos y la preparará para su uso.
  • Instalar sólo Software de la Base de Datos: no se creará base de datos, para poder usar Oracle habrá que crearla posteriormente.
  • Actualizar Base de Datos Existente: permite actualizar una base de datos existente a la versión 11g R2.
En nuestro caso, puesto que se trata de una instalación desde cero y puesto que queremos que Oracle quede preparado para su uso marcaremos "Crear y Configurar Base de Datos":
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Escritorio
A continuación indicaremos el tipo de instalación que se realizará, en nuestro caso marcaremos "Clase de Escritorio", que es una instalación bastante más sencilla pues el asistente pedirá una configuración mínima y el resto de parámetros avanzados los establecerá de forma automática. Este método es más sencillo de instalar aunque se tendrá menor control sobre la instalación (aquí explicamos cómo realizar la instalación en modo "Clase de Servidor"):
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Escritorio
A continuación indicaremos los siguientes datos:
  • Directorio Base de Oracle: ubicación del directorio raíz de Oracle
  • Ubicación del Software: destino de los archivos que compondrán la instalación de Oracle.
  • Ubicación de Archivos de Base de Datos: ubicación de los archivos de datos que compondrán la base de datos, esta carpeta es la más importante.
  • Edición de Base de Datos: tipo de instalación, a elegir entre "Enterprise Edition", "Standar Edition", "Standard Edition One", "Personal Edition". Según la opción seleccionada se instalarán más o menos herramientas y utilidades de Oracle.
  • Juego de Caracteres: juego de caracteres que se asignará a la base de datos.
  • Nombre de la Base de Datos Global: SID que tendrá la base de datos para identificarla unívocamente de otras, por defecto "orcl".
  • Contraseña del Administrador: contraseña para el usuario "system" y "sys".
  • Confirmar Contraseña: contraseña para el usuario "system" y "sys".
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Escritorio
Si la contraseña introducida no cumple con los requisitos mínimos de seguridad recomendados por Oracle nos mostrará un mensaje como el siguiente. Podremos continuar pulsando "Sí" o pulsar "No" y establecer una contraseña segura (es lo recomendable):
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Escritorio


Con el texto: [INS-30011] La contraseña de ADMIN introducida no cumple con los estándares recomendados por Oracle. ¿Seguro que desea continuar?".
Se iniciará la verificación de los requisitos mínimos por parte del asistente, comprobará si la configuración y el hardware de nuestro equipo cumple con los requisitos mínimos:
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Escritorio
Si nuestro equipo cumple los requisitos el asistente de instalación de Oracle en W2003 x64 nos mostrará la siguiente ventana resumen de las opciones seleccionadas para la instalación, si no cumple algún requisito mínimo avisará.
Si queremos guardar un archivo de respuesta con los datos seleccionados en la instalación pulsaremos "Guardar Archivo de Respuesta". Pulsaremos "Terminar" para continuar:
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Escritorio



Se iniciará la instalación de Oracle 11g en W2003 x64, así como la creación de la base de datos:
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Escritorio
Tras la creación de la base de datos nos pedirá que introduzcamos las contraseñas para los usuarios que creará Oracle de forma automática: ANONYMOUS, APEX_PUBLIC_USER, APEX_030200, APPQOSSYS, CTXSYS, DBSNMP, DIP, EXFSYS, FLOWS_FILES, MDDATA, MDSYS, MGMT_VIEW, OLAPSYS, ORACLE_OCM, ORDDATA, ORDPLUGINS, ORDSYS, OUTLN, OWBSYS, OWBSYS_AUDIT, PUBLIC, SCOTT, SI_INFORMTN_SCHEMA, SPATIAL_CSW_ADMIN_USR, SPATIAL_WFS_ADMIN_USR, SYS, SYSMAN, SYSTEM, WMSYS, XDB, XS$NULL. Gran parte de los usuarios anteriores están, por defecto en Oracle 11g, bloqueados (locked) por seguridad, los importantes son SYS y SYSTEM:
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Servidor


En la ventana anterior también nos mostrará la URL de acceso a la administración de Oracle Database 11g, del tipo https://localhost:1158/em
Tras la instalación:
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Escritorio

Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Servidor

Seguiremos los mismos pasos iniciales que para la instalación de Clase de Escritorio explicada aquí, hasta la siguiente ventana del asistente, donde seleccionaremos "Clase de Servidor":
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Servidor
En el tipo de instalación de base de datos podremos elegir entre:
  • Instalación de Base de Datos de Instancia Única: instalación habitual, es la que seleccionaremos.
  • Ejemplo de Instalación de Base de Datos Real Application Clusters: instalación en modo Real Application Clusters, sólo se usará para crear un clúster de Oracle usando su propia tecnología (sin usar clúster de sistema operativo).
Marcaremos "Instalación de Base de Datos de Instancia Única" y pulsaremos "Siguiente":
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Servidor
A continuación podremos elegir entre "Instalación Típica" (realizará una instalación completa de Oracle Database 11g R2 con la configuración básica, o bien "Instalación Avanzada" (permite selecciones avanzadas como diferentes contraseñas para las cuentas SYS, SYSMAN, SYSTEM y DBSNMP, juegos de caracteres de base de datos, idiomas del producto, copias de seguridad automáticas, instalación personalizada y opciones de almacenamiento alternativo como Gestión Automática de Almacenamiento).
Seleccionaremos "Instalación Avanzada" y pulsaremos "Siguiente":
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Servidor
Seleccionaremos el idioma del producto, en nuestro caso "Español":
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Servidor
A continuación podremos elegir la edición de la base de datos a instalar, las opciones posibles:
  • Enterprise Edition (3,34GB): Oracle Database 11g Enterprise Edition es una base de datos de gestión automática que tiene las funciones de escalabilidad, rendimiento, alta disponibilidad y seguridad necesarias para ejecutar las aplicaciones críticas más exigentes.
  • Standard Edition (3,29GB): Oracle Database 11g Standard Edition es una solución de gestión de datos completa adecuada para las necesidades de las empresas medianas. Incluye Oracle Real Application Clusters para obtener disponibilidad de clase empresarial y se suministra completo con su propio clusterware y capacidades de gestión de almacenamiento.
  • Standard Edition One (3,29GB): Oracle Database 11g Standard Editon One es una solución de gestión de datos completa adecuada para las necesidades de las pequeñas y medianas empresas.
  • Personal Edition (3,34GB): soporta el desarrollo y el despliegue de un sólo usuario que debe ser totalmente compatible con Oracle Enterprise Edition 11g y Oracle Standard Edition 11g.
En nuestro caso seleccionaremos "Enterprise Edition". Si queremos personalizar los paquetes que se instalarán pulsaremos en "Seleccionar Opciones":
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Servidor
Desde la ventana de selección de componentes del asistente para instalar Oracle 11g R2 64btis en W2003 x64 podremos elegir instalar o no los siguientes componentes:
  • Oracle Partitioning.
  • Oracle OLAP.
  • Oracle Label Security.
  • Oracle Data Mining RDBMS Files.
  • Oracle database Vault option.
  • Oracle Real Application Testing.
  • Oracle Database Extension for .NET.
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Servidor
A continuación deberemos seleccionar el directorio base de Oracle (directorio raíz de la instalación de Oracle, donde se copiarán los archivos de software de Oracle y los archivos relacionados con la configuración). Seleccionaremos también la ubicación para los archivos del software de Oracle (archivos para que arranque la base de datos):
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Servidor
Elegiremos ahora el tipo de base de datos que se configurará, según el uso que se le vaya a dar. Podremos elegir entre:
  • Uso General / Procesamiento de Transacciones: base de datos inicial para uso general o para aplicaciones con muchas transacciones. Esta opción suele ser la habitual, la base de datos se configurará para recibir peticiones SQL de consulta y de modificación de datos.
  • Almacenes de Datos: base de datos inicial optimizada para aplicaciones de almacenes de datos. Esta opción sólo se suele usar para tipos de bases de datos que requieren de muchas peticiones de consulta y pocas peticiones de modificaciones de datos. Suelen ser configuraciones para servidores web donde casi siempre se realizan peticiones de consultas (SELECT) y muy pocas modificaciones (INSERT, UPDATE).
Seleccionaremos "Uso General / Procesamiento de Transacciones" y pulsaremos "Siguiente":
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Servidor
Indicaremos el nombre de la base de datos global (por defecto "orcl"). Este identificativo es imprescindible en caso de tener varias instancias de Oracle en el mismo servidor, para diferenciarlas a la hora de realizar la conexión a unas u otras. Indicarmos el "Nombre de la Base de Datos Global" y el "Identificador de Servicio Oracle (SID), por defecto en ambos "orcl":
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Servidor
A continuación podremos elegir las opciones de configuración para personalizarlas y ajustarlas a las características de nuestro servidor y del uso que queramos darle.

En la pestaña "Memoria" podremos elegir la memoria que se asignará al proceso de Oracle. En nuestro caso, puesto que disponemos de un servidor de 64 bits con 8GB de memoria RAM y será un servidor dedicado a Oracle Database, seleccionaremos 6GB, dejando 2 para el sistema operativo. Una de las ventajas de las arquitecturas de 64bits es que los procesos pueden ocupar más de 3GB de memoria RAM (al contrario que en los sistemas 32 bits donde la memoria asignada a un proceso no puede superar los 3GB). Si queremos que Oracle gestione de forma automática la forma en que repartirá esas 6GB asignadas entre la SGA y la PGA marcaremos el check "Asignar Gestión Automática de Memoria" (es recomenblae salvo que seamos usuarios DBA de Oracle).
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Servidor

En la pestaña "Juegos de Caracteres" podremos elegir el juego de caracteres para la base de datos, las opciones son:

  • Usar Valor por Defecto: el juego de caracteres para esta base de datos se basa en el valor de idioma de este sistema operativo: WE8MSWIN1252.
  • Usar Unicode (AL32UTF8): si se define el juego de caracteres como Unicode (AL32UTF8) podrá almacenar varios grupos de idiomas.
  • Seleccionar la Lista de Juegos de Caracteres: permite seleccionar otros juegos de caracteres diferentes a los anteriores.

Seleccionaremos "Usar Valor por Defecto":
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Servidor

En la pestaña "Seguridad" podremos marcar la opción "Afirmar Todos los Nuevos Valores de Seguridad": la configuración por defecto para Oracle Database 11g incluye valores de seguridad mejorados. Estos valores de seguridad incluyen la activación de la auditoría y el uso de un nuevo perfil de contraseña por defecto. Oracle recomienda utilizar los valores por defecto. Sin embargo, por motivos de compatibilidad o por otros motivos, puede utilizar los valores de seguridad por defecto para Oracle Database 10g versión 2.

Si queremos compatibilidad con Oracle 10g o bien si no queremos activar las nuevas funcionalidades de seguridad de Oracle 11g desmarcaremos el check "Afirmar Todos los Nuevos Valores de Seguridad", aunque no es recomendable desactivar esta opción:
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Servidor

En la pestaña "Esquema de Ejemplo": marcando la opción "Crar Base de Datos con Esquemas de Ejemplo" el asistente de Oracle Database 11g R2 64 bits creará varios usuarios de ejemplo, como el usuario Scott, con varias tablas de ejemplo. No es recomendable marcar esta opción pues creará usuarios y tablas, a priori, innecesarias.
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Servidor
Tras seleccionar las opciones de configuración de la base de datos Oracle Database 11g en la ventana anterior, pulsaremos "Siguiente" para continuar.
A continuación podremos elegir entre:
  • Usar Grid Control Existente para Gestión de Base de Datos: si tenemos este servicio de administración de Oracle podremos elegirlo ahora, será el usado para gestionar la base de datos.
  • Usar Database Control para Gestión de Base de Datos: esta es la opción habitual, se usará Oracle Enterprise Manager Database Control para la gestión y administración web de Oracle Database.
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Servidor
A continuación deberemos elegir las opciones de almacenamiento de la base de datos, las posibilidades:
  • Sistema de Archivos: utilice un sistema de archivos para el almacenamiento de base de datos. Para una organización y rendimiento óptimo de la base de datos, Oracle recomienda instalar los archivos de datos y el software de Oracle Database en discos distintos. Si desea utilizar el Sistema de Archivos de Automatic Storage Manager (ASMFS) como opción de almacenamiento, seleccione Gestión Automática de Almacenamiento.
  • Gestión Automática de Almacenamiento: la Gestión Automática de Almacenamiento (ASM) simplifica la administración de almacenamiento de base de datos y coloca archivos de la base de datos para optimizar el rendimiento de E/S. Seleccione esta opción si desea utilizar ASM o el Sistema de Archivos de Gestión Automática de Almacenamiento.
La opción por defecto es "Sistema de Archivos", si seleccionamos esta opción deberemos indicar, en "Especificar Ubicación de Archivo de Base de Datos" la unidad y carpeta donde se alojarán los ficheros de datos de nuestra base de datos. Esta ubicación es la más importante de Oracle pues es donde se alojarán los datos. Por lo tanto deben ser discos duros en RAID con buena tasa de transferencia, aunque, por supuesto, los ficheros de datos pueden estar alojados en cualquier tipo de disco duro.
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Servidor
En en siguiente paso de la instalación de Oracle Database 11g Versión 2 de 64 bits sobre Windows Server 2003 x64 elegiremos las opciones de recuperación. Las posibilidades:
  • No Activar Copias de Seguridad Automáticas: marcando esta opción no se realizarán copias de seguridad automáticas. No es recomendable salvo que vayamos a programarlas manualmente.
  • Activar Copias de Seguridad Automáticas: marcando esta opción el asistente creará las tareas oportunas para que Oracle realice copias de seguridad de forma automática a disco. Si marcamos esta opción deberemos elegir de entre los siguientes métodos:
    • Sistema de Archivos: si anteriormente hemos seleccionado "Sistema de Archivos" podremos indicar aquí el destino de las copias de seguridad automáticas (área de recuperación).
    • Gestión Automática de Almacenamiento: si anteriormente hemos marcado esta opción será Oracle quien gestione la ubicación y demás configuraciones de las copias de seguridad.
Si hemos activado las copias de seguridad automáticas deberemos indicar un usuario y contraseña del sistema operativo W2003 x64 con permisos suficientes para leer y escribir en la unidad y carpeta indicadas en el destino de la copia de seguridad.
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Servidor
En este paso (15/19) podremos introducir las contraseñas para los usuarios de Oracle, bien la misma contraseña para todos o bien una contraseña diferente para cada usuario: SYS, SYSTEM, SYSMAN y DBSNMP.
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Servidor
Por último, antes de iniciarse el proceso definitivo de instalación de Oracle 11g, nos mostrará una ventana con el resumen de las opciones elegidas. Podremos guardarlas pulsando el botón "Guardar Archivo de Respuesta". Pulsando en Terminar se iniciará el proceso de instalación definitivo:
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Servidor
El asistente nos mostrará el progreso de la instalación así como las tareas realizadas (instalación de Oracle Database, preparar sistema, copiar archivos, crear archivos de configuración, configurar Oracle Database, crear base de datos):
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Servidor
Al final de la instalación de Oracle 11g se iniciará el proceso de creación de la base de datos (copia de archivos, crear e iniciar instancia de oracle):
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Servidor
Por último, el asistente de Configuración de Bases de Datos nos mostrará la ventana desde la que podremos acceder a la gestión de contraseñas de los usuarios y en la que nos mostrará la URL de administración para acceso a Oracle Database Control, por defecto:

https://localhost:1158/em
Instalar Oracle Database 11g Release 2 Enterprise Edition 64bits en Microsoft Windows Server 2003 R2 Enterprise x64 Edition en modo Clase de Servidor


Administración de Oracle 11g, procesos, servicios, accesos directos que instala en Windows Server 2003

Acceso a la administración de Oracle (Oracle Enterprise Manager 11g)

Para administrar Oracle Database 11g R2 x64 abriremos cualquier navegador web como por ejemplo Mozilla Firefox y accederemos a la URL:

https://nombre_servidor:1158/em

Donde "nombre_servidor" será la IP o el nombre de red (hostname)
Si usamos Mozilla Firefox puesto que es una URL segura (https) Mozilla Firefox nos avisará, pulsaremos en "Entiendo los riesgos":
Administración de Oracle 11g, procesos, servicios, accesos directos que instala en Windows Server 2003
Pulsaremos en "Añadir excepción":
Administración de Oracle 11g, procesos, servicios, accesos directos que instala en Windows Server 2003
Pulsaremos el botón "Obtener certificado" y "Confirmar excepción de seguridad":
Administración de Oracle 11g, procesos, servicios, accesos directos que instala en Windows Server 2003
Accederemos a la web de Oracle Enterprise Manager 11g Database Control, introduciremos usuario y contraseña (para acceso a todas las opciones de administración de Oracle accederemos con el usuario SYS en modo SYSDBA:
Administración de Oracle 11g, procesos, servicios, accesos directos que instala en Windows Server 2003
Y tendremos acceso a todas las opciones de administración, supervisión, auditoría, configuración y gestión del servidor de bases de datos Oracle Database 11g: rendimiento, disponibilidad, servidor, esquema, movimiento de datos, software y soporte, tablespaces, usuarios, ficheros de datos, estadísticas de estado (CPU, sesiones activas, tiempo de respuesta de SQL), diagnósticos, ...
Administración de Oracle 11g, procesos, servicios, accesos directos que instala en Windows Server 2003

Accesos directos de Oracle 11g en Windows Server 2003

Oracle Database 11g crear varios accesos directos en el menú "Inicio" - "Programas" de Microsoft Windows Server 2003 R2 Enterprise x64 Edition Service Pack 2. Pulsando en "Inicio" - "Todos los programas" - "Oracle - OraDb11g_home1" nos mostrará: Desarrollo de Aplicaciones, Herramientas de Configuración y de Migración, Herramientas de Gestión Integradas, Productos de Instalación de Oracle, Warehouse Builder y Database Control - orcl.
Administración de Oracle 11g, procesos, servicios, accesos directos que instala en Windows Server 2003

Ubicación archivos de datos y programa de instalación de Oracle 11g en Windows Server 2003

El asistente de instalación de Oracle Database 11g nos habrá creado las carpetas y ficheros de instalación del software y de la base de datos. Por supuesto los más importantes son los ubicados en "oradata", por defecto: CONTROL01.CTL, EXAMPLE01.DBF, REDO01.LOG, REDO02.LOG, REDO03.LOG, SYSAUX01.DBF, SYSTEM01.DBF, TEMP01.DBF, UNDOTBS01.DBF, USERS01.DBF.
En la carpeta "product" habrá copiado los ficheros de instalación de Oracle:
Administración de Oracle 11g, procesos, servicios, accesos directos que instala en Windows Server 2003

 

Acceso a SQL Plus para ejecutar comandos SQL y administrar Oracle por comando

Oracle Database 11g permite la administración en modo comando usando la aplicación para MS-DOS (shell de comandos) SQL Plus. Podremos abrir SQL Plus desde "Inicio" - "Todos los programas" - "Oracle - OraDb11g_home1" - "Desarrollo de Aplicaciones" - "SQL Plus":
Administración de Oracle 11g, procesos, servicios, accesos directos que instala en Windows Server 2003
O bien, desde "Inicio" -"Ejecutar" (o pulsando las teclas "Windows" + R) e introduciendo "cmd" y pulsando "Aceptar":
Administración de Oracle 11g, procesos, servicios, accesos directos que instala en Windows Server 2003
Para abrir SQL Plus introduciremos el comando:

sqlplus /nolog
Para conectarnos a Oracle Database introduciremos el comando:

connect usuario/contraseña@sid_de_oracle as sysdba
Administración de Oracle 11g, procesos, servicios, accesos directos que instala en Windows Server 2003
Desde SQL Plus podremos ejecutar consultas SQL tanto de consulta como de modificación de datos. Por ejemplo, si queremos ver el estado de la base de datos ejecutaremos la consulta SQL:

select status from v$instance;
Administración de Oracle 11g, procesos, servicios, accesos directos que instala en Windows Server 2003
En caso de fallo en el acceso a la administración web siempre es importante saber cómo acceder a SQL PLus pues Oracle Database permite realizar todas las acciones de administración mediante comandos SQL.

 

Procesos y servicios de Oracle 11g en Windows Server 2003

Oracle Database 11g R2 x64 crea varios procesos Windows (oracle.exe, oravssw.exe, perl.exe), aunque el más importante y el que crecerá conforme los usuarios vayan conectándose y ejecutando consultas SQL. Crecerá y, como máximo, consumirá tanta memoria RAM como hayamos indicado en la instalación:
Administración de Oracle 11g, procesos, servicios, accesos directos que instala en Windows Server 2003
El asistente de instalación de Oracle Database creará también varios servicios Windows, necesarios para iniciar la base de datos de forma automática: oracle ORCL VSS Writer Service, OracleDBConsoleorcl, OracleJobSchedulerORCL, OracleMTSRecoveryService, OracleOraDb11g_home1ClrAgent, OracleOraDb11g_home1TNSListener, OracleRemExecService y OracleServiceORCL:
Administración de Oracle 11g, procesos, servicios, accesos directos que instala en Windows Server 2003

 

Crear origen de Datos ODBC para acceso a tablas y vistas de Oracle Database 11g desde otras aplicaciones

Desde el menú "Inicio" - "Todos los programas" - "Herramientas administrativas" - "Orígenes de datos (ODBC)":
Acceso a Oracle Database 11g desde AjpdSoft Administración Bases de Datos usando ODBC
En la pestaña "DSN de Sistema" (si queremos que el origen de datos ODBC esté disponible para todos los usuarios del equipo) ó "DSN de usuario" (si queremos que el Origen de datos ODBC esté disponible sólo para el usuario actual del equipo) pulsaremos "Agregar":
Acceso a Oracle Database 11g desde AjpdSoft Administración Bases de Datos usando ODBC
En la ventana de selección del controlador seleccionaremos "Oracle en OraDb11g_home1" (versión 11.02.00.01). Pulsaremos "Finalizar":
Acceso a Oracle Database 11g desde AjpdSoft Administración Bases de Datos usando ODBC
En la ventana de Oracle ODBC Driver Configuration introduciremos las opciones de configuración. La más importante es "TNS Service Name" donde seleccionaremos la instanciá de Oracle a la que nos conectaremos. Si queremos realizar un test de conexión pulsaremos en el botón "Test Connection":
Acceso a Oracle Database 11g desde AjpdSoft Administración Bases de Datos usando ODBC
Nos pedirá usuario y contraseña, los introduciremos y pulsaremos "OK":
Acceso a Oracle Database 11g desde AjpdSoft Administración Bases de Datos usando ODBC
Si todo es correcto nos mostrará el siguiente mensaje, con el texto "Connection successful":
Acceso a Oracle Database 11g desde AjpdSoft Administración Bases de Datos usando ODBC
Usando este origen de datos ODB podremos conectarnos a Oracle desde cualquier aplicación que admita conexión por ODBC, como por ejemplo:

 

Anexo

  • Contenido fichero "Archivo de respuesta":

#-------------------------------------------------------------------------------
# Do not change the following system generated value.
#-------------------------------------------------------------------------------
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0

#-------------------------------------------------------------------------------
# The installation option can be one of the following
# 1. INSTALL_DB_SWONLY
# 2. INSTALL_DB_AND_CONFIG
# 3. UPGRADE_DB
#-------------------------------------------------------------------------------
oracle.install.option=INSTALL_DB_AND_CONFIG

#-------------------------------------------------------------------------------
# This variable holds the hostname of the system as set by the user.
# It can be used to force the installation to use an alternative
# hostname rather than using the first hostname found on the system
# (e.g., for systems with multiple hostnames and network interfaces).
#-------------------------------------------------------------------------------
ORACLE_HOSTNAME=localhost

#-------------------------------------------------------------------------------
# Unix group to be set for the inventory directory.
#-------------------------------------------------------------------------------
UNIX_GROUP_NAME=

#-------------------------------------------------------------------------------
# Specify the location which holds the inventory files.
# This is an optional parameter if installing on
# Windows based Operating System.
#-------------------------------------------------------------------------------
INVENTORY_LOCATION=C:\Archivos de programa\Oracle\Inventory

#-------------------------------------------------------------------------------
# Specify the languages in which the components will be installed.
#
# en : English ja : Japanese
# fr : French ko : Korean
# ar : Arabic es : Latin American Spanish
# bn : Bengali lv : Latvian
# pt_BR: Brazilian Portuguese lt : Lithuanian
# bg : Bulgarian ms : Malay
# fr_CA: Canadian French es_MX: Mexican Spanish
# ca : Catalan no : Norwegian
# hr : Croatian pl : Polish
# cs : Czech pt : Portuguese
# da : Danish ro : Romanian
# nl : Dutch ru : Russian
# ar_EG: Egyptian zh_CN: Simplified Chinese
# en_GB: English (Great Britain) sk : Slovak
# et : Estonian sl : Slovenian
# fi : Finnish es_ES: Spanish
# de : German sv : Swedish
# el : Greek th : Thai
# iw : Hebrew zh_TW: Traditional Chinese
# hu : Hungarian tr : Turkish
# is : Icelandic uk : Ukrainian
# in : Indonesian vi : Vietnamese
# it : Italian
#
# Example : SELECTED_LANGUAGES=en,fr,ja
#-------------------------------------------------------------------------------
SELECTED_LANGUAGES=en,es_ES

#-------------------------------------------------------------------------------
# Complete path of the Oracle Home
#-------------------------------------------------------------------------------
ORACLE_HOME=D:\Oracle\product\11.2.0\dbhome_1

#-------------------------------------------------------------------------------
# Complete path of the Oracle Base.
#-------------------------------------------------------------------------------
ORACLE_BASE=D:\Oracle

#-------------------------------------------------------------------------------
# Installation Edition of the component.
#
# The value should contain only one of these choices.
# EE : Enterprise Edition
# SE : Standard Edition
# SEONE : Standard Edition One
# PE : Personal Edition (WINDOWS ONLY)
#-------------------------------------------------------------------------------
oracle.install.db.InstallEdition=EE

#-------------------------------------------------------------------------------
# This property is considered only if InstallEdition is EE.
#
# true : Components mentioned as part of 'customComponents' property
# are considered for install.
# false : Value for 'customComponents' is not considered.
#-------------------------------------------------------------------------------
oracle.install.db.isCustomInstall=false

#-------------------------------------------------------------------------------
# This property is considered only if 'IsCustomInstall' is set to true
#
# Description: List of Enterprise Edition Options you would like to install.
#
# The following choices are available. You may specify any
# combination of these choices. The components you choose should
# be specified in the form "internal-component-name:version"
# Below is a list of components you may specify to install.
#
# oracle.oraolap:11.2.0.0.2 - Oracle OLAP
# oracle.rdbms.dm:11.2.0.0.2 - Oracle Data Mining RDBMS Files
# oracle.rdbms.dv:11.2.0.0.2 - Oracle Database Vault option
# oracle.rdbms.lbac:11.2.0.0.2 - Oracle Label Security
# oracle.rdbms.partitioning:11.2.0.0.2 - Oracle Partitioning
# oracle.rdbms.rat:11.2.0.0.2 - Oracle Real Application Testing
# oracle.clrintg.ode_net_2:11.2.0.0.2 - Oracle Database Extensions for .NET 2.0 (Windows)
#-------------------------------------------------------------------------------
oracle.install.db.customComponents=

###############################################################################
# #
# PRIVILEGED OPERATING SYSTEM GROUPS #
# ------------------------------------------ #
# Provide values for the OS groups to which OSDBA and OSOPER privileges #
# needs to be granted. If the install is being performed as a member of the #
# group "dba", then that will be used unless specified otherwise below. #
# #
# The value to be specified for OSDBA and OSOPER group is only for UNIX based #
# Operating System. #
# #
###############################################################################

#-------------------------------------------------------------------------------
oracle.install.db.DBA_GROUP=

#-------------------------------------------------------------------------------
oracle.install.db.OPER_GROUP=

#-------------------------------------------------------------------------------
# This variable represents the cluster node names selected by the .
# user for installation
# Example : oracle.install.db.CLUSTER_NODES=node1,node2
#-------------------------------------------------------------------------------
oracle.install.db.CLUSTER_NODES=

#-------------------------------------------------------------------------------
# One of the following
# - GENERAL_PURPOSE
# - TRANSACTION_PROCESSING
# - DATAWAREHOUSE
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE

#-------------------------------------------------------------------------------
# Global Database Name
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.globalDBName=orcl

#-------------------------------------------------------------------------------
# The Starter Database SID
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.SID=orcl

#-------------------------------------------------------------------------------
# Database character set
#
# One of the following
# AL32UTF8, WE8ISO8859P15, WE8MSWIN1252, EE8ISO8859P2,
# EE8MSWIN1250, NE8ISO8859P10, NEE8ISO8859P4, BLT8MSWIN1257,
# BLT8ISO8859P13, CL8ISO8859P5, CL8MSWIN1251, AR8ISO8859P6,
# AR8MSWIN1256, EL8ISO8859P7, EL8MSWIN1253, IW8ISO8859P8,
# IW8MSWIN1255, JA16EUC, JA16EUCTILDE, JA16SJIS, JA16SJISTILDE,
# KO16MSWIN949, ZHS16GBK, TH8TISASCII, ZHT32EUC, ZHT16MSWIN950,
# ZHT16HKSCS, WE8ISO8859P9, TR8MSWIN1254, VN8MSWIN1258
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.characterSet=WE8MSWIN1252
#-------------------------------------------------------------------------------
# Specify the total memory allocation for the database. (in MB)
# Value should be at least 256 MB, and should not exceed the
# total physical memory available on the system.
# Example: oracle.install.db.config.starterdb.memoryLimit=40
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.memoryLimit=3260
oracle.install.db.config.starterdb.memoryOption=true

#-------------------------------------------------------------------------------
# This variable controls whether to load Example Schemas onto
# the starter database or not.
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.installExampleSchemas=true

#-------------------------------------------------------------------------------
# This include enabling audit settings, configuring password
# profiles and revoking some grants to public. These settings
# are provided by default. You may choose to disable all.
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.enableSecuritySettings=true

#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.password.ALL=

#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.password.SYS=

#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.password.SYSTEM=

#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.password.SYSMAN=

#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.password.DBSNMP=

#-------------------------------------------------------------------------------
# Can be one of the following
# 1. GRID_CONTROL
# 2. DB_CONTROL
#
oracle.install.db.config.starterdb.control=DB_CONTROL

#-------------------------------------------------------------------------------
# Determines the Management Service to use if Grid Control
# is selected to manage the database.
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=

#-------------------------------------------------------------------------------
# Determines whether to receive email notification for
# critical alerts when using DB control.
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false

#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.dbcontrol.emailAddress=

#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.dbcontrol.SMTPServer=

#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.automatedBackup.enable=false

#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.automatedBackup.osuid=

#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.automatedBackup.ospwd=

#-------------------------------------------------------------------------------
# Can be one of the following
# - FILE_SYSTEM_STORAGE
# - ASM_STORAGE
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE

#-------------------------------------------------------------------------------
# Database file location:
# directory for datafiles, control files, redo logs.
#
# Applicable only when oracle.install.db.config.starterdb.storage=FILE_SYSTEM_STORAGE
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=D:\Oracle\oradata

#-------------------------------------------------------------------------------
# Backup and recovery location
#
# Applicable only when oracle.install.db.config.starterdb.storage=FILE_SYSTEM_STORAGE
#-------------------------------------------------------------------------------
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=

#-------------------------------------------------------------------------------
# Name of ASM disk group to be used for storage.
#
# Applicable only when oracle.install.db.config.starterdb.storageType=ASM_STORAGE
#-------------------------------------------------------------------------------
oracle.install.db.config.asm.diskGroup=

#-------------------------------------------------------------------------------
# Password for ASMSNMP user of the ASM instance.
#
# Applicable only when oracle.install.db.config.starterdb.storage=ASM_STORAGE
#-------------------------------------------------------------------------------
oracle.install.db.config.asm.ASMSNMPPassword=

#------------------------------------------------------------------------------
# Specify the My Oracle Support Account Username.
#
# Example : MYORACLESUPPORT_USERNAME=metalink
#------------------------------------------------------------------------------
MYORACLESUPPORT_USERNAME=

#------------------------------------------------------------------------------
# Specify the My Oracle Support Account Username password.
#
# Example : MYORACLESUPPORT_PASSWORD=password
#------------------------------------------------------------------------------
MYORACLESUPPORT_PASSWORD=

#------------------------------------------------------------------------------
# Specify whether to enable the user to set the password for
# My Oracle Support credentials. The value can be either true or false.
# If left blank it will be assumed to be false.
#
# Example : SECURITY_UPDATES_VIA_MYORACLESUPPORT=true
#------------------------------------------------------------------------------
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false

#------------------------------------------------------------------------------
# Specify whether user doesn't want to configure Security Updates.
# The value for this variable should be true if you don't want to configure
# Security Updates, false otherwise.
#
# The value can be either true or false. If left blank it will be assumed
# to be false.
#
# Example : DECLINE_SECURITY_UPDATES=false
#------------------------------------------------------------------------------
DECLINE_SECURITY_UPDATES=true

#------------------------------------------------------------------------------
# Specify the Proxy server name. Length should be greater than zero.
#
# Example : PROXY_HOST=proxy.domain.com
#------------------------------------------------------------------------------
PROXY_HOST=

#------------------------------------------------------------------------------
# Specify the proxy port number. Should be Numeric and atleast 2 chars.
#
# Example : PROXY_PORT=25
#------------------------------------------------------------------------------
PROXY_PORT=

#------------------------------------------------------------------------------
# Specify the proxy user name. Leave PROXY_USER and PROXY_PWD
# blank if your proxy server requires no authentication.
#
# Example : PROXY_USER=username
#------------------------------------------------------------------------------
PROXY_USER=

#------------------------------------------------------------------------------
# Specify the proxy password. Leave PROXY_USER and PROXY_PWD
# blank if your proxy server requires no authentication.
#
# Example : PROXY_PWD=password
#------------------------------------------------------------------------------
PROXY_PWD=

  • Datos instalación Oracle 11g R2 en W2003 R2:
    • Sistema operativo usado: Microsoft Windows Server 2003 R2 Enterprise x64 Edition Service Pack 2.
    • Hardware usado: equipo informático de sobremesa con:
      • Procesador: Intel Core i7 860 2,80GHz.
      • Memoria RAM: 8GB.

  • Solución al error "SEVERE: [FATAL] C:\Documents and Settings\Administrador\Configuración local\Temp\OraInstall2011-03-07_08-26-44AM\ext\bin\SetEnv.dll: No se pudo iniciar la aplicación porque su configuración es incorrecta. Reinstalar la aplicación puede solucionar el problema."
Error Oracle No se pudo iniciar la aplicación porque su configuración es incorrecta


En inglés: SEVERE: [FATAL] C:\Documents and Settings\admin\Local Settings\Temp\OraInstall2010-08-09_11-36-55PM\ext\bin\SetEnv.dll: This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.


Este error lo arreglamos de dos formas:
1. Instalando Oracle en la carpeta que nos muestra por defecto, sin modificarla.
2. En otros casos se ha resuelto eligiendo el método de instalación "Clase de Servidor" en vez de "Clase de Escritorio".

 

Artículos relacionados

  

Créditos

Artículo realizado íntegramente por Alonsojpd miembro fundador del proyecto AjpdSoft.