вторник, 21 июня 2011 г.

ORA-00907 неправильный текст ошибки при неправильных параметрах языка

Недавно делал базе duplicate - дублировал ее на другой совершенно новый компьютер. И немного застопорился на ошибке ORA-00907 в случае когда я использую в скрипте RMAN

set until time "to_date('Jun 20 2011 01:00:00','Mon DD YYYY HH24:MI:SS')";
ORA-907: missing right parenthesis


но, если мы введен это же в sqlplus, то ошибка измениться на неправильный месяц. Тут уже начинает доходить, что скорее всего дело в настройках языка.

Делаем в плюсе select to_char(sysdate,'Mon') from dual; и видим, что у нас там вопросики. Так и есть у нас везде почему-то оказался русский в NLS_ параметрах, которые мы можем глянуть через запрос к v$nls_parameters. То есть RMAN нам показывает не совсем ту ошибку. Тогда мы пишем export NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251 и все у нас работает!

Комментариев нет: