Создание каталога для внешней таблицы

Создайте объект DIRECTORY, соответствующий каталогу в файловой системе, где находится внешний источник данных.

CREATE OR REPLACE DIRECTORY emp_dir AS '/…/emp_dir'; GRANT READ ON DIRECTORY emp_dir TO hr;

Для создания объекта каталога для внешней таблицы используйте инструкцию CREATE DIRECTORY. Объект каталога задает псевдоним каталога в файловой системе сервера, где находится внешний источник данных. При ссылке на внешний источник данных можно использовать имена каталогов вместо жестко заданного в программе имени пути операционной системы с целью обеспечения большей гибкости управления файлами.

Для создания каталогов необходимо иметь системные привилегии CREATE ANY DIRECTORY. При создании каталога пользователю автоматически предоставляются объектные привилегии, и он может выдать привилегии READ и WRITE другим пользователям и ролям. Администратор базы данных также может предоставить эти привилегии другим пользователям и ролям.

Пользователю требуются привилегии READ на все каталоги, используемые во внешних таблицах, к которым происходит обращение, и привилегии WRITE для задействованных местоположений журнала, плохих и отвергнутых файлов.

Кроме того, привилегия WRITE необходима в случае, когда для выгрузки данных используется структура внешней таблицы.

Oracle предоставляет также тип ORACLE_DATAPUMP, с помощью которого можно выгрузить данные (т. е. прочитать данные из таблицы в базу данных и вставить их во внешнюю таблицу) и затем повторно загрузить их в базу данных Oracle. Это одноразовая операция, которая может быть выполнена при создании таблицы. После того как выполнено создание и заполнение начальными данными, какие либо строки невозможно обновить, вставить или удалить.

Синтаксис

CREATE [OR REPLACE] DIRECTORY AS ‘path_name’;

Элементы синтаксиса:

  • OR REPLACE Укажите предложение OR REPLACE, чтобы повторно создать объект каталога базы данных, если он уже существует. Это предложение позволяет изменить определение существующего каталога без удаления, повторного создания и повторного предоставления объектных привилегий базы данных, которые были выданы ранее на каталог. Пользователи, получившие ранее привилегии на переопределенный каталог, могут продолжать обращаться к каталогу без необходимости повторного предоставления им привилегий.

  • directory Указывается имя создаваемого объекта каталога. Максимальная длина имени каталога равна 30 байтам. Объект каталога невозможно определить с помощью имени схемы.

  • 'path_name' Указывается имя полного пути к каталогу операционной системы, к которому происходит обращение. Имя пути зависит от регистра.

Далее: Создание внешней таблицы

Похожие записи