-
Oracle предоставляет два инструментаimp.exe и exp.exe для импорта и экспорта данных соответственно. Эти два инструмента расположены в каталоге Oracle_home/bin.
Экспорт данных
1 Полностью экспортируйте базу данных ATSTestDB с именем пользователя system и паролем 123456 в c:export.dmp.
exp system/123456@ATSTestDB file=c:export.dmp full=y
Среди них ATSTestDB — имя базы данных, system — учетная запись в базе данных и 123456 — пароль.
2 Экспортируйте все связанные ресурсы системного пользователя и системного пользователя в базу данных (таблицы, хранимые процедуры, методы, представления и т. д.).
exp system/123456@ATSTestDB file= c:export.dmp Owner=(system,sys)
3 Экспортируйте таблицы sys.table1 и owbsys.table2 в базу данных.
exp system/123456@ATSTestDB file= c:export.dmp table=(sys.table1, owbsys.table2)
Обратите внимание, что вам необходимо добавить имя схемы таблицы. В противном случае по умолчанию будет использоваться таблица текущего подключенного пользователя. Конечно, учетная запись, к которой вы подключаетесь, должна иметь разрешения на соответствующую таблицу.
4 Экспортируйте данные, заголовок поля которых начинается с «GangGe» в таблице 1 в базе данных.
exp system/123456@ATSTestDB file= c:export.dmp table=(table1) query=" где заголовок типа 'GangGe%'"
Косая черта "", за которой следует двоеточие, используется для экранирования символа двоеточия " " ", поскольку за ней следует оператор условного запроса. Можно указать только один параметр запроса. Если запрос должен быть для нескольких таблиц, то аналогично , существует только одна таблица или несколько таблиц, и условия в запросе могут выполняться на этих таблицах. В противном случае вам придется написать еще несколько операторов exp.
После экспорта вы можете обнаружить, что данные относительно большие. Для повторного сжатия данных мы можем использовать некоторые инструменты сжатия, такие как winzip, winrar, 7zip и другие сторонние инструменты. Аналогично, exp поддерживает параметр, позволяющий пользователям напрямую сжимать данные: compress = y. Этот параметр можно добавить непосредственно в конец команды для сжатия данных во время экспорта.
Импортировать данные
Мы знаем, как извлекать данные, поэтому при восстановлении нам нужно использовать командуimp для загрузки экспортированных данных.
1. Загрузите данные c:export.dmp в ATSTestDB.
имп system/123456@ATSTestDB файл=c:export.dmp
Хорошо, при импорте данных может выдать сообщение об ошибке. Почему? Есть две основные причины:
О. Импортированные объекты (таблицы, представления, методы и т. д.) изначально не принадлежат подключенному в данный момент пользователю.
Б. Импортированный объект уже существует под указанным пользователем базы данных.
C. Исходного пользователя импортированного объекта больше нет в этой базе данных.
Все объекты импортируются в указанный аккаунт:
Imp system/123456@ATSTestDB file=c:export.dmp fromuser=sys touser=system
Среди них fromuser=sys — первоначальный владелец объекта в файле .dmp, а touser=system — новый владелец импортированного объекта.
Игнорировать/вставить данные
Imp system/123456@ATSTestDB file=c:export.dmp ignore=y
Среди них ignore=y сообщает imp.exe о необходимости вставки данных непосредственно в соответствующий объект (и если в импортируемом объекте есть другие объекты, такие как ограничения, индексы и т. д., они будут созданы после вставки данных).
2 Загрузите указанные таблицы table1, table2
imp system/123456@ATSTestDB file=C:export.dmp table=(table1,table2)
3 Игнорировать ограничения загрузки
Иногда при импорте данных нам не нужно импортировать их ограничения, например некоторые ограничения внешнего ключа и т. д., мы можем добавить параметр ограничения=N
imp system/123456@ATSTestDB file=C:export.dmp table=(table1,table2) ограничения=N
4 Не загружайте индексы (например, уникальные индексы)
imp system/123456@ATSTestDB file=C:export.dmp table=(table1,table2) indexs=N
5 Загружайте только структуру, а не данные
Если вы хотите только определить структуру таблицы (ограничения, триггеры) и не нуждаетесь в данных внутри, вы можете добавить параметр rows=N
imp system/123456@ATSTestDB file=C:export.dmp table=(table1,table2) rows=N
Для вышеуказанной операции объектной системой операции входа в систему является администратор. Если это не администратор, а обычный пользователь, то этот пользователь должен иметь право создавать и удалять объекты. Объекты могут включать в себя общие объекты, такие как таблицы. , представления, методы, хранимые процедуры и т. д. Почему «может» включает в себя? Потому что это зависит от того, задействованы ли при импорте и экспорте связанные типы объектов.
Освоили ли вы приведенные выше простые команды импорта и экспорта данных Oracle? Я верю, что этого достаточно.