Случайно наткнулся на статью про WITH и обнаружил что он поддерживает вставку PL/SQL функций и процедур, да, раньше такого не знал. Эта возможность появилась с версии Oracle 12c.
CSS for code highlight
16 октября 2022
01 сентября 2022
WordViewer, ExcelViewer, PowerPointViewer
05 августа 2022
Установка модуля DBD::Oracle на Perl5 в Linux Mint 18.3
Для подключения к БД Oracle из скриптов потребовалось установить DBD::Oracle для Perl5 на Linux Mint 18.3. Методом познания ошибок в поисковике, через тернии к звездам, так сказать, получилось установить модуль. В итоге хочу поделиться опытом, может кому-то пригодится.
30 июля 2022
Установка Python3.7.9 из исходников на Linux Mint 18.3 (Ubuntu 16)
Предыстория - для пакета dadata (который планировал использовать для одного проекта) требуется Python 3.7, т.к. это минимально поддерживаемая версия. Но в моей системе Linux Mint 18.3 стоит Python 3.5 и это последняя доступная в репозитариях версия, а каких-то более вменяемых репозитариев найти не удалось, поэтому будем ставить "вручную" из исходников.
29 июля 2022
Установка Oracle InstantClient 11.2 на Linux Mint 18 / Ubuntu 16
Понадобился Oracle InstantClient для скриптов на Python/Perl, да и вообще чтобы был, т.к. со своего ноутбука запускал SQL/PLSQL скрипты в "самосборном lite" клиенте Oracle 9i для Windows через Wine. Извращение подумаете Вы? Но работает! :)
28 июля 2022
Установка архиваторов Rar, 7Zip, Lzma на древний RedHat Enterprise Linux 4
В настоящее время найти какие либо пакеты для RHEL 4 довольно трудно, но все же кое что еще удается на rpm.pbone.net, например, и некоторых других ресурсах. Ниже список пакетов которые удалось найти и которые ставятся на систему.
27 июля 2022
Ошибка - unzip: cannot find or open somefile.zip
Потребовалось распаковать довольно большие файлы в zip формате (9-35Гб) на древнем RHEL 4 (RedHat Enterprise Linux), но штатный UnZip 5.51 не справился, выдает ошибку - "unzip: cannot find or open somefile.zip". В mc так же не открывается файл, с ошибкой - "inconsistent extfs archive unzip non-zero exit status". После гугления оказалось, что такая проблема существует, но решения я не нашел, может плохо искал конечно, но на такую древнюю систему трудно что-то вообще найти сейчас.
Решил попробовать другие архиваторы - Rar и т.п.
Rar - под Linux с задачей не справился, т.к. не поддерживает другие форматы, кроме собственно rar
7Zip - на ура распаковал все необходимые файлы, которые не смог UnZip
30 июня 2022
Тихий звук в Bluetooth гарнитуре на максимальной громкости
С каких-то пор на моем Linux Mint 18.3 на ноутбуке появилась проблема - довольно тихий звук, даже на максимальной громкости при воспроизведении на Bluetooth гарнитуру, конкретно Bluetooth приемник, подключенный к колонкам.
02 июня 2022
Скрипт восстановления базы данных Oracle на определенное время
Иногда приходится восстанавливать базу данных на какое-то конкретное время, делать это вручную весьма рутинно и скучно, поэтому решил таки автоматизировать и написать скриптик. Сразу скажу что rman'ом не пользуюсь, т.к. ну не dba я, потому просто и не довелось его освоить (буду исправляться! :)), на все нет времени, много других задач. Ежедневно делаю холодные копии и пакую архивлоги, обычно хватает холодных копий, но иногда все же требуется восстанавливать на конкретное время, поэтому восстанавливаю требуемую холодную копию/архивлоги/контроллы и используя sqlplus накатываю архивлоги. Скрипт аналогично сам находит требуемые копии, распаковывает, накатывает архивлоги, теперь вместо хх часов, буду тратить порядка 2 минут на запуск скрипта с нужными параметрами, ну если все резервные копии есть и хранятся в необходимом порядке, иначе скрипт выдаст ошибку и придется продолжить вручную...
20 мая 2022
Ручное обновление базы данных часовых поясов в старых дистрибутивах Linux CentOS/RHEL
На некоторых серверах клиентов, до сих пор не настроено корректно ни время (убежало) ни временная зона (у нас она давно изменилась), но никому это особо не мешало. Недавно все же понадобилось настроить, ну и так для порядка, но сервера уже такие древние мамонты, что никаких обновлений разумеется нет, поэтому обновим базу данных временных поясов вручную...
09 марта 2022
Как загрузить все сообщения в веб-интерфейсе Yandex почта
Понадобилось загрузить все найденные по поиску сообщения (имеется ввиду - список), чтобы сделать некую выгрузку-отчет, но сообщений несколько тысяч и тыкать на кнопку "Еще письма" как-то ...
06 марта 2022
Преобразование HTML в CSV или обработка HTML таблиц в Bash-2
Продолжение предыдущей статьи... Конвертируем - Очищаем HTML до состояния чистого CSV, при помощи sed:
sed -e '/\(html\|title\|body\|table\)/d' -e 's/ \{2,\}//g' report.html | \
sed ':a;N;$!ba;s#\s*</td>\s*</tr>\s*<tr>\s*<td>\s*#\n#g' | \
sed ':b;N;$!bb;s#\s*</td>\s*<td>\s*#;#g' | \
sed '/\(tr>\|<td\|td>\)/d' | \
iconv -f windows-1251 -t utf-8
Для суммирования значений по всем файлам конкретно в моем случае достаточно ...
Преобразование HTML в CSV или обработка HTML таблиц в Bash
Потребовалось обработать уже готовые отчеты в HTML файлах, а именно - из каждого файла-отчета взять конкретную ячейку таблицы и просуммировать, своего рода - SUM() и GROUP BY (в SQL). Сначала думал написать скрипт например на Python, который бы парсил HTML и т.д. и т.п., но...
29 января 2022
Библиотеки для работы с Excel в Go
Использование старых версий библиотек в Go
# скачиваем из архива и распаковываем
wget -O excelize-1.4.1.zip https://github.com/qax-os/excelize/archive/refs/tags/v1.4.1.zip
unzip excelize-1.4.1.zip
# на всякий случай чистим, создаем папку в исходниках библиотек
rm -vrf ~/go/src/github.com/qax-os/excelize
mkdir -p ~/go/src/github.com/qax-os
# перемещаем распакованную библиотеку в иходники и собираем ее
mv excelize-1.4.1 ~/go/src/github.com/qax-os/excelize
go get -v github.com/qax-os/excelize
# компилируем файл
go build -o test-excelize-1.4.1 test-excelize-1.4.1.go
GOOS=windows GOARCH=386 go build -o test-excelize-1.4.1.exe test-excelize-1.4.1.go