Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Oracle10g:expdp и выражение exclude / 13 сообщений из 13, страница 1 из 1
18.08.2008, 17:42
    #35493270
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle10g:expdp и выражение exclude
Добрый день!

Для экспорта небольшой (30Гб) базы используем следующи скрипт.

Код: plaintext
1.
expdp job_name=exp5 full=y estimate=blocks logfile=expdp_log:exp5_doc.log 
dumpfile=export_dir:exp2008- 08 - 08 -doc.dmp

Чуть позже, я получил больше информации о прикладной задаче и пришёл к выводу, что семейство таблиц APUS.T_APUS*. можно не экспортировать т.к. они являются темповыми по смыслу бизнес-логики.

Добавил правило.

Код: plaintext
1.
2.
expdp job_name=exp5 full=y estimate=blocks logfile=expdp_log:exp5_doc.log 
dumpfile=export_dir:exp2008- 08 - 08 -doc.dmp exclude=TABLE:\"LIKE \'T_APUS%\'\"

Еще чуть позже обнаружил, что в этой-же базе в схеме TRAFFIC есть довольно крупная (несколько ГБ) партицированная таблица DATA, которая тоже является временной.

Однако написать выражения для exclude не так-то просто.

Код: plaintext
1.
.....exclude=TABLE:\"LIKE \'T_APUS%\'\ OR TABLE_NAME=\'DATA\'\"

Содержимое лога

Код: plaintext
1.
2.
3.
4.
5.
Connected to: Oracle Database 10g Enterprise Edition Release  10 . 2 . 0 . 3 . 0  - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining Scoring Engine options
ORA- 39001 : invalid argument value
ORA- 39071 : Value for EXCLUDE is badly formed.
ORA- 00904 : "TABLE_NAME": invalid identifier

C object_name - та же ошибка.

Кто как боролся с этой ошибкой?
...
Рейтинг: 0 / 0
18.08.2008, 17:47
    #35493291
pravednik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle10g:expdp и выражение exclude
Код: plaintext
....exclude=TABLE:"LIKE 'T_APUS%'",'DATA'
???
...
Рейтинг: 0 / 0
18.08.2008, 17:48
    #35493298
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle10g:expdp и выражение exclude
Минутку. Щас попробую.
...
Рейтинг: 0 / 0
18.08.2008, 17:55
    #35493318
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle10g:expdp и выражение exclude
Не вышло.
Код: plaintext
1.
....exclude=TABLE:\"LIKE \'T_APUS%\'\",\"\'DATA\'\" 

Код: plaintext
1.
2.
3.
4.
5.
6.
Connected to: Oracle Database 10g Enterprise Edition Release  10 . 2 . 0 . 3 . 0  - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining Scoring Engine options
ORA- 39001 : invalid argument value
ORA- 39071 : Value for EXCLUDE is badly formed.
ORA- 00907 : missing right parenthesis

...
Рейтинг: 0 / 0
18.08.2008, 18:04
    #35493340
pravednik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle10g:expdp и выражение exclude
немного был неправ
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
C:\>sqlplus "/as sysdba"

SQL*Plus: Release  10 . 2 . 0 . 3 . 0  - Production on Mon Aug  18   16 : 56 : 57   2008 

Copyright (c)  1982 ,  2006 , Oracle.  All Rights Reserved.


Connected to:
Oracle Database 10g Express Edition Release  10 . 2 . 0 . 1 . 0  - Production

SQL> select table_name from dba_tables where owner='xxxx';

TABLE_NAME
------------------------------
AUD_TEST
AUD_USERNAME
DATABASE
T

Elapsed:  00 : 00 : 05 . 34 
SQL> host expdp system/***** schemas=xxxx directory=DATA_ dumpfile=report1.dmp logfile=report1.log EXCLUDE=TABLE:\"LIKE \'AU%\'\", TABLE:\"LIKE \'%D%\'\"

Export: Release  10 . 2 . 0 . 3 . 0  - Production on Monday,  18  August,  2008   16 : 59 : 12 

Copyright (c)  2003 ,  2005 , Oracle.  All rights reserved.

Connected to: Oracle Database 10g Express Edition Release  10 . 2 . 0 . 1 . 0  - Production
Starting "SYSTEM"."SYS_EXPORT_SCHEMA_01":  system/******** schemas=xxxx directory=DATA_ dumpfile=report1.dmp logfile=report1.log EXCLUDE=TABLE:"LIKE \'AU%\'", TABLE:"LIKE \'%D%\'"
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method:  0  KB
Processing object type SCHEMA_EXPORT/USER
Processing object type SCHEMA_EXPORT/SYSTEM_GRANT
Processing object type SCHEMA_EXPORT/ROLE_GRANT
Processing object type SCHEMA_EXPORT/DEFAULT_ROLE
Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/FUNCTION/FUNCTION
Processing object type SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . exported "xxxx"."T"                                 0  KB        0  rows
Master table "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYSTEM.SYS_EXPORT_SCHEMA_01 is:
  C:\TEST\REPORT1.DMP
Job "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully completed at  17 : 02 : 25 

SQL>
...
Рейтинг: 0 / 0
18.08.2008, 18:20
    #35493389
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle10g:expdp и выражение exclude
Ага. Так получилось. Спасибо.

Еще напоследок вопрос. Можно ли указать для каждого правила schema_name? В настоящий момент имена объектов по владельцам не пересекаются но если разработчик в схеме APUS создаст не темповую таблицу DATA, скрипт будет работать некорректно. И узнаю я об этом только в аварийной обстановке.
...
Рейтинг: 0 / 0
18.08.2008, 18:24
    #35493400
pravednik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle10g:expdp и выражение exclude
maytonАга. Так получилось. Спасибо.

Еще напоследок вопрос. Можно ли указать для каждого правила schema_name? В настоящий момент имена объектов по владельцам не пересекаются но если разработчик в схеме APUS создаст не темповую таблицу DATA, скрипт будет работать некорректно. И узнаю я об этом только в аварийной обстановке.
не понял....
вы видать не заметили
Код: plaintext
....schemas=xxxx.....
...
Рейтинг: 0 / 0
18.08.2008, 20:03
    #35493546
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle10g:expdp и выражение exclude
pravednik
не понял....
вы видать не заметили
Код: plaintext
....schemas=xxxx.....


Я видел.

Как указать что таблица DATA относится к схеме TRAFFIC а семейство таблиц T_APUS% к схеме APUS ?
...
Рейтинг: 0 / 0
18.08.2008, 21:01
    #35493617
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle10g:expdp и выражение exclude
AFAIK, Data Pump does not allow excluding tables owned by a specific schema in a full database or multischema level export.

SY.
...
Рейтинг: 0 / 0
18.08.2008, 21:05
    #35493621
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle10g:expdp и выражение exclude
Всем спасибо!

Вопрос снят.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
26.03.2021, 17:33
    #40057239
GlooBus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle10g:expdp и выражение exclude
Дабы не создавать новую тему, хотел бы поинтересоваться, можно ли как то исключить при экспорте Scheduler Jobs?
Они имеют в названии префикс JOB_*
Или может есть какой то способ их выключить при импорте, или непосредственно после импорта. Тут главное что бы после импорта не один из них не сработал , интервалы разные, минимальный есть раз в 2 минуты!
...
Рейтинг: 0 / 0
26.03.2021, 17:43
    #40057243
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle10g:expdp и выражение exclude
GlooBus
Тут главное что бы после импорта не один из них не сработал
Перед импортом
Код: plsql
1.
alter system set job_queue_processes = 0;
...
Рейтинг: 0 / 0
26.03.2021, 22:50
    #40057300
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle10g:expdp и выражение exclude
GlooBus
Дабы не создавать новую тему, хотел бы поинтересоваться, можно ли как то исключить при экспорте Scheduler Jobs?
Они имеют в названии префикс JOB_*
Или может есть какой то способ их выключить при импорте, или непосредственно после импорта. Тут главное что бы после импорта не один из них не сработал , интервалы разные, минимальный есть раз в 2 минуты!



Исключить при экспорте != выключить при при импорте. Исключить при экспорте/импорте:

Код: plsql
1.
EXCLUDE=PROCOBJ:\"IN ('JOB_1'.'JOB_2','JOB_3'...)\"



А выключить все при импорте Elic уже показал.

SY.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Oracle10g:expdp и выражение exclude / 13 сообщений из 13, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]