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 Кб, 64 просмотров)
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
Просмотров: 485
Размер:	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
Часовой пояс GMT +3, время: 13:51.

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