Tutoriales

Crear reemplazar o eliminar un directorio en Oracle

Antes de usar los ejemplos

Un objeto DIRECTORY representa una ruta del servidor; no es la carpeta física. Confirmá la conexión, los permisos y los trabajos que usan ese objeto antes de modificarlo. Los ejemplos no deben ejecutarse sin adaptarlos a tu entorno.

Revisión técnica del : se corrigieron ejemplos y se añadieron aclaraciones documentadas; no se ejecutaron comandos sobre bases de datos para esta revisión.

Cómo crear, reemplazar o eliminar un objeto DIRECTORY utilizado por Data Pump. Comprobá los requisitos en la documentación de tu versión de Oracle.
Para crear, reemplazar o eliminar un directorio debemos hacer lo siguiente.

1.- Conectarnos con SQL*Plus y los privilegios necesarios


Pedí al administrador un usuario autorizado y el identificador de conexión correcto. No asumas que necesitás SYSDBA para esta tarea. En CMD, adaptá esta plantilla:
sqlplus USUARIO@IDENTIFICADOR_CONEXION
Ingresá la contraseña cuando SQL*Plus la solicite. El identificador de conexión no es simplemente el nombre de un esquema.

2.- Crear o reemplazar el directorio


En SQLPLUS usamos la siguiente consulta:
CREATE OR REPLACE DIRECTORY NOMBREDELAVARIABLE AS 'PATHDELDIRECTORIO';

Ejemplo para adaptar: prepará una carpeta dedicada en el servidor. Si MIEXPORTACION ya existe, comprobá sus usos antes de ejecutar OR REPLACE, porque cambiará su definición.

CREATE OR REPLACE DIRECTORY MIEXPORTACION AS 'C:\Oracle\Exports';
En este ejemplo, MIEXPORTACION apunta a C:\Oracle\Exports en el servidor de base de datos, no necesariamente en tu computadora. La carpeta debe existir y tener los permisos adecuados; CREATE DIRECTORY no la crea.
Para saber a qué carpeta o folder apunta MIEXPORTACION debemos usar la siguiente consulta:
SELECT DIRECTORY_PATH FROM DBA_DIRECTORIES WHERE DIRECTORY_NAME = 'MIEXPORTACION';
Si se creó con la ruta anterior y tenés acceso a DBA_DIRECTORIES, el resultado esperado es:
C:\Oracle\Exports

3.- Eliminar directorio


Solo cuando el objeto ya no se necesite y no haya procesos utilizándolo, la sintaxis es:
DROP DIRECTORY NOMBREDELAVARIABLE;
EJEMPLO:
Para retirar únicamente el objeto del ejemplo MIEXPORTACION, después de revisar sus usos:
DROP DIRECTORY MIEXPORTACION;

Permisos y efectos de los cambios

Oracle requiere CREATE ANY DIRECTORY para crear el objeto y DROP ANY DIRECTORY para eliminarlo. Los permisos sobre el objeto y sobre la carpeta son independientes. OR REPLACE puede cambiar una definición que otros trabajos utilizan. DROP DIRECTORY quita el objeto de la base, no la carpeta ni sus archivos, pero puede afectar a esos trabajos.

Referencias: CREATE DIRECTORY, DROP DIRECTORY y inicio de SQL*Plus.

Ver todos los tutoriales de bases de datos.

Responsable editorial: Todo sobre informática.

Comentarios (0)

Todavía no hay comentarios publicados. Podés ser la primera persona en participar.

Agregar un comentario público

Tu correo es opcional y no será publicado. Los comentarios se revisan antes de aparecer.

Solo lo usaremos para avisarte si respondemos.