Сообщения

Сообщения за декабрь, 2018

Скрипт для поиска КОСГУ, которые имеют более одной строки.

SELECT h . code AS KOSGU , k . description , k . begin_date , k . end_date , b . caption FROM KES_LINES k JOIN KES h ON h . id = k . master_id JOIN budget b ON b . id = k . budget_id WHERE k . master_id IN ( SELECT l . master_id FROM KES_LINES l GROUP BY l . master_id HAVING COUNT ( * ) > 1 ) ORDER BY h . code ;

Разбор XML

Есть вопросы по поводу параметров, которые используются в xml-файлах, которые проливаются при обновлении и фиксах Пример кода: <? xml version= "1.0" encoding= "WINDOWS-1251" ?> < REFERENCE ref_name = "KVR" BUDGET_ID = "<budget_id>" action = "synchronize_no_delete_details" setEndDateOfLatestApprovedLine = "0" createNewLineAfterLatestApprovedLine = "1" > <!-- <REFERENCE ref_name="KVR" action="synchronize_no_delete_details" setEndDateOfLatestApprovedLine="0" FINYEAR="2019" BUDGKIND="2"> --> <!-- Если параметр createNewLineAfterLatestApprovedLine = "1", то кодам, у которых дата открытия в базе меньше, чем в xml, и не установлена дата окончания действия, будет установлена дата окончания действия "дата начала действия кода в xml -1 день". --> ref_name - объект, применительно к которому проливается

ГЗ - Узнать какие чекбоксы стоят на документе.

SELECT dc . document_id , ds . caption , d . doc_number , d . doc_date , d . amount , df . caption FROM docflag dc LEFT JOIN document d ON dc . document_id = d . id LEFT JOIN docflagtype df ON dc . docflagtype_id = df . id LEFT JOIN documentclass ds ON ds . id = d . documentclass_id WHERE dc . document_id = <id_договора> ; Либо необходимо использовать следующее условие, если это контракт/договор ..... WHERE dc . document_id IN ( SELECT a . document_id FROM contractdoc a WHERE a . id = <id_договора> );

Включить информацию о подключениях к БД в DB_Informer

Смотреть здесь -  https://beepings.blogspot.com/2015/03/oracle.html

ЕИС. Обнаружена критическая неполадка, система будет автоматически перезагружена через одну минуту.

Изображение
Предыстория: Появилась необходимость установки связи между АЦК-Ф и ЕИС, согласно настройки перехожу на сайт https://zakupki.gov.ru/pgz/login.jsp для того чтобы забрать оттуда сертификаты, после чего система выдает предупреждение, указывая на то, что отключение произойдет через 1 минуту Собственно и сама ошибка Причина: Наличие установленных (по умолчанию) чекбоксов в настройках Internet Explorer(Сервис - Свойства браузера - Дополнительно): Использовать TLS 1.1 Использовать TLS 1.2 Решение: Решается данная проблема собственно и отключением этих параметров. После чего можно не боясь открывать нужную ссылку  https://zakupki.gov.ru/pgz/login.jsp Собственно и само исправление (fix)

Перезагрузить сервер на Linux любой ценой

Изображение
Проблема: При зависании сервера и падении soft-raid10 (выход из стоя дисков) упала производительность системы в целом. То есть видим, что недоступны некоторые файлы и директории. Так вот, команды типа: > Shutdown -r now или > reboot не помогают, система просто не может завершить запущенные ранее операции и пытается что то сделать (прикончить). Поэтому на просторах интернета я нашел статью , в которой предложили аналог кнопки "RESET" на сервере в виде команды: # echo b > /proc/sysrq-trigger При этом, хорошей идеей будет сначала попытается синхронизировать все примонтированные файловые системы: # echo s > /proc/sysrq-trigger

Как я RAID0 познавал

Изображение
История Решили что нужно собрать RAID0 из 3-х дисков. Так как один из 4 дисков, который входил в RAID10 постоянно сбоил и вылетал из RAID. О том как его "засунуть" обратно уже разобрал, но это помогает на некоторое время, а потом снова привет. Причину так и не выяснили: на badblock проверен - без ошибок SATA-кабель поменяли - проблема осталась Осталось 2 варианта -  это либо, что поднимается температура дисков и он просто не выдерживает, либо не выдерживает блок питания (хотя это исключается тем, что постоянно вылетает только диск sdb). Во всяком случае, дальше проверять не стали, так как много трудозатрат и проблем в работе всего филиала. Поэтому собственно и выполняем команды снизу для создания необходимого soft-raid0. [root@dbserver38 ~]# mdadm --create --verbose /dev/md0 --level=raid0 --raid-devices=3 /dev/sda1 /dev/sdc1 /dev/sdd1 mdadm: chunk size defaults to 64K mdadm: /dev/sda1 appears to contain an ext2fs file system size=1953519872K mtime=Mon Dec

Восстановление Oracle на DBServer

В связи с отказом RAID10(4 диска) и дальнейшей его преобразовании в RAID0 (из 3 дисков) необходимо установить Oracle для работы с базами данных на этот raid. Полностью я как нибудь потом это попробую сделать, а сейчас наш лайфхак, как собрать Oracle за 30 минут(развернуть его из backup) 1. Первым делом, копируем папки "oracle_ee" и "oraInventory" в папку только что смонтированного raid0. 2. Далее перезапускаем систему для того чтобы она автоматически приняла текущие настройки oracle 3. Запускаем OEM > emctl start dbconsole 4. Переходим по указанному адресу и задаем пароли для пользователей системы (НЕ ЗАБЫВАЕМ ИХ сразу) 5. Создаем схему SCHEMAINFO (есть готовое скриптовое решение, проливать нужно в SQLDeveloper)- для хранения информации по БД Нужно учесть что сначала под пользователем SYS/SYSTEM создаем пользователя SCHEMAINFO, а потом перелогиниваемся под созданным пользователем и создаем таблицы, триггеры, процедуры. 5.