exp exe oracle параметры

Oracle: Как перенести схему из одной базы данных в другую с помощью exp / imp

Здесь я дам подробные инструкции по миграции схемы с использованием exp / imp, pipe, gz между двумя базами данных.

Как перенести схему из одной базы данных в другую

Следующие шаги необходимо выполнить в исходной базе данных.

Метаданные о схеме

Экспорт схемы

Скопируйте SOURCE_schemas.dmp.gz на сервер целевой базы данных.

В целевой базе данных

Создать метаданные в целевой базе данных

1. Создайте табличные пространства в соответствии с результатами, полученными в исходной базе данных.

2. Создать пользователей в целевой базе данных

Запустите следующий сценарий в исходной базе данных и выполните полученный сценарий в целевой базе данных.

3. Предоставление квот в целевой базе данных

Запустите следующий сценарий в исходной базе данных и выполните результирующий сценарий в целевой базе данных.

4. Предоставление ролей в целевой базе данных

Запустите следующий сценарий в исходной базе данных и выполните полученный сценарий в целевой базе данных.

5. Предоставление системных привилегий в целевой базе данных

Запустите следующий сценарий в исходной базе данных и выполните полученный сценарий в целевой базе данных.

Импортировать схему в целевую базу данных

Запустите следующий сценарий в исходной базе данных и выполните результирующий сценарий в целевой базе данных

4. Cкомпилируйте импортированную схему

5. Соберите статистику по всем импортированным схемам

Источник

импорт и экспорт в ORACLE (imp и exp)

За небольшой промежуток времени тут несколько раз задавали вопросы по поводу того как сделать экспорт и импорт в Oracle.
Вопросы эти возникают в основном из-за отсутствия знаний у новичков. а что нужно почитать они тоже не знают.

Поэтому решил описать в примерах, как это реализовано у меня, на реальной системе.

Итак,у меня стоит Oracle XE11 на Debian 7.

Начну я издалека. С создания пользователей и табличных пространств.
далее станет понятно, почему это важно.
у меня в системе два пользователя, которые являются собственниками объектов БД.
и для каждого пользователя свой tablespace.

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

* пользователь alarm отвечает за объекты хранящие данные аварийной статистики сети.
потеря этой информации будет неприятна, но не критична. экспорт выполняется каждый день,
но хранятся файлы лишь 7 последних дней.

запускаем
sqlplus /nolog
и последовательно даем команды :

SET LINESIZE 120 сделает ширину экрана 120 символов

подключиться к локальному Oracle от пользователя system с паролем technic
вам вместо technic нужно написать тот пароль который указвался при установке

create tablespace inventory datafile ‘/u01/app/oracle/oradata/XE/inventory.dbf’ size 512M
autoextend on next 128M maxsize 1024M
/

создает табличное пространство с именем inventory, файлом данных /u01/app/oracle/oradata/XE/inventory.dbf
первоначальным размером 512мб и авторасширением по 128мб вплоть до 1024мб

create tablespace alarms datafile ‘/u01/app/oracle/oradata/XE/alarms.dbf’ size 512M autoextend on next 512M maxsize 4096M
/

строки 1-7:
создаем пользователя inventory
c паролем inventory_p
в табличном пространстве inventory,
временное табл. пространство TEMP
с профилем DEFAULT
и неограниченной квотой в пространстве inventory

строки 9-24:
выдаем права пользователю inventory
у меня так, а вы свои права внимательно выдавайте,
по принципу минимальных привилегий.
например SELECT ANY TABLE возможно и не нужен.
——————————————————-
аналогично для пользователя alarms:

вводим quit и выходим из sqlplus.

ЭКСПОРТ
существует несколько режимов экспорта.

я использую режим, в котором экспортируются все объекты пользователя
от имени которого запущен экспорт.

параметры импорта аналогичны параметрам экспорта, но есть один подводный камень :
поскольку импорт в данном случае запускается от имени определенного пользователя,
то этот пользователь должен существовать, и иметь необходимые прививилегии.
например если при импорте у пользователя inventory не будет привилегии create sequence
импорт не сможет импортировать последовательности, т.к. у пользователя нет соответсвующей
привилегии. В лог будет записана ошибка «недостаточно привилегий».

У меня была ситуация, когда приходилось восстанавливать данные после экспериментов с БД.
В этом случае я выполнял экспорт данных,
а перед восстановлением удалял пользователей и их табличные пространства:

затем создаем по-новому табличные пространства,
пользователей, и назначаем им привилегии как рассказано в начале статьи.

Источник

Exp exe oracle параметры

Разбираемся далее с экспортом! Функциональные средства экспорта имеют три уровня: полный (Full) режим, пользовательский (User) режим и табличный (Table).

В полном режиме (Full) экспортируется вся база данных, т.е. читается весь словарь данных. В файл дампа экспорта записываются команды языка DDL, для полного восстановления БД. В своих схемах, этот файл будет содержать определение всех табличных пространств, всех пользователей и все объекты, данные и привилегии.

В пользовательском режиме (User) экспортируются объекты пользователя и содержащиеся в них данные. Все привилегии и индексы, созданные пользователем для своих объектов так же экспортируются. Не экспортируются только привилегии и индексы, созданные пользователями не являющимися владельцами этих бъектов.

В табличном режиме (Table) экспортируется указанная таблица. Ее структура, индексы и привилегии экспортируются совместно с ее данными или без них. Табличный режим позволяет экспортировать так же все таблицы, принадлежащие пользователю (для этого нужно указать владельца схемы, но не указывать название таблицы). Можно так же экспортировать определенный раздел таблицы.

Вот собственно список параметров утилиты экспорта. Вообще-то, если присмотреться внимательнее, то можно увидеть, что многие параметры конфликтуют друг с другом. Так, например, если записать .. FULL=Y OWNER=MILLER, то получите сообщение об ошибке, так как первый параметр означает полный экспорт, а второй пользовательский со схемой MILLER! Параметры transport_tablespace и tablespaces являются специфическими и применимы только при работе с так называемыми транспортируемыми табличными пространствами. Тогда как параметр point_in_time_recover и recovery_tablespace применим только к восстановлению табличных пространств с привязкой ко времени. Следующий немаловажный фактор. Значение COMPERESS=Y изменяет параметр initial конструкции storage для сегментов с несколькими экстентами. Общее выделенное пространство на диске для таких сегментов сжимается в один экстент. В связи с этим следует отметить две важные особенности:

Во-первых, сжимается выделенное, а не используемое табличное пространство. Если таблица, для которой выделено 30 Мб в трех экстентах по 10 Мб в каждом, сожмется в один пустой экстент размером 30 Мб(!) Освобождение дискового пространства при этом не происходит!

Во-вторых, если табличное пространство содержит несколько файлов данных, сегмент может выделить место на диске превышающее по размерам самый большой из них! В результате в конструкции storage размер экстента initial будет больше размера самого большого файла данных. Поскольку один экстент не может охватить больше одного файла данных, создание объекта в процессе импорта закончится неудачей!

Вот такие подводные камушки ждут вас на этом тернистом пути! Теперь вы сами можете попробовать, провести экспорт ваших БД и посмотреть, что у вас получится! Далее мы продолжим! 🙂

Источник

Exp exe oracle параметры

Разбираемся далее с экспортом! Функциональные средства экспорта имеют три
уровня: полный (Full) режим, пользовательский (User) режим и
табличный (Table).

В полном режиме (Full) экспортируется вся база данных, т.е. читается
весь словарь данных. В файл дампа экспорта записываются команды языка
DDL, для полного восстановления БД. В своих схемах, этот файл будет
содержать определение всех табличных пространств, всех пользователей и все
объекты, данные и привилегии.

В пользовательском режиме (User) экспортируются объекты пользователя и
содержащиеся в них данные. Все привилегии и индексы, созданные пользователем для
своих объектов так же экспортируются. Не экспортируются только привилегии и
индексы, созданные пользователями не являющимися владельцами этих бъектов.

В табличном режиме (Table) экспортируется указанная таблица. Ее
структура, индексы и привилегии экспортируются совместно с ее данными или без
них. Табличный режим позволяет экспортировать так же все таблицы, принадлежащие
пользователю (для этого нужно указать владельца схемы, но не указывать название
таблицы). Можно так же экспортировать определенный раздел таблицы.

Вот собственно список параметров утилиты экспорта. Вообще-то, если
присмотреться внимательнее, то можно увидеть, что многие параметры конфликтуют
друг с другом. Так, например, если записать .. FULL=Y OWNER=MILLER, то
получите сообщение об ошибке, так как первый параметр означает полный экспорт, а
второй пользовательский со схемой MILLER! Параметры
transport_tablespace и tablespaces являются специфическими и
применимы только при работе с так называемыми транспортируемыми табличными
пространствами. Тогда как параметр point_in_time_recover и
recovery_tablespace применим только к восстановлению табличных
пространств с привязкой ко времени. Следующий немаловажный фактор. Значение
COMPERESS=Y изменяет параметр initial конструкции storage
для сегментов с несколькими экстентами. Общее выделенное пространство на диске
для таких сегментов сжимается в один экстент. В связи с этим следует отметить
две важные особенности:

Во-первых, сжимается выделенное, а не используемое табличное пространство.
Если таблица, для которой выделено 30 Мб в трех экстентах по 10 Мб в каждом,
сожмется в один пустой экстент размером 30 Мб(!) Освобождение дискового
пространства при этом не происходит!

Во-вторых, если табличное пространство содержит несколько файлов данных,
сегмент может выделить место на диске превышающее по размерам самый большой из
них! В результате в конструкции storage размер экстента initial
будет больше размера самого большого файла данных. Поскольку один экстент не
может охватить больше одного файла данных, создание объекта в процессе импорта
закончится неудачей!

Вот такие подводные камушки ждут вас на этом тернистом пути! Теперь вы сами
можете попробовать, провести экспорт ваших БД и посмотреть, что у вас получится!
Далее мы продолжим! 🙂

Источник

Oracle Database Guide

Tuesday, June 24, 2008

oracle imp/exp

These tools are used to transfer data from one oracle database to another oracle database. You Export tool to export data from source database, and Import tool to load data into the target database. When you export tables from source database export tool will extracts the tables and puts it into the dump file. This dump file is transferred to the target database. At the target database the Import tool will copy the data from dump file to the target database.

From Ver. 10g Oracle is recommending to use Data Pump Export and Import tools, which are enhanced versions of original Export and Import tools.

The export dump file contains objects in the following order:

When you import the tables the import tool will perform the actions in the following order, new tables are created, data is imported and indexes are built, triggers are imported, integrity constraints are enabled on the new tables, and any bitmap, function-based, and/or domain indexes are built. This sequence prevents data from being rejected due to the order in which tables are imported. This sequence also prevents redundant triggers from firing twice on the same data

You can run Export and Import tool in two modes

When you just type exp or imp at o/s prompt it will run in interactive mode i.e. these tools will prompt you for all the necessary input. If you supply command line arguments when calling exp or imp then it will run in command line mode

You can control how Export runs by entering the EXP command followed
by various arguments. To specify parameters, you use keywords:

Format: EXP KEYWORD=value or KEYWORD =( value1,value2. valueN )

Example: EXP SCOTT/TIGER GRANTS=Y TABLES =( EMP,DEPT,MGR)

or TABLES=(T1:P1,T1:P2), if T1 is partitioned table

Keyword Description (Default)

BUFFER size of data buffer

FILE output files (EXPDAT.DMP)

COMPRESS import into one extent (Y)

GRANTS export grants (Y)

INDEXES export indexes (Y)

DIRECT direct path (N)

LOG log file of screen output

ROWS export data rows (Y)

CONSISTENT cross-table consistency( N)

FULL export entire file (N)

OWNER list of owner usernames

TABLES list of table names

RECORDLENGTH length of IO record

INCTYPE incremental export type

RECORD track incr. export (Y)

TRIGGERS export triggers (Y)

STATISTICS analyze objects (ESTIMATE)

PARFILE parameter filename

CONSTRAINTS export constraints (Y )
OBJECT_CONSISTENT transaction set to read only during object export (N)

FEEDBACK display progress every x rows (0)

FILESIZE maximum size of each dump file

FLASHBACK_SCN SCN used to set session snapshot back to

FLASHBACK_TIME time used to get the SCN closest to the specified time

QUERY select clause used to export a subset of a table

RESUMABLE suspend when a space related error is encountered( N)

RESUMABLE_NAME text string used to identify resumable statement

RESUMABLE_TIMEOUT wait time for RESUMABLE

TTS_FULL_CHECK perform full or partial dependency check for TTS

TABLESPACES list of tablespaces to export

TRANSPORT_TABLESPACE export transportable tablespace metadata (N)

TEMPLATE template name which invokes iAS mode export

The Export and Import tools support four modes of operation

The following example shows how to export full database

$ exp USERID= scott /tiger FULL=y FILE=myfull.dmp

To export Objects stored in a particular schemas you can run export utility with the following arguments

$ exp USERID= scott /tiger OWNER =( SCOTT,ALI) FILE=exp_own.dmp

The above command will export all the objects stored in SCOTT and ALI’s schema.

To export individual tables give the following command

$ exp USERID= scott /tiger TABLES =( scott.emp,scott.sales ) FILE=exp_tab.dmp

This will export scott’s emp and sales tables.

If you include CONSISTENT =Y option in export command argument then, Export utility will export a consistent image of the table i.e. the changes which are done to the table during export operation will not be exported.

Objects exported by export utility can only be imported by Import utility. Import utility can run in Interactive mode or command line mode.

You can let Import prompt you for parameters by entering the IMP command followed by your username/password:

Example: IMP SCOTT/TIGER

Or, you can control how Import runs by entering the IMP command followed

by various arguments. To specify parameters, you use keywords:

Format: IMP KEYWORD=value or KEYWORD =( value1,value2. valueN )

Example: IMP SCOTT/TIGER IGNORE=Y TABLES =( EMP,DEPT) FULL=N

or TABLES=(T1:P1,T1:P2), if T1 is partitioned table

USERID must be the first parameter on the command line.

size of data buffer

input files (EXPDAT.DMP)

just list file contents (N)

ignore create errors (N)

import data rows (Y)

log file of screen output

import entire file (N)

list of owner usernames

list of table names

length of IO record

incremental import type

commit array insert (N)

import constraints (Y)

overwrite tablespace data file (N)

write table/index info to specified file

skip maintenance of unusable indexes (N)

display progress every x rows(0)

skip validation of specified type ids

maximum size of each dump file

import precomputed statistics (always)

suspend when a space related error is encountered(N)

text string used to identify resumable statement

wait time for RESUMABLE

compile procedures, packages, and functions (Y)

import streams general metadata (Y)

import streams instantiation metadata (N)

To import individual tables from a full database export dump file give the following command

$imp scott /tiger FILE=myfullexp.dmp FROMUSER= scott TABLES =( emp,dept )

Export file created by EXPORT :V10.00.00 via conventional path

import done in WE8DEC character set and AL16UTF16 NCHAR character set

. importing SCOTT’s objects into SCOTT

Import terminated successfully without warnings.

$imp scott / tiger FILE =mytables.dmp FROMUSER= ali TOUSER= scott

Then import utility will give a warning that tables in the dump file was exported by user Ali and not you and then proceed.

Suppose you want to import all tables from a dump file whose name matches a particular pattern. To do so, use “ % ” wild character in TABLES option. For example, the following command will import all tables whose names starts with alphabet “ e ” and those tables whose name contains alphabet “ d ”

$imp scott /tiger FILE=myfullexp.dmp FROMUSER= scott TABLES =( a%,%d %)

Migrating a Database across platforms.

The Export and Import utilities are the only method that Oracle supports for moving an existing Oracle database from one hardware platform to another. This includes moving between UNIX and NT systems and also moving between two NT systems running on different platforms.

The following steps present a general overview of how to move a database between platforms.

SQL> SELECT tablespace_name FROM dba_tablespaces ;

> exp system/manager FULL=y FILE=myfullexp.dmp

> imp system/manager FULL=y IGNORE=y FILE=myfullexp.dmp

Using IGNORE =y instructs Oracle to ignore any creation errors during the import and permit the import to complete.

Perform a full backup of your new database.

Источник

Читайте также:  медицинская процедура кукушка что это такое
Образовательный портал