2017-02-21 20 views
1

У меня есть база данных Oracle. В базе данных Существует три таблицы (таблицы a, b, c) и представление (объединение таблиц a и b).Как создать резервный просмотр и некоторые таблицы в оракуле?

Я хочу создать резервную копию таблицы dan b, а также вид. Я использовал этот синтаксис exp user/psw file=backup.dmp tables=(a,b), но он не резервирует вид, а только таблицу. Как я могу включить представление для резервного копирования?

ответ

2

От Oracle 10g вперед, expdp является стандартной экспортной командой, а exp устарел.

expdp содержит include, где вы можете указать таблицы и виды, которые хотите экспортировать. Вот пример команды.

expdp scott/[email protected] schemas=MYSCHEMA 
include=TABLE:"IN ('A', 'B','C')",VIEW:"IN('my_view')" 
directory=MY_DIR dumpfile=Exp_ABC_MyView.dmp logfile=expdpExp_ABC_MyView.log 

Далее вы можете экспортировать только определения или данные объектов или и то, и другое. Другие примеры: https://oracle-base.com/articles/10g/oracle-data-pump-10g

+1

спасибо. Я реализовал с использованием фактических таблиц и представлений следующим образом: 'expdp blacklizard/pswd @ mydb schemas = blacklizard include = TABLE:" IN ('DEPARTEMEN1', 'DEPARTEMEN2', 'DEPARTEMEN3', 'DEPARTEMEN4', ..., 'DEPARTEMEN4', ..., DEPARTEMEN20 ') ", VIEW:" IN (' VIEW_DEPARTEMEN1 ',' VIEW_DEPARTEMEN2 ',' VIEW_DEPARTEMEN3 ',' VIEW_DEPARTEMEN4 ', ...,' VIEW_DEPARTEMEN20 ') "directory = exp_loc dumpfile = try.dmp logfile = try.log', но появляется ошибка 'UDE-00014: недопустимое значение для параметра, 'include'.' – flyingbird013

+0

Его наиболее вероятная проблема с двойными кавычками. Ваша операционная система может удалить их, передав их в expdp в качестве аргументов. Попробуйте синтаксис, как показано в ссылке, которую я поделил в ответ. Что-то вроде 'include = TABLE: \ 'IN (\' EMP \ ', \' DEPT \ ') \" 'используя' \ escape "символы. Если вы не можете просто дать команду expdp как команду, и она задаст вам вопросы на который можно ответить, чтобы получить правильный набор данных экспорта. –

+0

Я тестировал их в командной строке Microsoft, как для работы ниже синтаксиса. 'system/******** @ xe schemas = platformall include = TABLE: IN ('DIM_DIM '), VIEW: IN (' ALL_DD ') dumpfile = test4.dmp' и 'system/******** @ xe schemas = platformall include = TABLE: \" IN (\' DIM_DIM \ ') \ " , VIEW: \ "IN (\ 'ALL_DD \') \" dumpfile = test5.dmp' –

1

Вы не можете включить представление для резервного копирования при использовании утилиты «exp». Утилита Oracle expdp предоставляет возможность включать представления при экспорте.