Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да експортирате схема на база данни в Oracle в дъмп файл

Зависи коя версия на Oracle? По-старите версии изискват exp (експорт), по-новите версии използват expdp (помпа за данни); exp е остарял, но все още работи през повечето време.

Преди да започнете, имайте предвид, че Data Pump експортира в "директорията на Oracle" от страна на сървъра, която е символно местоположение на Oracle, съпоставено в базата данни с физическо местоположение. Може да има директория по подразбиране (DATA_PUMP_DIR), проверете чрез запитване на DBA_DIRECTORIES:

  SQL> select * from dba_directories;

... и ако не, създайте такъв

  SQL> create directory DATA_PUMP_DIR as '/oracle/dumps';
  SQL> grant all on directory DATA_PUMP_DIR to myuser;    -- DBAs dont need this grant

Ако приемем, че можете да се свържете като потребител на SYSTEM или друг DBA, можете да експортирате всяка схема по този начин в директорията по подразбиране:

 $ expdp system/manager schemas=user1 dumpfile=user1.dpdmp

Или като посочите конкретна директория, добавете директория=<име на директория> :

 C:\> expdp system/manager schemas=user1 dumpfile=user1.dpdmp directory=DUMPDIR

С по-стара помощна програма за експортиране можете да експортирате във вашата работна директория и дори на клиентска машина, която е отдалечена от сървъра, като използвате:

 $ exp system/manager owner=user1 file=user1.dmp

Уверете се, че експортирането е извършено в правилния набор от знаци. Ако не сте настроили своята среда, клиентският набор от символи на Oracle може да не съвпада с набора от DB и Oracle ще извърши преобразуване на набор от знаци, което може да не е това, което искате. Ще видите предупреждение, ако е така, тогава ще искате да повторите експортирането, след като зададете променлива на средата NLS_LANG, така че клиентският набор от знаци да съвпада с набора от знаци на базата данни. Това ще накара Oracle да пропусне преобразуването на набор от знаци.

Пример за американски UTF8 (UNIX):

 $ export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

Windows използва SET, например използва японски UTF8:

 C:\> set NLS_LANG=Japanese_Japan.AL32UTF8

Повече информация за Data Pump тук:http://docs.oracle.com/cd/B28359_01/server.111/b28319/dp_export.htm#g1022624




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Задаването на по-висок размер на извличане на ред на Oracle прави приложението ми по-бавно?

  2. customer.pk_name присъединяване към транзакции.fk_name срещу customer.pk_id [serial] присъединяване към транзакции.fk_id [цяло число]

  3. изберете ТОП N реда от таблица

  4. Промиване на единичен курсор

  5. Таблици с история на корекции в Oracle Apps (11i/R12.1/R12.2)