Перечислить содержимое файла дампа экспорта Oracle

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

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

Ответ 1

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

IMP SCOTT/TIGER SHOW=Y FILE=import_file.dmp

Ответ 2

imp SCOTT/tiger show=Y fiLE=IMPORT_FILE.DMP log=**logfile.log** fromuser=scott touser=scott 

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

Как только ваша команда будет успешно завершена, используйте свой любимый текстовый редактор, например блокнот /vim, чтобы открыть файл журнала, сгенерированный командой imp, добавив параметр LOG = logfile.log. в этом файле команда imp выведет все действия, которые он будет выполнять в качестве реального сценария. теперь найдите текст " импорт" в каждом месте, где вы получите 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 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.  

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

Посмотрите здесь

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

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

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

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

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

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

Ответ 3

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

strings test.dmp | grep CREATE. * TABLE