[ОТВЕТИТЬ]
19.01.2016 13:04
Kryukov
 
База была в win2008r2 64 Oracle 11.2.0.4
экспорт
exp.exe userid=sys/qqq@dbcentr FULL=Y feedback=10000 consistent=y file=dbcentr.dmp log=log_e.txt (на всякий случай nls_lang=russian_cis.ru8pc866)
затеи импорт локально на сервере Oracle Linux Server 6.7 64
Oracle 11.2.0.4
imp userid=sys/qqq@demo full=y feedback=10000 ignore=y commit=y file=dbcentr.dmp log=log_i.txt
лог в вложении
в итоге ощибки типа...
IMP-00017: following statement failed with ORACLE error 922:
"CREATE ROLE "Оператор""
"REVOKE "Оператор" FROM SYSTEM"

из за которых в дальнейшем не могу сменить в СМ+ должности для пользователей на русском языке...
предполагаю что косяк в кодировках...
подскажите где в linux а главное какую... или может делать импорт не локально а с win2008 ?
Вложения
Тип файла: 7z log_i.txt.7z (42.2 Кб, 41 просмотров)
19.01.2016 13:06
Kryukov
 
ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1
export ORACLE_HOME

PATH=$PATH:$ORACLE_HOME/bin
export PATH
bashrc в линух


ORACLE_SID=demo
export ORACLE_SID

ORACLE_UNQNAME=demo
export ORACLE_UNQNAME

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export LD_LIBRARY_PATH

ORACLE_HOME_LISTNER=/home/oracle/app/oracle/product/11.2.0/dbhome_1
export ORACLE_HOME_LISTNER

NLS_LANG=AMERICAN_RUSSIA.AL32UTF8
19.01.2016 14:20
OlegON
 
Налицо каша, ты уж определись с кодировками, а то "на всякий" зачем-то взял и захреначил DOS-кодировку, которой у тебя на 99.9% нет нигде. Ты базу в какой кодировке сделал? В Linux у тебя UTF-8. В базе на винде - 1251.
Наверное, легче и правильнее сделать базу в 1251 и залить импорт с винды, а то, не дай, скопируешь криво.
19.01.2016 15:21
Kryukov
 
Я правильно понял:
в bashrc NLS_LANG=AMERICAN_AMERICA.UTF8
и при создании базы...
Миниатюры
Нажмите на изображение для увеличения
Название: 12345.jpg
Просмотров: 181
Размер:	143.0 Кб
ID:	6848  
19.01.2016 16:25
OlegON
 
Смотри, чтобы не путать теплое с мягким, NLS_LANG - кодировка клиента, где бы ты им не пользовался, в т.ч. на сервере. На сервере у тебя locale почти 100% UTF-8, поэтому, чтобы не смотреть на зябликов, лучше поставить NLS_LANG, как и показал.

При создании БД есть смысл выбирать между 1251, как старой и обкатанной, и UTF-8, которая будет понимать все символы, но будет почти всегда занимать в два раза больше места. В России, мне кажется, в многобайтной кодировке смысла особого нет, зато чуть шустрее работать будет.
19.01.2016 16:31
Kryukov
 
создал... запустил импорт из винды... ошибка IMP-00017 пропала.... но скорость импорта медленная - ну это уже другая история
19.01.2016 16:52
OlegON
 
В сумме с копированием файла должно быть приблизительно так же.
19.01.2016 17:14
Kryukov
 
У меня раз в 5 медленней... идет процесс это конечно печально...
не дождался забил процесс ... попробую локально с UTF-8
19.01.2016 17:58
OlegON
 
не надо с UTF-8, у тебя же кодировка 1251
19.01.2016 18:00
Kryukov
 
поздно ...
onnected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

Export file created by EXPORT:V11.02.00 via conventional path
import done in UTF8 character set and UTF8 NCHAR character set
import server uses CL8MSWIN1251 character set (possible charset conversion)
export client uses RU8PC866 character set (possible charset conversion)
export server uses AL16UTF16 NCHAR character set (possible ncharset conversion)
. importing SYSTEM's objects into SYSTEM
IMP-00017: following statement failed with ORACLE error 922:
"CREATE ROLE "Оператор""
"REVOKE "Оператор" FROM SYSTEM"
IMP-00003: ORACLE error 922 encountered
ORA-00922: missing or invalid option
19.01.2016 18:02
Kryukov
 
Оставить так как есть на картинке выше ?
Ткните пальцем где и что поставить при создании базы...
19.01.2016 20:03
OlegON
 
Цитата:
import done in UTF8 character set and UTF8 NCHAR character set
import server uses CL8MSWIN1251 character set (possible charset conversion)
export client uses RU8PC866 character set (possible charset conversion)
export server uses AL16UTF16 NCHAR character set (possible ncharset conversion)
Сколько кодировок ты тут видишь? :) Общее правило - импорти в той же кодировке, в какой экспортил. Если не получается - импорти с винды, посмотри, что тормозит и импорти.
Как уже говорил, в нормальных условиях не должно быть в пять раз медленнее... У тебя тогда ТД будет долго заливаться, если сетку (?) не поправишь.
19.01.2016 21:20
Kryukov
 
я запутался...
что мне нужно выбрать при создании базы на этом шаге...

и ли оставить по умолчанию и импортнуть с сервера где делался экспорт
Миниатюры
Нажмите на изображение для увеличения
Название: 1.jpg
Просмотров: 198
Размер:	116.0 Кб
ID:	6857  
19.01.2016 21:27
OlegON
 
При экспорте ты зачем-то впилил дос-кодировку, я бы со штатным CL8MSWIN1251 экспортнул.
В исходной базе у тебя UTF16, а в конечной - UTF8 выбирал. Тут с супермажной базой проблем быть не должно при любом выборе.
19.01.2016 21:34
Kryukov
 
Цитата:
OlegON При экспорте ты зачем-то впилил дос-кодировку, я бы со штатным CL8MSWIN1251 экспортнул.
В исходной базе у тебя UTF16, а в конечной - UTF8 выбирал. Тут с супермажной базой проблем быть не должно при любом выборе.
а где (точней как) при экспорте выставить кодировку ...
я просто делаю на виндовом сервере
exp.exe userid=sys/qqq@dbcentr FULL=Y feedback=10000 consistent=y file=dbcentr.dmp log=log_e.txt
19.01.2016 21:38
Kryukov
 
проблемы что слетают все должности для пользователей супермага ... которые русскими буквами
19.01.2016 22:13
OlegON
 
попробуй в этом же окне, где экспорт делал, сделать и импорт и посмотреть, можно ROWS=N сделать (без данных, я по памяти), чтобы глянуть только на должности.
Опции темы


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

 

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