domingo, 20 de enero de 2019

Como Exportar e Importar en Oracle XE por medio de línea de comandos

Una de las tareas relevantes de un DBA es exportación e  importación de la base de datos o de algún componente de élla como sus esquemas y tablesspaces. Para este propósito se dispone de herramientas como RMAN y los programas EXPDP e IMPDP.

Este artículo se centrará  en la exportación e importación por medio de los programas PUMP DE DATOS(Expdp e Impdp).

Para ejecutar expdp e impdp debe disponer de usuarios con privilegios DBA como es el caso de SYSTEM.


  • Exportar una base de datos


Sintaxis del programa EXPDP:

expdp usuario/contraseña@localhost:puerto/BD full=valor directory=NombreDirectorio dumpfile=archivo.dmp 
logfile=archivo.log


Explicación de los parámetros:

  • EXPDP es el nombre del programa o comando de exportación.
  • Usuario corresponde a un usuario con privilegios de DBA como SYSTEM.
  • Puerto es 1521 por defecto.
  • BD es el nombre de la base de datos XE o de una PDB si nuestro servidor es Database XE 18c.
  • FULL indica si se exporta la base de datos en su totalidad(valor Y).
  • DIRECTORY se asigna el nombre del directorio virtual.
  • DUMPFILE se asigna el nombre del archivo de exportación.
  • LOGFILE se asigna el nombre del archivo de log. 


Ejemplo:

expdp system/contraseña@localhost:1521/XEPDB1 full=Y directory=DATA_PUMP_DIR dumpfile=xepdb1.dmp 
logfile=xepdb1.log
table_exists_actions=replace

  • Importar una base de datos

Sintaxis del programa IMPDP:

impdp usuario/contraseña@localhost:puerto/BD full=valor 
directory=NombreDirectorio dumpfile=archivo.dmp 
logfile=archivo.log
table_exists_actions=replace

table_exists_actions se asigna relace para indicar que se reemplacen las tablas que existan.

Ejemplo:

impdp system/contraseña@localhost:1521/XEPDB1 full=Y directory=DATA_PUMP_DIR 
dumpfile=xepdb1.dmp 
logfile=xepdb1.log

Exportar esquemas de bases de datos

Sintaxis del programa EXPDP:

expdp usuario/contraseña@localhost:puerto/BD SCHEMAS=esquema1, esquema2 directory=NombreDirectorio dumpfile=archivo.dmp logfile=archivo.log

Ejemplo:

expdp system/contraseña@localhost:1521/XEPDB1 schemas=hr directory=DATA_PUMP_DIR 
dumpfile=xepdb1.dmp  
logfile=xepdb1.log

Importar esquemas de bases de datos

Sintaxis del programa IMPDP:

impdp usuario/contraseña@localhost:puerto/BD 
SCHEMAS=esquema1, esquema2 
directory=NombreDirectorio dumpfile=archivo.dmp 
logfile=archivo.log

Ejemplo:

impdp system/contraseña@localhost:1521/XEPDB1 
schemas=hr directory=DATA_PUMP_DIR 
dumpfile=xepdb1.dmp  
logfile=xepdb1.log


sábado, 5 de enero de 2019

Crear y Administrar Espacios de Tablas(Tablespaces) Parte 2

Esta segunda parte, se centra en la creación y administración de espacios de tabla con Oracle SQL Developer.
Para lograr este objetivo es preciso crear o disponer de una conexión basada en el usuario SYS o SYSTEM de XEPDB1(vea aquí como conectarse a una PDB con Oracle SQL Developer) o del CDB(XE es el contenedor).

Instrucciones para visualizar el panel DBA
  1. Abrir la conexión con el usuario SYS o SYSTEM.
  2. Click en Ver.
  3. Click en DBA. 
  4. Click en el botón Agregar del panel DBA.
  5. Click en la conexión agregada en el panel DBA.
  6. Click en Storage.
Instrucciones para crear un TableSpace 
  1. Seleccionar Tablespaces.
  2. Click con el botón secundario. 
  3. Click en Crear Tablespace.
  4. Nombre del Tablespace: PROGRAMAS.
  5. Directorio: /opt/oracle/oradata/XE/XEPDB1/
  6. File size: 100 M(Megabytes)
  7. Click en reuse.
  8. Click en autoextend on.
  9. Next Size 10 M.
  10. Max Size 1 G.
  11. Click en Ok.
El nuevo espacio de tablas se visualizará en el nodo correspondiente.
Para editar o modificar un espacio de tabla:
  1. Seleccionar el espacio de tablas (en este caso PROGRAMAS).
  2. Del separador Programas seleccionar y hacer click en Acciones.
  3. Seleccionar Eidtar.
  4. En el cuadro de Edición puede modificar las propiedades del tablespace como su size, archivos de datos, entre otros.
Para borrar el espacio de tablas:
  1. Seleccionar el espacio de tablas (en este caso PROGRAMAS).
  2. Click con el botón secundario. 
  3. Click en Borrar Espacio de Tabla.
Saludos


miércoles, 2 de enero de 2019

Crear y Administrar Espacios de Tablas(Tablespaces) Parte 1

Los Espacios de Tablas o Tablespaces permiten agrupar lógicamente los datafiles o archivos de datos donde se almacenan físicamente los datos de las tablas de usuarios y del sistema. Oracle en todas sus ediciones cuenta por defecto con 5 tablespaces:
  • SYS
  • SYSTEM
  • UNDO
  • TEMP
  • USERS
Cada espacio de tabla tiene una función definida que se muestra en la tabla siguiente:


TABLESPACE
DESCRIPCIÓN
SYSTEMAlmacena información acerca de los datos de la base de datos.
SYSAUX"Es un tablespace que nace en 9i para dar soporte a los diferentes features de Oracle que necesitan crear segmentos dentro de la base de datos, por ejemplo AWR en 10g." 
http://www.forosdelweb.com/f100/tablespace-sysaux-606358/
UNDOSirve para retener los cambios que se realizan sobre los datos en Oracle y así poder deshacerlos.
TEMPContiene datos temporales o no permanentes  que permanecen únicamente por la duración de la sesión, es decir, que una vez que la sesión termina, estos datos son borrados. Ayuda a mejorar la concurrencia de múltiples operaciones tipo SORT que no caben en la memoria.
USERSAlmacena datos de los esquemas de los usuarios.

Crear tablespaces adicionales ayuda a organizar las  aplicaciones que se crean en base a esquemas, por ejemplo, podemos crear un tablespace que contengan esquemas para desarrollo, o también, podemos crear un tablespace por cada aplicativo a desarrollar.

Para crear un tablespace se emplea el comando CREATE TABLESPACE, su sintaxis básica es:

CREATE TABLESPACE NombreTableSpace
  DATAFILE 'ruta/darchivodatos.dbf' SIZE valor medida
  AUTOEXTEND ON OFF NEXT VALOR Medida; 
  
Crear un tablespace en una CDB o PDB.

create tablespace DESARROLLO
  datafile '/opt/oracle/oradata/XE/XEPDB1/desarrollo01.dbf'
  size 100M
  autoentend on next 10 M
  maxsize 2G;

Podemos agregar datafiles a un espacio de tablas por medio del comado alter tablespace:

alter tablespace DESARROLLO
  add datafile '/opt/oracle/oradata/XE/XEPDB1/desarrollo02.dbf'
  size 60M
  autoentend on next 10 M
  maxsize 1G;

Hasta el momento el espacio de tabla DESARROLLO contiene 2 archivos de datos con una capacidad de almacenamiento de 3GB que se contabilizan dentro del límite de los 12GB de capacidad máxima de almacenamiento de datos de usuario permitidos en 18c XE .  

Para eliminar espacios de tabla y su contenido se dispone del  comando siguiente:

drop tablespace DESARROLLO including contents and datafiles; 

Si se necesita eliminar un datafile, emplear el siguiente comando:

alter tablespace DESARROLLO drop datafile  '/opt/oracle/oradata/XE/XEPDB1/desarrollo02.dbf'

Este fue una breve introducción a la creación y administración de tablespaces y su importancia en la organización física de la base de datos.

Saludos

domingo, 16 de diciembre de 2018

Crear y administrar PDB's con Oracle SQL Developer

En el presente post nos dedicaremos a estudiar como crear y administrar PDB's en Oracle 18c XE empleando Oracle SQL Developer.

Crear una PDB


1. Ejecutar Oracle SQL Developer.

2. Crear una conexión como usuario SYS AS SYSDBA para conectarse con el CDB(Base de Datos Contendora).


3. Click en Menú Ver.

4. Click en DBA.

5. Click en el botón  Agregar Conexión.


6. Seleccionar la conexión SYSADMINISTRADOR.
 

6. Click en Bases de datos del Contenedor.



7. Seleccionar Crear PDB... para crear una base de datos de conexión en base a la plantilla PDB$SEED.



8. Llenar los datos solicitados en el cuadro de diálogo como lo muestra la imagen siguiente: (Nombre de la Base de Datos: XEPDB2)


Al crear la nueva PDB XEPDB2, se omite el espacio de tabla USERS, siendo necesario que usted cree ese tablespace por su cuenta.

La vista del script de creación de XEPDB2 es la siguiente:


10. Click en Aplicar.

11. Al desplegar el nodo de Bases de Datos del Contenedor, se visualizarán XEPDB1 y XEPDB2 que acaba de ser creada.


Clonar una PDB

Clonar una PDB implica crearla a partir de otra PDB, es decir, tomar una PDB existente como modelo o plantilla, en nuestro caso, clonaremos XEPDB1 que fue creada en el momento de la instalación de Oracle 18c XE.

1. Click en Bases de datos del Contenedor.

2. Seleccionar Clonar PDB...




3. Llenar el cuadro de clonar PDB con los datos de la imagen siguiente: 
(Nombre de la Base de Datos: XEPDB3)
(PDB de origen: XEPDB1) 



La vista del script de creación de XEPDB3 es la siguiente:





4. Click en Aplicar.

5. Al desplegar el nodo de Bases de Datos del Contenedor, se visualizarán XEPDB1, XEPDB2  y  XEPDB3 que acaba de ser creada.


Administración de Bases de datos del Contenedor(Pluggable Databases)

1. Seleccionar la base de datos XEPDB1 de la carpeta Bases de Datos del Contenedor y hacer click con el botón secundario y hacer click en Abrir...

2. En el área de trabajo se presenta un separador con dos separadores anidados: General y Archivos de Datos.


3. Click sobre Acciones...




4. Click en Refrescar PDB... (Realiza una actualización de la PDB dejándola abierta en modo de Sólo Lectura)



5. Click en Aplicar, obteniéndose el mensaje de error:



Nota.- XE 18c no soporta la propiedad de Refrescamiento como EE.

6. Click en Modificar Estado...(Cambia el estado de la PDB, es decir, Abierta en modo lectura escritura o Open Read Write, Abierta en modo de sólo lectura o Open Read Only, Cerrada o Closed.)




7. Click en Crear Disparador de Inicio. (Crea un disparador a nivel de Base de Datos o Instancia para iniciar la PDB en el arranque)


Salvar el estado de una PDB
Si se requiere preservar  el estado abierto en modo lectura y escritura de una PDB, ejecute la sentencia(debe verificar que su PDB está abierta en modo OPEN READ WRITE antes de submitir la instrucción):

ALTER pluggable DATABASE nombrepdb save state;

Un saludo, espero que este tutorial sea de ayuda.



domingo, 25 de noviembre de 2018

Desarrollo de Aplicaciones Web con Oracle Application Express (Parte 2)

1. Ingresar en la barra de direcciones de su navegador la siguiente dirección:

       http://127.0.0.1:8080/apex

2.  Llenar la página de login(credenciales) y hacer click en el botón Sign In.
        



3. Del menú principal de Apex, seleccionar App Builder


4. Del panel de opciones de App Builder seleccionar la opción Create.


5. Del asistente Create Application seleccionar New Application.


6. Definir el nombre de la aplicación.

7. Modificar la apariencia de la aplicación haciendo click en el botón Appearence:


8. Seleccionar del cuadro modal Appearence el estilo del tema y el modo de navegación.


9. Click en Save Changes.

10. Click en Add Page. 

11. Click en Form del cuadro modal Add Page. 


12. En el cuadro modal Create Form Page ingresar el nombre de la página, en este caso Empleados.


13. Click en Seleccionar tabla o Vista, en este caso: EMPLOYEES.


14. Click en Include Report (Incluir Reporte).

15. Click en Add Page.

16. Repetir las instrucciones del 11 al 15 para agregar la página de tipo formulario basada en la tabla Departamentos.
Se obtendrá una lista de las páginas agregadas:


17. Seleccionar las características: About Page y Access Control.


18. Click en Create Application.


19. Esperar a que culmine el proceso de creación mostrado en la barra de progreso.
20.  Al finalizar la creación de la aplicación, el programa direcciona a la primera página en modo de diseño. Hacer Click en Run(Ejecutar).


21. Se abre en el navegador la página del login e ingresamos las credenciales HR y su contraseña.


22. Click en Sign In.


Listo! Su primera aplicación en Apex ya está en ejecución y puede procesar los datos de la cuenta HR de un modo ágil y sencillo. 

Para volver al modo de edición deberá hacer click sobre el botón Application xxx o sobre el botón Edit Page N de la barra del desarrollador ubicada en la parte inferior de Apex, que se muestra a continuación:


Espero que este post sea de utilidad. 

Saludos.














Desarrollo de Aplicaciones Web con Oracle Application Express (Parte 1)

Oracle Application Express (Oracle Apex) es un entorno de desarrollo de bajo código que funciona embebido en una base de datos Oracle(EE,SE2,XE,PE) y permite la creación de aplicaciones web.
Con Oracle Apex se desarrollan aplicaciones web basadas en Oracle, hojas de cálculo y websheets.

Conceptos básicos

Aplicación web
Una aplicación web es un conjunto de páginas codificadas en HTML y JavaScript organizadas mediante enlaces que se presentan como barras de menú, enlaces, botones breadcrumbs que permiten navegar entre las diferentes páginas de la aplicación.
Página web
Elemento básico del desarrollo web que puede ser visto como un contenedor de componentes como controles de usuario(cuadros de texto, listas de selección, casillas de verificasción, botones de acción, botones de radio, selectores, tablas, enlaces), imágenes, paneles.
Regiones
Componentes a equivalentes a paneles que permiten organizar la distribución de controles de usuario en una página web.
Sub-regiones
Regiones dentro de otra región.
Espacio de Trabajo(WorkSpace)
Area lógica o contenedor asociado a un esquema de base de datos, usuario y contraseña. Cada espacio de trabajo puede contener una o varias aplicaciones web relacionadas con un esquema de base de datos.
Componentes compartidos(Shared Components)
Elementos comunes a varias aplicaciones como Listas, Listas de Valores, Imágenes, Métodos de autenticación, entre otros.

Ítems de Página

Controles comunes a una interfaz de usuario como cuadros de texto,  listas de selección, cuadros o casillas de comprobación, botones de radio, selectores.

Botones

Elemento rectangular asociado a la ejecución de instrucciones SQL, PL/SQL, Java Script o redireccionamiento de páginas.
Administrador de Servicios
Aplicación que permite gestionar los espacios de trabajo, usuarios y otros elementos pertinentes al desarrollo y monitoreo de aplicaciones web basadas en Oracle Apex.

Entrada destacada

Cómo instalar Oracle Database 18c Express Edition para Windows

Oracle Database 18c XE ya está disponible para Windows 64bit, en este post se enseñará como instalar y configurar esta nueva versión en W...