barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

пятница, 29 сентября 2017 г.

Запуск Tomcat 8 из Netbeans 8.2 и Netbeans 10.0: ошибка "Не удается найти указанный файл"

Проблема

Установил Netbeans 8.2 вместе с Tomcat 8, пробую запустить Tomcat из Netbeans. В выводе старта томката получаю ошибку:
Using CATALINA_BASE:   "C:\Users\aspirinspb\AppData\Roaming\NetBeans\8.2\apache-tomcat-8.0.27.0_base"
Using CATALINA_HOME:   "C:\tomcat-8.0.27"
Using CATALINA_TMPDIR: "C:\Users\aspirinspb\AppData\Roaming\NetBeans\8.2\apache-tomcat-8.0.27.0_base\temp"
Using JRE_HOME:        "C:\Program Files\Java\jdk1.7.0_80"
Using CLASSPATH:       "C:\tomcat-8.0.27\bin\bootstrap.jar;C:\tomcat-8.0.27\bin\tomcat-juli.jar"
Не удается найти указанный файл
(на самом деле вместо  "Не удается найти указанный файл" были кракозябры, это уже расшифрованная фраза, спасибо https://2cyr.com/decode/?lang=ru).
Та же проблема наблюдается на Netbeans 10.0 с тем же Tomcat 8.

Причина

Причина в настройках прокси-сервиса, установленных в IE. Дело в том, что в Netbeans по-умолчанию установлена настройка "Использовать системные настройки прокси". А в них у меня задано исключение из проксируемых адресов по маске: "*.domain.ru;172.26.*". В итоге Netbeans формирует следующий параметр для старта томката:
-Dhttp.nonProxyHosts=*.domain.ru^|172.26.*^|<local> 
Что и вызывает невнятную ошибку  "Не удается найти указанный файл". Пока просто отключил использование прокси в настройках Netbeans.

вторник, 26 сентября 2017 г.

Oracle Database11g Express Edition: "ORA-12505, TNS:listener does not currently know of SID given in connect descriptor"

Установил я Oracle Database11g Express Edition Release 2 на Win 10 x64. Проблемы начались еще при скачивании дистрибутива. Сайт Oracle ругался на Unauthorized Request "In order to download products from Oracle Technology Network you must agree to the OTN license terms", хотя я, естественно, условия лицензии принял. Пришлось качать с rutracker. Наконец поставив, пытаюсь подключиться через JDeveloper по jdbc:oracle:thin:@localhost:1521:XE. Получаю:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
Тоже самое через cmd с помощью:
sqlplus sys/******@XE as sysdba
Вроде бы службы запущены, "Start Database" в меню Пуск я нажимал. Перезапуск служб не помог (хотя вроде бы стартовал в правильном порядке - сначала OracleXETNSListener, потом - OracleServiceXE).
Помогло следующее. Приконнектился с помощью:
sqlplus sys/111111 as sysdba
Выполнил:
alter system set local_listener = '(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))' scope = both;
alter system register;
exit;
После чего:
lsnrctl stat 
Вуаля, можно коннектится.

пятница, 15 сентября 2017 г.

Oracle BI Publisher: невозможно войти после некорректной настройки LDAP-авторизации

Проблема

Некорректно настроил LDAP-авторизацию в Oracle BI Publisher (Администрирование -> Конфигурация защиты -> Авторизация). Из-за этого после рестарта не могу авторизоваться в publisher ни под одним пользователем (даже под администратором, чтобы скорректировать настройки авторизации).

Решение

Открываем файл $DOMAIN_HOME/bidata/components/bipublisher/repository/Admin/Configuration/xmlp-server-config.xml, меняем значение свойства SECURITY_MODEL на XDO (соответствует опции модели защиты "Защита BI Publisher"). Рестартуем BI, входим под дефолтными Administrator/Administrator.

Oracle BI Publisher: ошибка старта "[Security:090302]Authentication Failed: User specified user denied" после смены пароля пользователя weblogic

Проблема
Был рабочий Oracle BI Publisher. Сменил пароль пользователя weblogic через console weblogic-сервера, пытаюсь рестартаную сервер - AdminServer стартует нормально, а вот bi_server не стартует, в логах ошибка:
[Security:090302]Authentication Failed: User specified user denied
Перепробовал множество разных вариантов, даже сменил пароль weblogic обратно на старый - ничего не помогало, все та же ошибка в логах.

Решение 
Необходимо выполнить следующие шаги:
  1. Идем в $DOMAIN_HOME/bin
  2. Выполняем
    . ./setDomainEnv.sh
    (точка в начале обязательна)
  3. Останавливаем сервер
    $DOMAIN_HOME/bitools/bin/stop.sh
  4. Идем в $DOMAIN_HOME/security, выполняем
    mv DefaultAuthenticatorInit.ldift DefaultAuthenticatorInit.ldift.old
  5. Сбрасываем логин/пароль администратора weblogic-сервера
    java weblogic.security.utils.AdminAccount weblogic <new_password> .
    (точка в конце обязательна)
  6. Выполняем
    mv $DOMAIN_HOME/servers/AdminServer/data/ldap $DOMAIN_HOME/servers/AdminServer/data/ldap.old
  7. Идем в $DOMAIN_HOME/servers/AdminServer/security, создаем там boot.properties (или редактируем существующий), прописываем:
    password=<username>
    username=weblogic
  8. Стартуем сервер
    $DOMAIN_HOME/bitools/bin/start.sh

среда, 13 сентября 2017 г.

hg: "SSL: UNSUPPORTED_PROTOCOL"

Проблема

При попытке выполнить clone через hg с некоторого https-URL получаю ошибку:
(could not negotiate a common security protocol (tls1.1+) with my.host.com; the likely cause is Mercurial is configured to be more secure than the server can support)
(consider contacting the operator of this server and ask them to support modern TLS protocol versions; or, set hostsecurity.my.host.com:minimumprotocol=tls1.0 to allow use of legacy, less secure protocols when communicating with this server)
(see https://mercurial-scm.org/wiki/SecureConnections for more info)
abort: error: [SSL: UNSUPPORTED_PROTOCOL] unsupported protocol (_ssl.c:661)
Решение

Подсказка решения есть в тексте самой ошибки, но она не совсем корректная. Открываем %USERHOME%/mercurial.ini, добавляем туда:
[hostsecurity]
my.host.com:minimumprotocol=tls1.0
Актуально для hg  4.3.1.