Список содержимого файла экспорта дампов Oracle - PullRequest
10 голосов
/ 18 ноября 2011

у меня оракул полный дамп.Я знаю, что должен выполнить дамп с предложением fromuser touser.Однако я не знаю имен схем, включенных в дамп.

как я могу открыть дамп, созданный с помощью Oracle 10g, просто для проверки и анализа содержимого?

Ответы [ 3 ]

14 голосов
/ 18 ноября 2011

Просто используйте параметр SHOW=Y

IMP SCOTT/TIGER SHOW=Y FILE=import_file.dmp
2 голосов
/ 16 января 2014
imp SCOTT/tiger show=Y fiLE=IMPORT_FILE.DMP log=**logfile.log** fromuser=scott touser=scott 

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

как только ваша команда будет успешно завершена, используйте ваш любимый текстовый редактор, такой как notepad / vim, чтобы открыть файл журнала, созданный командой imp, добавив параметр LOG = logfile.log.в этом файле команда imp выведет все действия, которые она выполнит, в качестве сценария реального случая.Теперь ищите текст « import » в каждом месте, вы получите SCHEMA NAMES, за которым следуют имена_объектов, содержащиеся в этой схеме.

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

но он не будет перечислять их.

SAMPLE файл импорта для импорта только одной таблицы EMP

--------- начать вывод команды imp --------

Export file created by EXPORT:V10.02.01 via conventional path
import done in WE8MSWIN1252 character set and AL16UTF16 NCHAR character set

**. importing SCOTT's objects into SCOTT**  
 "ALTER SESSION SET CURRENT_SCHEMA= "SCOTT""  
 "CREATE TABLE "EMP" ("EMPNO" NUMBER(4, 0), "ENAME" VARCHAR2(10), "JOB" VARCH"  
 "AR2(9), "MGR" NUMBER(4, 0), "HIREDATE" DATE, "SAL" NUMBER(7, 2), "COMM" NUM"  
 "BER(7, 2), "DEPTNO" NUMBER(2, 0))  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRAN"  
 "S 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAU"  
 "LT) TABLESPACE "USERS" LOGGING NOCOMPRESS"  
. . skipping table "EMP"                                

 "CREATE UNIQUE INDEX "PK_EMP" ON "EMP" ("EMPNO" )  PCTFREE 10 INITRANS 2 MAX"  
 "TRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL D"  
 "EFAULT) TABLESPACE "USERS" LOGGING"  
 "ALTER SESSION SET CURRENT_SCHEMA= "SCOTT""  
 "ALTER TABLE "EMP" ADD  CONSTRAINT "PK_EMP" PRIMARY KEY ("EMPNO") USING INDE"  
 "X PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE(INITIAL 65536 FREELISTS 1 FREE"  
 "LIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "USERS" LOGGING ENABLE "  

 "ALTER TABLE "EMP" ADD CONSTRAINT "FK_DEPTNO" FOREIGN KEY ("DEPTNO") REFEREN"  
 "CES "DEPT" ("DEPTNO") ENABLE NOVALIDATE"  
 "ALTER TABLE "EMP" ENABLE CONSTRAINT "FK_DEPTNO""  

Import terminated successfully without warnings.  

--------- конец команды out of imp ---------

Lookздесь

Этот инструмент запрашивает и предлагает вам взять файл дампа и поместить данные в форматированный файл Excel / Access / CSV.что, может быть, то, что вы ищете.

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

на тот случай, если кто-то ищет, какой файл дампа содержит необходимые данные.

вместо того, чтобы просматривать все старые дампы, вы должны хранить лог-файл с тем же именем каждого суффикса DUMPFILE, к которому добавляются его дата и время.
как FULL_DB_DUMP_15012014_1240pm.DMP

так что вы просто открываете соответствующий файл журнала, чтобы понять, какие файлы содержат какие схемы вам нужны или интересуют.

[2]: Вторую мысль: если размер файла дампа превышает 2 ГБ, и вы можете идентифицировать ORACLE SQL.
Используйте шестнадцатеричный редактор, такой как HxD, Hexor, HexEdit, в режиме только для чтения, чтобы открыть файл дампа.,После открытия вы можете просмотреть содержимое файла дампа в бинарной / ascii форме.это может быть грубый метод, но он даст вам частичное представление имен схем и объектов DDL с некоторым содержанием представлений / триггеров / функций / процедур и т. д. Хотя вы не сможете прочитать и понять все содержимое.но это серверы цель.может быть, относительно быстро.

0 голосов
/ 08 августа 2017

если вы работаете в среде UNIX, вы можете использовать командные строки для отображения читаемой информации из файлов дампа.

строки test.dmp | grep CREATE. * TABLE

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...