Takun
@Takun
Инженер

Как выполнить экспорт таблиц, но некоторые из таблиц без данных?

Добрый день, хочу сделать export дампа базы, делаю полностью, но не могу понять, как у выделенных таблиц скопировать только структуру, без данных, пытаюсь сделать с помощью команды(пример):
expdp userbase/base parfile=base.par
В самом файле:
SCHEMAS=userbase
DUMPFILE=base.dmp
DIRECTORY=my_dp_dir
LOGFILE=dump.log
JOB_NAME=dump_job
EXCLUDE=TABLE:"='BONUS_20110101'"
EXCLUDE=STATISTICS
QUERY=TRANSACTION:"WHERE 1=0"

В итоге у меня появились следующие вопросы
  1. EXCLUDE это полный пропуск таблицы?
  2. Как можно исключить не всю таблицу, а лишь данные, строки в ней?
  3. И среди скриптов встретил значение "WHERE 1=0", оно конкретно что делает, вычитал что проверка состояние таблицы, но зачем используется при дампе?


Спасибо!
  • Вопрос задан
  • 489 просмотров
Решения вопроса 1
Lorien_Elf
@Lorien_Elf
Keep calm and drop database
>EXCLUDE это полный пропуск таблицы?
Да.

>Как можно исключить не всю таблицу, а лишь данные, строки в ней?
Написать условие WHERE 1=0

>проверка состояние таблицы, но зачем используется при дампе?
Это не проверка. QUERY позволяет ограничить выбор строк и таблицы при экспорте. Конкретно это условие говорит выбрать из таблицы TRNSACTION только те строки, для которых верно условие 1=0. Очевидно таких строк нет, поэтому никакие данные не будут проэкспортированы.

Можете указать несколько QUERY для нескольких таблиц, например:

SCHEMAS=userbase
DUMPFILE=base.dmp
DIRECTORY=my_dp_dir
LOGFILE=dump.log
JOB_NAME=dump_job
EXCLUDE=TABLE:"='BONUS_20110101'"
EXCLUDE=STATISTICS
QUERY=TRANSACTION:"WHERE 1=0"
QUERY=MY_TABLE:"WHERE 1=0"
QUERY=MY_ANOTHER_TABLE:"WHERE 1=0"
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы