Mostrando las entradas con la etiqueta Oracle 18c. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Oracle 18c. Mostrar todas las entradas

martes, 11 de agosto de 2020

Oracle Cloud Infrastructure - Creando una VM con Oracle 20c

En el artículo anterior "Oracle Cloud Infrastructure - Creando Compartimiento y Red Virtual (VCN)" configuramos un compartimiento y una red virtual (VCN) como pasos iniciales para crear una máquina virtual (VM) con Oracle Database en Oracle Cloud Infrastructure. A continuación veremos los pasos requeridos para configurar una VM en OCI con una instancia de Oracle Database.


Creando una VM con Oracle Database

El primer paso consiste en seleccionar la opción "Bare Metal, VM and Exadata" (también conocida como DB Systems) dentro de la sección "Oracle Database" del menú principal de la consola de Oracle Cloud Infrastructure:



Una vez en la página de DB Systems de Oracle Database, podemos ver los sistemas de DB que tenemos configurados en el compartimiento seleccionado (en este caso, lo haremos en el Compartimiento "Blog" que creamos en el artículo anterior). A continuación debemos presionar en "Create DB System" para crear nuestra VM con Oracle DB:



Creando la VM

En la primer página dentro del asistente de creación de DB System, vamos a configurar la VM donde se ejecutará nuestra instancia de Oracle DB. Lo primero que debemos hacer es :

  • Confirmar el Compartimiento a utilizar
  • Ingresar un nombre para la máquina virtual (es un nombre "amigable", no el nombre del servidor).
  • Seleccionar en que Availability Domain de la región estará ubicada la VM
  • Elegir entre VM, Bare Metal (servidor físico) o Exadata
  • Elegir el tamaño ("Shape") de la VM a crear, en este caso para instalar Oracle 20c es requerido que sea de tipo VM.Standard2.1.

Podemos cambiar el shape de la VM presionando en "Change Shape" (como se ve en la imagen anterior) y seleccionando la deseada de la lista disponible:


Luego, debemos elegir:
  • Edición de Oracle Database a utilizar, desde Standard a la versión de Ultra Performance, en nuestro caso nos alcanza con una versión Enterprise.
  • Definir de qué manera queremos manejar el almacenamiento. Para una instalación más rápida nos alcanza con usar la version de "Logical Volume Management".
  • El tamaño de almacenamiento, el cual inicia en 256 Gb., lo cual es más que suficiente para esta prueba.


Luego, deberemos ingresar:
  • Una clave pública de SSH, para poder conectarnos al equipo. Puede elegirse entre ingresar la clave (como hice en este caso) o subir un archivo de clave pública. Si no saben cómo generar una clave, pueden consultar la herramienta PuttyGen. Debemos guardar la clave privada en un lugar seguro, será requerida para conectarnos a la VM. 
  • Elegir entre usar una licencia provista por Oracle (lo cual implica un costo), o ingresar los detalles de una licencia Oracle que ya hayamos adquirido

La última parte de la creación de la VM requiere seleccionar:

  • La VCN (Virtual Cloud Network) donde residirá la VM. Vamos a usar la VCN creada en el artículo anterior.
  • La subred dentro de la VCN. Ya que queremos acceder a la VM en forma directa desde Internet, vamos a ubicarla en la subnet pública, pero en condiciones normales los equipos de tipo DB system suelen estar ubicados en la subred privada.
  • El nombre de Host (servidor) de la VM.
Una vez ingresados los datos, presionamos "Next" para culminar la configuración de la VM y pasar a configurar la Instancia de Oracle:


Configurando la instancia de Oracle Database

En esta página vamos a definir la características de la instancia de Oracle que crearemos dentro de la VM configurada en el punto anterior. 

Lo primero que debemos seleccionar es:

  • Nombre de la base de datos contenedor (CDB).
  • Versión de la base de datos. En este caso, no me dejó elegir Oracle 20c, es probable que sea debido a que ya tengo configurada otra VM con Oracle 20c y esa versión está disponible sólo como preview.
  • Nombre de la PDB que usaremos para crear nuestros esquemas, tablas, etc. Esto no es obligatorio (podemos crear la PDB posteriormente, como en cualquier instancia de Oracle).
  • Contraseña del usuario SYS (tambien usada para SYSTEM).

A continuación sólo resta seleccionar el tipo de uso que le daremos a la DB (procesamiento de transacciones o Data Warehouse) y presionar el botón "Create DB System" para crear la VM con la instancia:

Al seleccionar "Create DB System" la consola vuelve a la página de DB Systems, y nos muestra el estado del proceso de provisionamiento de la VM con la instancia. Este proceso puede demorar entre 10 y 30 minutos:


Al finalizar el proceso, el estado de la VM aparecerá como "Available" (disponible). Podemos ver los detalles del sistema si seleccionamos en el nombre de la misma:

Al ver los detalles de la VM tenemos acceso a toda la información de la VM y la base de datos creada:


Al seleccionar "Nodes" en la parte inferior izquierda del detalle de la VM (como se ve en la imagen anterior) podemos ver las características del nodo, incluyendo la dirección IP pública que usaremos para conectarnos a la VM:

Con esto queda finalizado el proceso de creación de la VM con una instancia Oracle.


Probar a la Base de Datos

Podemos probar en forma rápida de conectarnos a la VM y una vez en ella, conectarnos a la DB. Para ello debemos:


  1. Configurar Putty u otra herramienta que permita conexiones SSH, para conectarnos con la VM. Para ello usaremos:
    • La IP pública del punto anterior
    • El usuario de Linux "opc" (disponible por defecto en todas las VM de OCI).
    • El archivo de clave privada correspondiente a la clave pública que usamos al configurar la VM.
  2. Una vez conectamos con "opc" cambiar al usuario "oracle" usando el siguiente comando:
            sudo su - oracle


Una vez conectados como "oracle", podemos hacer lo que deseemos con nuestra instancia!


viernes, 6 de diciembre de 2019

Machine Learning, Spatial y Graph ya no requieren licencias adicionales


En el día de ayer William Hardie (vicepresidente de Oracle) anunció en su blog que estas tres características de Oracle Database no requieren licencias adicionales y pueden ser usadas en todas las ediciones de Oracle Database (Standard Edition 2, Enterprise Edition , Cloud, etc.) sin ningún costo extra, en las versiones de Oracle actualmente soportadas (Oracle 11g R2, 12c y 12c R2, 18c y 19c).

Esto se puede confirmar en la documentación oficial, donde se pueden ver los mismos disponibles sin ningún costo adicional:





lunes, 2 de septiembre de 2019

Nuevo Artículo publicado en OTN: Instalación y configuración de Oracle ODBC Gateway 12c-18c-19c en Windows

Hoy publicaron en OTN en Español mi segundo artículo "Instalación y configuración de Oracle ODBC Gateway 12c-18c-19c en Windows".



El mismo describe paso a paso la instalación y configuración del Gateway ODBC, el cual permite acceder a distintos tipos de datos externos (desde bases de datos SQL Server o PostgreSQL a archivos Excel) desde una base de datos Oracle


lunes, 18 de marzo de 2019

Instalación Paso a Paso de Oracle 18c XE en Windows




A continuación voy a describir los pasos completos para instalar Oracle 18c XE en un equipo con Windows, junto con algunas recomendaciones para simplificar la instalación, evitar errores y poder utilizar las bases de datos facilmente.

Validar Requerimientos

La primer tarea antes de iniciar la instalación es validar que el equipo donde deseamos instalar Oracle XE cumpla con los requerimientos mínimos de hardware y software

Las plataformas soportadas son:

  • Windows 7 x64 - Ediciones Professional, Enterprise y Ultimate
  • Windows 8.1 x64 - Ediciones Pro y Enterprise
  • Windows 10 x64 - Ediciones Pro, Enterprise y Education
  • Windows Server 2012 x64 - Ediciones Standard, Datacenter, Essentials y Foundation
  • Windows Server 2012 R2 x64 - Ediciones Standard, Datacenter, Essentials y Foundation
  • Windows Server 2016 x64 - Ediciones Standard, Datacenter y Essentials


En el caso de Windows Server, el mismo no puede ser Domain Controller (esto no está aclarado en la documentación pero si fue reportado en los foros y confirmado por Oracle).

Los requerimientos de hardware son:

  • 8,5 Gb de espacio en disco, mas 2 Gb temporales durante la instalación.
  • 2 Gb de RAM.

A nivel permisos, el usuario que ejecuta la instalación debe ser miembro del grupo Administradores. En caso de realizar la instalación con un usuario de Dominio, asegurarse que el equipo este conectado a la red antes de comenzar la instalación.


Descargar Oracle 18c XE para Windows

Descargar el software desde la página de descargas de Oracle XE18c.

Una vez descargado el archivo Zip, descomprimir el mismo en una carpeta temporal desde donde se realizará la instalación, la cual puede ser eliminada una vez finalizado el proceso de instalación.

Instalar Oracle 18c XE

  • Asegurarse que la variable de  entorno "ORACLE_HOME" no esté definida en el equipo.
  • Ubicarse en la carpeta donde se descomprinió el archivo Zip, hacer click derecho sobre el archivo "Setup.exe" y ejecutar como administrador.


  • Esperar a la instalación del paquete de pre-requisitos. Una vez finalizado este paso, el instalador presentará la pantalla de bienvenida, en la que se debe presionar "Siguiente":



  • A continuación se debe aceptar el Acuerdo de Licencia y presionar "Siguiente":


  • El paso siguiente requiere seleccionar una carpeta de instalación. Dentro de la misma se generan las siguientes carpetas:
    • Admin (Archivos de dump, pfile y Oracle Wallet)
    • Audit (Logs de Auditoria)
    • cfgtoollogs (Logs de herramientas de configuración como DBCA o NetCA)
    • checkpoints
    • dbhomeXE (Oracle Home de la version  XE)
    • diag (logs y archivos de diagnostico)
    • oradata (archivos de datos de la CDB y las PDB)


  • A continuación se debe ingresar la contraseña para los usuarios SYS, SYSTEM y PDBADMIN y presionar "Siguiente":


  • La siguiente pantalla muestra un resumen de donde se va a instalar Oracle 18c XE. Al presionar "Instalar" se da comienzo a la instalación:


  • El proceso de instalación, creación de la base de datos CDB y de una base de datos PDB demanda unos 20 minutos:


  • Una vez finalizado el mismo, la pantalla final nos muestra información sobre la forma de conectarse tanto a la CDB como a la PDB y de la dirección web donde se encuentra en ejecución el Enterprise Manager Express de la instancia:


Servicios

Una vez instalada Oracle 18c XE, los siguientes servicios deberían estar disponibles:



Inicio automático de bases PDB

Al finalizar la instalación, tanto la base de datos CDB como la PDB se encuentran abiertas y disponibles para ser utilizadas. Pero al reiniciar el servidor y volver a iniciarse el servicio, solo la base de datos contenedor (CDB) se iniciará en forma automática.

Para configurar las bases de datos PDB (como ser la base XEPDB1 creada durante la instalación) para que inicien de forma automática se debe realizar lo siguiente:


  1. Conectarse a la base de datos contenedor (CDB).
  2. Ejecutar las siguientes sentencias

SQL> ALTER PLUGGABLE DATABASE ALL OPEN;
SQL> ALTER PLUGGABLE DATABASE ALL SAVE STATE;


Nota: Si se crea alguna base de datos PDB con posterioridad, se debe repetir estos pasos.


Conexión desde SQL Developer

Para establecer una conexión a la base de datos XE recientemente instalada, deberemos utilizar los datos informados en el ultimo paso del proceso de instalación:


  • Nombre de Conexión: Usar un nombre que nos permita identificar a que base de datos y con que usuario nos estamos conectando
  • Usuario: Utilizar inicialmente el usuario "System"
  • Contraseña: Utilizar la contraseña provista en el punto 4 del proceso de instalación.
  • Nombre del Host: Si la conexión la estamos haciendo desde el miso equipo donde realizamos la instalación, alcanza con utilizar "localhost". De estar conectándonos desde otro equipo utilizar en nombre o dirección IP apropiada
  • Puerto: utilizar el puerto informado en el ultimo paso del proceso de instalación (se lo identifica por el número en la cadena de conexión, como ser "localhost:1521"). El puerto donde escucha el Listener por defecto es el 1521, pero podría variar si hay mas de un Listener ya instalado.
  • Seleccionar "Nombre del Servicio" e ingresar "XE" para la base de datos contenedor (CDB) o "XEPDB1" para la PDB.

A continuación, al presionar "Probar" debe aparecer un mensaje "Estado: Correcto" en la sección inferior izquierda. Presionar luego "Guardar" para guardar la conexión.




jueves, 21 de febrero de 2019

Oracle 18c XE disponible para Windows


Después de varios meses de espera, Oracle liberó la nueva versión de su base de datos Oracle 18c XE (eXpress Edition) para sistemas operativos Windows.


Oracle 18c XE posee la mayoría de las características de la edición Enterprise, con algunas limitaciones:

  • Hasta 3 PDB (Plugabble Databases)
  • 2 CPU para procesamiento
  • 2 GB de RAM (PGA+ SGA combinadas)
  • 12G GB de almacenamiento de datos de usuarios (puede usarse compresión)


La misma es ideal para entornos de desarrollo y para pequeñas implementaciones productivas que no deseen afrontar los costos de licenciamiento de las versiones con soporte.

La versión puede ser descargada aquí.

Información Adicional:

sábado, 20 de octubre de 2018

Oracle Database 18c XE Disponible para Linux


Después de mucho tiempo de espera, Oracle liberó la nueva versión de su base de datos Oracle 18c XE (eXpress Edition), la cual posee la mayoría de las características de la edición Enterprise, con algunas limitaciones:

  • Hasta 3 PDB (Plugabble Databases)
  • 2 CPU para procesamiento
  • 2 GB de RAM (PGA+ SGA combinadas)
  • 12G GB de almacenamiento de datos de usuarios (puede usarse compresión)


La misma es ideal para entornos de desarrollo y para pequeñas implementaciones productivas que no deseen afrontar los costos de licenciamiento de las versiones con soporte.

La versión 18c (18.0.4.0) ya se encuentra disponible para Linux 64 bit (no habrá versiones de 32 bit)  y puede ser descargada aqui.

Información Adicional:


Muy pronto estará disponible la misma para entornos Windows 64 bit

jueves, 11 de octubre de 2018

SQL Developer 18.3 disponible



Oracle SQL Developer 18.3 ya está disponible para ser descargado aquí.

Algunos links útiles:


Para consultas y dudas, recomendamos usar el foro de SQL Developer en Oracle Community. Para conocer mas sobre los cambios de este release, nada mejor que el blog de Jeff Smith.

martes, 21 de agosto de 2018

Oracle 18.3 Disponible On-Premise para MS Windows 64 bit


Oracle anunció la disponibilidad de Oracle 18.3 on-premise para Windows, completando así la disponibilidad en las cuatro plataformas mas utilizadas (ya se encontraban disponibles las versiones para Solaris x86, Solaris Sparc y Linux) en la actualidad.

La versión se encuentra disponible para ser descargada desde aquí.

Para mas detalles se puede consultar la sección de nuevas características de la documentación de la nueva versión.

Solo resta esperar a Octubre, fecha en la que Oracle planea liberar la versión XE de la base de datos.

miércoles, 8 de agosto de 2018

Oracle 18.3 Disponible On-Premise para Solaris x86


Oracle anunció la disponibilidad de Oracle 18.3 on-premise para sistemas operativos Solaris basado en arquitecturas x86, sumándose así a la versión para Linux y la versión para Solaris Sparc disponibles desde hace algunos días.

La versión se encuentra disponible para ser descargada desde aquí.

Para mas detalles se puede consultar la sección de nuevas características de la documentación de la nueva versión.

Seguramente en los próximos días se anunciará la disponibilidad de la misma en Windows, aunque lamentablemente la edición XE fue postergada para el mes de Octubre.

viernes, 3 de agosto de 2018

Agenda confirmada en ODC Latin America Tour 2018 Argentina

El próximo jueves 9 de Agosto llega la primera edición del Oracle Developer Community (ODC) Latin America Tour, la versión renovada del famoso OTN (Oracle Technology Network) Tour que desde hace varios años nos permite conocer características y detalles de las tecnologías de Oracle.

El evento se desarrollará entre las 08:30 y las 18:00 en la sede de la Fundación UADE, Lima 775, CABA. La inscripción al evento (requerida) se encuentra disponible en el siguiente link.

Al igual que en las ultimas ediciones, este año voy a participar con una charla titulada "What's new for developers in latest Oracle Database Releases?" en el Track #3 (Desarrollo PL/SQL), a las 11:45.

La agenda del completa del evento es la siguiente:


Oracle 18.3 Disponible On-Premise para Solaris Sparc


En el día de hoy Oracle anunció la disponibilidad de Oracle 18.3 on-premise para sistemas operativos Solaris SPARC, sumándose así a la versión para Linux disponible desde hace algo mas de una semana.

La versión se encuentra disponible para ser descargada desde aquí.

Para mas detalles se puede consultar la sección de nuevas características de la documentación de la nueva versión.

Seguramente en los próximos días se anunciará la disponibilidad de la misma en Windows, aunque lamentablemente la edición XE fue postergada para el mes de Octubre.

martes, 10 de julio de 2018

Voy a estar presentando en ODC Tour 2018 Argentina!



El próximo jueves 9 de Agosto voy a estar participando de  la primera edición del Oracle Developer Community, la versión renovada del famoso OTN (Oracle Technology Network) Tour que desde hace varios años nos permite conocer características y detalles de las tecnologías de Oracle. En este caso será una charla titulada "What's new for developers in latest Oracle Database Releases?" en el track de Desarrollo PL/SQL.





El evento se desarrollará entre las 08:30 y las 18:00 en la sede de la Fundación UADE, Lima 775, CABA. La lista de disertantes y agenda del evento se encuentra disponible aqui.


La inscripción al evento (requerida) se encuentra disponible en el siguiente link.

martes, 12 de junio de 2018

Oracle 18c - Tablas Temporales Privadas


Desde Oracle 8i es posible crear Tablas temporales en Oracle, aunque la definición de Temporal en esos casos es relativa. Si bien el "contenido" (los datos) de dichas tablas es temporal, su definición no lo es.

Las tablas temporales tal cual las conocemos, llamadas Global Temporary Table, son objectos de diccionario de datos, por lo que su definición es almacenada en el mismo y persiste, no así con el contenido de las mismas.

¿Que son las tablas temporales privadas?

A diferencia de las tablas temporales globales, las tablas temporales privadas no se almacenan en el diccionario de datos, su definición reside en memoria en la PGA (Process Global Area, el area de memoria destinada a mantener valores de cada sesión en Oracle) por lo que son eliminadas en forma automática ya sea al hacer commit (opción por defecto) o bien al finalizar la sesión que la crea.

Al ser objectos que existen sólo en memoria y no se encuentran almacenados en el Diccionario de Datos, no pueden ser utilizados en forma directa en objetos PL/SQL (procedimientos, funciones) ni en vistas, ya que su definición es "volátil". Si necesitamos utilizar una tabla temporal privada dentro de un procedimiento o función, deberemos crear la misma y utilizarla mediante código dinámico.

¿Como se crea una tabla temporal privada?

La sintaxis para crear una tabla temporal privada es la siguiente:

CREATE PRIVATE TEMPORARY TABLE ORA$PTT_sales_ptt_transaction
(time_id      DATE,
 amount_sold  NUMBER(10,2))
[ON COMMIT [DELETE | PRESERVE] ROWS]
 ON COMMIT [DROP|PRESERVE] DEFINITION;

La primer cosa a considerar es el nombre de las tablas temporales privadas. Las mismas deben comenzar con un prefijo específico, el cual se define en el parámetro "PRIVATE_TEMP_TABLE_PREFIX", y cuyo valor por defecto es "ORA$PTT_".

Por otro lado, al declarar una tabla temporal privada deberemos especificar la "duración" de la misma, con la clausula "ON COMMIT [DROP|PRESERVE] DEFINITION". Por defecto, la tabla es eliminada (tanto su definición como su contenido) cuando se ejecuta un COMMIT en la sesión que la creó. Pero se puede preservar la existencia de la misma incluyendo la clausula "ON COMMIT PRESERVE DEFINITION".

La opción "ON COMMIT [DELETE|PRESERVE] ROWS" se mantiene igual que en la sintaxis de las tablas temporales globales.

Restricciones de las Tablas Temporales Privadas

De por si, las tablas temporales poseen un conjunto de restricciones que detallamos a continuación.

  • Las tablas temporales no puede ser particionadas, ni de tipo Cluster o Index Organized.
  • No se pueden definir claves foráneas sobre las tablas temporales.
  • Las tablas temporales no pueden contener columnas de tipo tabla anidada.
  • No se puede realizar UPDATE, DELETE ni MERGE en paralelo en las tablas temporales.
  • La única parte de la clausula de atributos de segmento que se puede especificar para las tablas temporales es la option TABLESPACE, la cual debe referenciar a un único tablespace de tipo temporal.
  • Las tablas temporales no pueden ser utilizadas en transacciones distribuidas.
  • Las tablas temporales no pueden contener columnas de tipo INVISIBLE.


Cuando trabajamos con tablas temporales privadas debemos tener en cuenta las siguientes restricciones adicionales:

  • No se puede crear índices, vistas materializadas con tablas temporales privadas.
  • No se puede asignar un valor por defecto a las columnas de una tabla temporal privada.
  • No se puede hacer referencia a tablas temporales privadas en objetos permanentes, como ser vistas o triggers.
  • Las tablas temporales privadas no son visibles a trabes de database links.
  • Al no almacenarse su definición en el diccionario de datos, no es factible ver las mismas en las vistas usuales del diccionario de datos, como ser "USER_TABLES". Para poder conocer las tablas temporales privadas existentes en un momento dado se pueden consultar estas dos nuevas vistas:


¿Cuando usar tablas temporales privadas?

Un ejemplo de cuando utilizar una tabla temporal privada es en una base de datos en modo READ ONLY, ya que la misma no es almacenada en el diccionario de datos.

lunes, 11 de junio de 2018

Oracle 18c - Tablas Externas "Inline"


Tablas Externas "Inline"

¿Que son las tablas externas?

Las tablas externas existen en Oracle desde la versión 9i, y permiten acceder a información contenida en archivos de texto como si fueran tablas almacenadas dentro de la base de datos.

Las mismas fueron adquiriendo nuevas características con el paso del tiempo. Inicialmente, eran de solo lectura, pero desde Oracle 10g se puede realizar modificaciones a las mismas.

En Oracle 12.2 es posible “particionar” el contenido de las tablas externas, con lo cual podemos ver varios archivos como si fueran una única tabla, y también es posible modificar algunos parámetros (como ser el directorio por defecto o los nombres de archivo) directamente al momento de escribir una consulta, sin necesidad de modificar la definición de la tabla en forma permanente.

¿Qué es lo nuevo en Tablas Externas en Oracle 18c?

Oracle 18c introduce la opción de Tablas Externas "INLINE", lo que traducido a conceptos básicos significa que la definición de la tabla externa se puede hacer directamente en la sentencia que la va a utilizar, sin necesidad de que la misma exista previamente.

SELECT Pais, Provincia, Sucursal, MontoMensual
FROM   EXTERNAL (
         (
           Pais    VARCHAR2(30),
           Provincia VARCHAR2(30),
           Sucursal  VARCHAR2(30),
           MontoMensual NUMBER(18,4)
         )
         TYPE oracle_loader
         DEFAULT DIRECTORY datos_externos
         ACCESS PARAMETERS (
           RECORDS DELIMITED BY NEWLINE
           BADFILE datos_externos
           LOGFILE datos_externos:'inline_ext_tab_%a_%p.log'
           DISCARDFILE datos_externos
           FIELDS CSV WITH EMBEDDED TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
           MISSING FIELD VALUES ARE NULL (
             Pais,
             Provincia,
             Sucursal,
             MontoMensual
           )
        )
        LOCATION ('ventas_argentina.txt', 'ventas_chile.txt', 'ventas_uruguay.txt')
        REJECT LIMIT UNLIMITED
      ) inline_ext_tab
ORDER BY Pais, Provincia, Sucursal;

Si bien el código no queda muy elegante, permite acceder a datos externos (que sean accesibles para la base de datos) sin necesidad de crear un objeto de tipo tabla, lo cual puede ser muy útil en bases de datos o esquemas de solo lectura.

La sintraxis completa puede ser consultada aqui y aqui.

viernes, 8 de junio de 2018

Oracle 18c - ALTER SYSTEM CANCEL


ALTER SYSTEM CANCEL

A partir de la version 18c, es posible cancelar una sentencia ejecutándose en la base de datos sin necesidad de terminar (matar) a la sesión que la está ejecutando.

Para ello, Oracle 18c introduce una nueva opción "CANCEL" en la sentencia "ALTER SYSTEM", la cual tiene la siguiente sintaxis:

ALTER SYSTEM CANCEL SQL ‘SID, SERIAL, [, @INST_ID] [, SQL_ID]’;

Los valores de "SID" y "SERIAL" son idénticos a los que se utilizan históricamente para terminar una sesión utilizando "ALTER SYSTEM KILL". La opción "CANCEL" nos permite indicar dos parámetros adicionales:


  • @INST_ID: Indica la instancia donde la sesión se está ejecutando, y va siempre precedida del símbolo @. Si no se especifica un valor, Oracle asume que la sentencia a cancelar se está ejecutando en la misma instancia donde se ejecuta la sentencia "ALTER SYSTEM CANCEL".
  • SQL_ID: Indica el identificador de la sentencia SQL que deseamos cancelar. Si no se especifica un valor, la sentencia que se esté ejecutando al momento de hacer el "ALTER SYSTEM CANCEL" será cancelada.

Para obtener los datos de las sesiones que están activas, se puede ejecutar la siguiente sentencia:

SELECT s.sid,
       s.serial#,
       s.sql_id,
       s.username,
       s.program,
       s.status
FROM   v$session s
WHERE s.status = 'ACTIVE';



En entornos RAC, se debe usar la vista global "gv$session" e incluir la columna "inst_id" en los resultados:

SELECT s.sid,
       s.serial#,
       s.inst_id,
       s.sql_id,
       s.username,
       s.program
FROM   gv$session s
WHERE s.status = 'ACTIVE';

Se puede consultar la documentación oficial aquí.

martes, 13 de marzo de 2018

Oracle 18c - ORACLE_HOME de Solo Lectura


Instalar en un ORACLE_HOME de sólo lectura

La versión 18c de Oracle permite realizar la instalación del motor de bases de datos en un ORACLE_HOME de sólo lectura, mientras que los archivos de configuración y logs residen en un directorio independiente fuera del mismo. Esta nueva característica permite utilizar a un ORACLE_HOME instalado en modo sólo lectura como una imagen para ser distribuida entre múltiples servidores, agilizando el proceso de actualización (patches & upgrades) y simplificando la provisión de entornos, al separar la instalación de la configuración.

¿Qué es ORACLE_BASE_HOME?

Es la ubicación donde se encuentran los archivos de logs y de instancia de un "ORACLE_HOME". En una instalación normal, la misma coincide con el "ORACLE_HOME", pero en una instalación de modo sólo lectura esta ubicación se encuentra ahora en "ORACLE_BASE/homes/HOME_NAME".

Por ejemplo, los directoriosn "network/admin", "network/trace", y "network/log" se encuentran dentro del directorio "ORACLE_BASE_HOME".

Para saber donde se encuentra ubicado "ORACLE_BASE_HOME", se debe realizar lo siguiente:

$ setenv ORACLE_HOME /u01/app/oracle/product/18.0.0/dbhome_1
$ cd $ORACLE_HOME/bin
$ ./orabasehome
$ u01/app/oracle/homes/OraDB18Home1

¿Qué es ORACLE_BASE_CONFIG?

Es la ubicación donde se encuentran los archivos de configuraciónde un "ORACLE_HOME". En una instalación normal, la misma coincide con el "ORACLE_HOME", pero en una instalación de modo sólo lectura esta ubicación se encuentra ahora en "ORACLE_BASE".

Por ejemplo, "ORACLE_BASE_CONFIG/dbs" contiene los archivos de configuracion para el "ORACLE_HOME". Cada archivo en el directorio "dbs" directory contiene "$ORACLE_SID" como parte del nombre de forma tal que pueda ser compartido por distintos "ORACLE_SIDs".

Para saber donde se encuentra ubicado "ORACLE_BASE_CONFIG", se debe realizar lo siguiente:

$ setenv ORACLE_HOME /u01/app/oracle/product/18.0.0/dbhome_1
$ cd $ORACLE_HOME/bin
$ ./orabaseconfig
$ u01/app/oracle/

¿Qué es orabasetab?

Es un archivo utilizado para definir donde se ubican los directorios principales de cada "$ORACLE_HOME": "ORACLE_BASE", "ORACLE_BASE_HOME" y "ORACLE_BASE_CONFIG". 

El archivo se encuentra en "ORACLE_HOME/install/orabasetab" y puede ser utilizado para determinar si el "ORACLE_HOME" es de sólo lectura. También define los valores de "ORACLE_BASE" y "HOME_NAME" (nombre interno del "ORACLE_HOME")

Para consultar su contenido, se puede realizar:

$ cd /u01/app/oracle/product/18.0.0/dbhome_1/install
$ cat orabasetab
$ u01/app/oracle/product/18.0.0/dbhome_1:/u01/app/oracle:OraDB18Home1:Y:

La última "Y" indica que el Oracle Home es de sólo lectura.



jueves, 8 de marzo de 2018

Oracle 18c - Instalación mediante RPM en Linux

Instalar en Linux Utilizando RPM

La instalación de base de datos basada en RPM (RDI) permite, en entornos Linux, instalar el software de base de datos Oracle utilizando RPM.

Con el comando rpm-ivh, una instalación de base de datos basada en RPM realiza las validaciones de pre-instalación, extrae el software empaquetado, reasigna el propietario del software extraído al usuario y grupos pre-configurados, actualiza el inventario de Oracle y ejecuta todas las operaciones de "root" requeridas para completar la instalación del software Oracle.


La documentación oficial esta disponible: 


Como Descargar Oracle 18c

Para descargar Oracle 18c y probarla en Linux, es posible utilizar los binarios de Exadata, los cuales se encuentran disponibles en el sitio de eDelivery de Oracle

Primero se debe seleccionar "Oracle Database (Exadata Only)" en la búsqueda de productos



Luego, seleccionar la plataforma (recordando que Exadata es Linux )


Luego de aceptar la licencia, se puede descargar el archivo en forma directa o utilizando un gestor de descargas.