Вы можете создать внешнюю таблицу для чтения файлов журнала. Преимущество этого заключается в том, что внешние запросы могут использоваться в запросах SQL.
Сначала вам нужно создать объект каталога, чтобы определить путь к каталогу ОС. Это должен сделать пользователь с привилегией CREATE ANY DIRECTORY (возможно, с учетной записью DBA) ....
SQL> create or replace directory sqlldr_log_dir as 'C:\your\directory\path'
2 /
Directory created.
SQL> grant read , write on directory sqlldr_log_dir to apc
2 /
Grant succeeded.
SQL>
Далее мы создаем таблицу. Обратите внимание на имя местозаполнителя для файла журнала в предложении location ....
SQL> create table sqlldr_logfiles (
2 text_line varchar2(1024)
3 )
4 organization external
5 (
6 type oracle_loader
7 default directory sqlldr_log_dir
8 access parameters
9 (records delimited by newline
10 fields (text_line char(1024)
11 )
12 )
13 location ('changeme.log')
14 )
15 /
Table created.
SQL>
Теперь в ОС, чтобы сделать импорт ...
C:\temp>imp apc file=apc_20100204.dmp log=apc_20100204.log tables=PTEST6,A
Import: Release 11.1.0.6.0 - Production on Thu Feb 4 11:51:07 2010
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Password:
Connected to: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Export file created by EXPORT:V11.01.00 via conventional path
import done in WE8MSWIN1252 character set and AL16UTF16 NCHAR character set
. importing APC's objects into APC
. importing APC's objects into APC
. . importing table "A" 12 rows imported
. . importing table "PTEST6" 19 rows imported
IMP-00009: abnormal end of export file
Import terminated successfully with warnings.
C:\temp>
Этот каталог должен быть таким же, как вы использовали ранее. Вернуться в SQL. Сначала мы указываем внешнюю таблицу на файл журнала, который мы использовали ранее, а затем запрашиваем из него ...
SQL> alter table sqlldr_logfiles location ('apc_20100204.log')
2 /
Table altered.
SQL> select * from sqlldr_logfiles
2 where text_Line like '. . importing table%'
3 /
text_Line
--------------------------------------------------------------------------------
. . importing table "A" 12 rows imported
. . importing table "PTEST6" 19 rows imported
SQL>
Форматировать вывод легко, особенно если у вас 10g или выше, и поэтому вы можете использовать функции Regex.