[ОТВЕТИТЬ]
10.04.2014 11:28
ReDHawK
 
Нужно из СМ2000 версии 1.024.3сп4 Oracle 8 (Win2003), сделать СМ+ версии 1.030.3сп4 Oracle 11.2.0.4 (Win2012)
Решил сделать экспорт импорт в 11.2.0.1 поднять версию до 1.030.3сп4, экспорт и импорт в 11.2.0.4.
До 11.2.0.1 и 1.030.3сп4 поднялось все без проблем. После импорта в 11.2.0.4 замечено, что часть таблиц нету. Тестировал на табличке supermag.ssdatabases. Описываю тесты применительно к ней:
1. Сделал экспорт 1.024.3сп3 из Оракл 8 exp sys/qqq@demo full=y file=c:\demo.dmp log=c:\demo_exp.log
2. Сделал импорт в Оракл 11.2.0.1 + Гранты и + гранты из SchemaSys.sql
3. Генератор 1.024.3 - таблица ssdatabases есть
4.Генератор 1.030.1 - таблица ssdatabases есть
5.Генератор 1.030.3 и сп4 - таблица ssdatabases есть
6. Экспорт exp sys/qqq@demo full=y file=c:\demo.dmp log=c:\demo_exp.log - в файле экспорта ssdatabases нету (((

из командной строки:

C:\Oracle\product\11.2_DB\BIN>set nls_lang=russian_cis.ru8pc866

C:\Oracle\product\11.2_DB\BIN>sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Ср Апр 9 10:14:12 2014

Copyright (c) 1982, 2010, Oracle. All rights reserved.

SQL> conn sys/qqq@demo - под пользователем sys
Соединено.
SQL> select * from supermag.ssdatabases;

строки не выбраны

SQL> desc supermag.ssdatabases;
Имя Пусто? Тип
----------------------------------------- -------- ----------------------------
DBID NOT NULL RAW(16)
DBNAME NOT NULL VARCHAR2(255) - таблица существует

SQL> exit
Отсоединено от Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

C:\Oracle\product\11.2_DB\BIN>exp sys/qqq@demo file=c:\ssdatabases.dmp tables=supermag.ssdatabases log=c:\ssdatabases_exp.log

Export: Release 11.2.0.1.0 - Production on Ср Апр 9 10:18:38 2014

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.


Соединен с: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Экспорт сделан с код.таблицами RU8PC866 и AL16UTF16 NCHAR
сервер использует кодировку CL8MSWIN1251 (возможно перекодирование)

Готовиться экспорт указанных таблиц чеpез обычный маpшpут ...
Текущий пользователь заменен на SUPERMAG
EXP-00011: SUPERMAG.SSDATABASES не существует
Экспорт завершен успешно с предупреждениями. - экспорт таблицы не делается, как будто её нет ((

C:\Oracle\product\11.2_DB\BIN>sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Ср Апр 9 10:40:38 2014

Copyright (c) 1982, 2010, Oracle. All rights reserved.

SQL> conn supermag/qqq@demo - под пользоватем supermag
Соединено.
SQL> desc ssdatabases;
Имя Пусто? Тип
----------------------------------------- -------- ----------------------------
DBID NOT NULL RAW(16)
DBNAME NOT NULL VARCHAR2(255)

SQL>

- под супермагом тоже таблица видится

походу при экспорте не экспортируется часть таблиц: в тоаде указано, что должно быть 988 таблиц, а в логе экспорта их явно меньше, я насчитал 562.
Если в СМ+ заполняю табличку ssdatabases, она экспортируется. Очищаю, тоже экспортируется.


У меня подозрение, что или грантов не хватило и какие-то таблички не видятся, или оракл как-то их по другому обрабатывает ((
10.04.2014 11:50
OlegON
 
Ты в c:\demo_exp.log посмотри внимательно, что там про ssdatabases пишется. А вот tables=supermag.ssdatabases должно быть tables=ssdatabases минимум.
10.04.2014 12:16
ReDHawK
 
я же написал что в логе нет выгрузки множества таблиц. И с должно быть tables=ssdatabases у сиса нет такой таблицы.
exp sys/qqq@demo file=c:\ssdatabases.dmp tables=ssdatabases log=c:\ssdatabases_exp.log

Готовиться экспорт указанных таблиц чеpез обычный маpшpут ...
EXP-00011: SYS.SSDATABASES не существует
Экспорт завершен успешно с предупреждениями.

Это же не полный экспорт из под sys`а, где он автоматом выгружает таблицы супермага от пользователя supermag
10.04.2014 13:24
OlegON
 
ну сделай
Код:
exp supermag/qqq file=ssdatabases.dmp tables=ssdatabases log=ssdatabases_exp.log
или
Код:
exp sys/qqq file=ssdatabases.dmp tables=ssdatabases owner=supermag log=ssdatabases_exp.log
10.04.2014 14:24
ReDHawK
 
После заполнения таблицы ssdatabases она стала выгружаться (см. первое сообщение), пробую на другой из не выгружающихся:

exp sys/qqq file=sstaxgroup.dmp tables=sstaxgroup owner=supermag log=sstaxgroup_exp.log

Соединен с: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
EXP-00026: указаны конфликтующие режимы
EXP-00000: Экспорт данных завершился неудачно

exp supermag/qqq file=sstaxgroup.dmp tables=sstaxgroup log=sstaxgroup_exp.log

Соединен с: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Экспорт сделан с код.таблицами CL8MSWIN1251 и AL16UTF16 NCHAR

Готовиться экспорт указанных таблиц чеpез обычный маpшpут ...
EXP-00011: SUPERMAG.SSTAXGROUP не существует
Экспорт завершен успешно с предупреждениями.

При чем, если в первом случае файл sstaxgroup.dmp создается пустой, то во втором заполнен, но какой-то шнягой ((
10.04.2014 14:53
bayan
 
Я бы рекомендовал не мучаться с давно устаревшим exp и пользоваться expdp
Код:
expdp supermag/qqq@db schemas=supermag tables=sstaxgroup directory=DATAPUMP_DIR dumpfile=sstaxgroup.dmp logfile=sstaxgroup.log
Предварительно выдав гранты и создав директорию:
Код:
create or replace directory DATAPUMP_DIR as '/u/oracle/DMP';
grant write on directory DATAPUMP_DIR to SUPERMAG;
grant DATAPUMP_EXP_FULL_DATABASE to SUPERMAG;
10.04.2014 14:57
OlegON
 
А я ведь предупреждал, что пользоваться 11.2.0.1 нельзя...
Bug 9453857 : EXPORTING EMPTY TABLES ERRORS WITH EXP-11 USING TABLES= CLAUSE
предлагают пользоваться датапампом...
10.04.2014 15:03
ReDHawK
 
он мне нужен был, как промежуточный, что бы импорт с оракл 8 поднять до 1.030.3 и потом импортировать в 11.2.0.4. Попробую expdp, вчера пробовал, но он директорию не видит :cray: Сейчас еще раз попробую
10.04.2014 15:08
ReDHawK
 
SQL> conn sys/qqq@demo as sysdba
Соединено.
SQL> create or replace directory DATAPUMP_DIR as 'C:\DMP';

Каталог создан.

SQL> grant write on DATAPUMP_DIR to SUPERMAG;
grant write on DATAPUMP_DIR to SUPERMAG
*
ошибка в строке 1:
ORA-00942: таблица или представление пользователя не существует


SQL> grant DATAPUMP_EXP_FULL_DATABASE to SUPERMAG;

Привилегии предоставлены.
10.04.2014 15:22
ReDHawK
 
C:\Oracle\product\11.2_DB\BIN>expdp sys/qqq@demo schemas=supermag tables=sstaxgroup directory=DATAPUMP_DIR dumpfile=sstaxgroup.dmp logfile=sstaxgroup.log

Export: Release 11.2.0.1.0 - Production on Чт Апр 10 15:13:34 2014

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

Соединен с: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
UDE-00010: запрошено несколько режимов задания, schema и tables.


C:\Oracle\product\11.2_DB\BIN>expdp sys/qqq@demo tables=supermag.sstaxgroup directory=DATAPUMP_DIR dumpfile=sstaxgroup.dmp logfile=sstaxgroup.log

Export: Release 11.2.0.1.0 - Production on Чт Апр 10 15:13:52 2014

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

Соединен с: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Выполняется запуск "SYS"."SYS_EXPORT_TABLE_01": sys/********@demo tables=supermag.sstaxgroup directory=DATAPUMP_DIR dumpfile=sstaxgroup.dmp logfile=sstaxgroup.log
Выполняется оценка с помощью метода BLOCKS...
Обрабатывается объект типа TABLE_EXPORT/TABLE/TABLE_DATA
Оценка итога с помощью метода BLOCKS: 0 KB
Обрабатывается объект типа TABLE_EXPORT/TABLE/TABLE
Обрабатывается объект типа TABLE_EXPORT/TABLE/INDEX/INDEX
Обрабатывается объект типа TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Обрабатывается объект типа TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Обрабатывается объект типа TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . экспортировано "SUPERMAG"."SSTAXGROUP" 0 KB 0 строк
Главная таблица "SYS"."SYS_EXPORT_TABLE_01" успешно загружена/выгружена
******************************************************************************
Файл дампа, назначенный для SYS.SYS_EXPORT_TABLE_01:
C:\DMP\SSTAXGROUP.DMP
Задание "SYS"."SYS_EXPORT_TABLE_01" успешно завершено в 15:14:39


C:\Oracle\product\11.2_DB\BIN>

Выгружается долго, но таблица выгрузилась. Попробую с помощью expdp сделать полный экспорт. Теперь по поводу не сработавшего гранта grant write on DATAPUMP_DIR to SUPERMAG;... я в них не силён. Что с ним делать?
10.04.2014 15:32
bayan
 
Код:
GRANT ALL ON DIRECTORY DATAPUMP_DIR to SUPERMAG;
или
Код:
GRANT READ,WRITE ON DIRECTORY DATAPUMP_DIR to SUPERMAG;
Сорри, я DIRECTORY забыл дописать :).
По поводу "тормозов". В DATAPUMP есть параметр parallel, можно поиграться с ним, поставь например parallel=4.
Импорт я гоню сразу по dblink'у чтобы с файлами на париться
Код:
impdp system/qqq@TEST directory=DPUMP_DIR schemas=SUPERMAG network_link=PROD table_exists_action=replace LOGFILE=impdp.log parallel=8
10.04.2014 16:33
ReDHawK
 
экспорт запустил.

expdp sys/qqq@demo schemas=supermag directory=DATAPUMP_DIR dumpfile=demo.dmp logfile=demo.log

Тут уж дблинк не поможет *102 Хотя идея хорошая, я о ней не подумал :cray: Если ораклы прилично разнятся, скажем 8 или 9 в 11 прокатит?
10.04.2014 16:47
ReDHawK
 
Цитата:
OlegON А я ведь предупреждал, что пользоваться 11.2.0.1 нельзя...
Bug 9453857 : EXPORTING EMPTY TABLES ERRORS WITH EXP-11 USING TABLES= CLAUSE
предлагают пользоваться датапампом...
я же не юзаю TABLES= CLAUSE в команде exp sys/qqq@demo full=y file=c:\demo.dmp log=c:\demo_exp.log
10.04.2014 18:01
bayan
 
Цитата:
ReDHawK Если ораклы прилично разнятся, скажем 8 или 9 в 11 прокатит?
Если мне не изменяет память (не видел 9i года 4), в девятке не было DATAPUMP. Соответственно нет. Из 10G нормально таскается с параметром VERSION=10.2.
10.04.2014 18:20
ReDHawK
 
Хотел попробовать dblink. Не получается ((
SQL> conn sys/qqq@demo as sysdba
Соединено.
SQL> create shared database link "Demo1"
2 authenticated by system
3 identified by "qqq"
4 using 'DEMO1';

Канал связи БД создан.

SQL> exit
Отсоединено от Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

C:\Oracle\product\11.2_DB\BIN>impdp system/qqq@demo directory=DPUMP_DIR schemas=SUPERMAG network_link=DEMO1 table_exists_action=replace LOGFILE=impdp.

Import: Release 11.2.0.1.0 - Production on Чт Апр 10 18:15:45 2014

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

Соединен с: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-39001: недопустимое значение аргумента
ORA-39200: Имя ссылки "DEMO1" является недопустимым.
ORA-02019: описание соединения для удаленной БД не найдено



C:\Oracle\product\11.2_DB\BIN>
10.04.2014 18:25
OlegON
 
Перепутал shared и public.
10.04.2014 18:37
OlegON
 
Кстати, почему бы DBUA не попробовать? В пределах 11 версии, вроде, неплохо обновляется...
11.04.2014 09:47
ReDHawK
 
DBUA пока не юзал, мож позже тоже испробую. Вовка, вроде, говорил, что раньше поднимал что-то с 9 на 10.. но сам я не пробовал. Думаю придет время и попробую ))
11.04.2014 10:01
ReDHawK
 
Походу и с дблинком мне не суждено самому разобраться (( Настроил dblink public

C:\Oracle\product\11.2_DB\BIN>sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Пт Апр 11 09:50:19 2014

Copyright (c) 1982, 2010, Oracle. All rights reserved.

SQL> conn sys/qqq@demo as sysdba
Соединено.
SQL> GRANT ALL ON DIRECTORY DATAPUMP_DIR to SYSTEM;

Привилегии предоставлены.

SQL> exit
Отсоединено от Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

C:\Oracle\product\11.2_DB\BIN>impdp system/qqq@demo directory=DPUMP_DIR schemas=SUPERMAG network_link=DEMO1 table_exists_action=replace LOGFILE=impdp.log paralle

Import: Release 11.2.0.1.0 - Production on Пт Апр 11 09:51:10 2014

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

Соединен с: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-39002: недопустимая операция
ORA-39070: Невозможно открыть файл журнала.
ORA-39087: имя каталога DPUMP_DIR является недопустимым


C:\Oracle\product\11.2_DB\BIN>sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Пт Апр 11 09:56:59 2014

Copyright (c) 1982, 2010, Oracle. All rights reserved.

SQL> conn sys/qqq@demo1 as sysdba
Соединено.
SQL> create or replace directory DATAPUMP_DIR as 'c:\DMP';

Каталог создан.

SQL> GRANT ALL ON DIRECTORY DATAPUMP_DIR to SYSTEM;

Привилегии предоставлены.

SQL> exit
Отсоединено от Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

C:\Oracle\product\11.2_DB\BIN>impdp system/qqq@demo directory=DPUMP_DIR schemas=SUPERMAG network_link=DEMO1 table_exists_action=replace LOGFILE=impdp.log paralle

Import: Release 11.2.0.1.0 - Production on Пт Апр 11 09:57:42 2014

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

Соединен с: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-39002: недопустимая операция
ORA-39070: Невозможно открыть файл журнала.
ORA-39087: имя каталога DPUMP_DIR является недопустимым

C:\Oracle\product\11.2_DB\BIN>
11.04.2014 11:43
vdm
 
Код:
GRANT ALL ON DIRECTORY DATAPUMP_DIR
Код:
create or replace directory DATAPUMP_DIR
А тут DPUMP_DIR почему?
Код:
impdp system/qqq@demo directory=DPUMP_DIR
11.04.2014 11:59
ReDHawK
 
Цитата:
vdm А тут DPUMP_DIR почему?
Спасибо. Не уследил (( Но всё равно не получается, даже просто импорт:

c:\Oracle\Server\BIN>impdp sys/qqq@demo directory=DATAPUMP_DIR schemas=SUPERMAG table_exists_action=replace LOGFILE=impdp.log

Import: Release 11.2.0.4.0 - Production on Пт Апр 11 11:56:47 2014

Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.

Соединен с: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-39002: недопустимая операция
ORA-39070: Невозможно открыть файл журнала.
ORA-39087: имя каталога DATAPUMP_DIR является недопустимым

c:\Oracle\Server\BIN>
11.04.2014 14:15
ReDHawK
 
импорт датапампа запустил:

c:\Oracle\Server\BIN>sqlplus /nolog

SQL*Plus: Release 11.2.0.4.0 Production on Пт Апр 11 14:06:28 2014

Copyright (c) 1982, 2013, Oracle. All rights reserved.

SQL> conn sys/qqq@demo1 as sysdba
Соединено.
SQL> create or replace directory DATA_PUMP_DIR as 'C:\DMP';

Каталог создан.

SQL> GRANT ALL ON DIRECTORY DATA_PUMP_DIR to SYS;

Привилегии предоставлены.

SQL> grant DATAPUMP_IMP_FULL_DATABASE to SYS;

Привилегии предоставлены.

SQL> commit;

Фиксация обновлений завершена.

SQL> exit
Отсоединено от Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

c:\Oracle\Server\BIN>impdp sys/qqq@demo1 directory=DATA_PUMP_DIR DUMPFILE=DEMO.dmp schemas=SUPERMAG table_exists_action=replace LOGFILE=impdp.log

Задание "SYS"."SYS_IMPORT_SCHEMA_01" завершилось с 12710 ошибкой (ошибками) в Пт Апр 11 14:03:21 2014 elapsed 0 00:19:14

Ошибки в основном по грантам и ролям:

ORA-39083: Сбой при создании типа объекта ROLE_GRANT с ошибкой:
ORA-01919: роль 'SUPERMAG_USER' не существует
SQL, вызвавший сбой:
GRANT "SUPERMAG_USER" TO "SUPERMAG"

ORA-39083: Сбой при создании типа объекта OBJECT_GRANT с ошибкой:
ORA-01917: пользователь или роль 'SUPERMAG_FN_DOC_WI_PRINT' не существует
SQL, вызвавший сбой:
GRANT SELECT ON "SUPERMAG"."SMSPECBY" TO "SUPERMAG_FN_DOC_WI_PRINT"

ORA-39083: Сбой при создании типа объекта OBJECT_GRANT с ошибкой:
ORA-01917: пользователь или роль 'SUPERMAG_FN_DISCCARD' не существует
SQL, вызвавший сбой:
GRANT SELECT ON "SUPERMAG"."SMCASHDISCCARD" TO "SUPERMAG_FN_DISCCARD"

:connie_mini_boycry:
11.04.2014 16:21
Troll
 
1. Не понятно, как сделан линк
2. Роль 'SUPERMAG_USER' не входит в схему SUPERMAG
14.04.2014 09:59
ReDHawK
 
Цитата:
Troll 1. Не понятно, как сделан линк
это был не dblink, это я пытался сделать импорт из файла дампа, сделанного с помощью expdp.exe
14.04.2014 10:09
OlegON
 
Цитата:
Troll 2. Роль 'SUPERMAG_USER' не входит в схему SUPERMAG
Тогда вот это...
14.04.2014 13:21
ReDHawK
 
Тогда, скорее всего, надо будет пробовать делать полный экспорт/импорт через датапамп. А не только схему supermag.
15.04.2014 13:22
bayan
 
Цитата:
ReDHawK Тогда, скорее всего, надо будет пробовать делать полный экспорт/импорт через датапамп. А не только схему supermag.
Совершенно не надо. Создай пустую роль SUPERMAG_USER (ну вообще все какие там есть), гранты выдадутся.

Линк создается так:

Код:
 CREATE PUBLIC DATABASE LINK "OLD_SID" USING '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.1)(PORT=1521))(CONNECT_DATA=(SID=OLD_SID)))';
15.04.2014 13:26
OlegON
 
А с остальными ролями тогда как быть?
15.04.2014 13:37
bayan
 
Примерно так:
Код:
set serveroutput on
set trimspool on
set line 150
set head off
set feed off
spool 111.sql
select 'CREATE ROLE '||ROLE||' NOT IDENTIFIED;' from dba_roles@SID where ROLE like '%SUPERMAG%';
spool off
@111.sql
15.04.2014 15:43
OlegON
 
А зачем? Потом юзерам их правильно раздать... Чем полный-то не гож?


Опции темы


Часовой пояс GMT +3, время: 22:12.

 

Форум сделан на основе vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.