К основному контенту

Сообщения

Включение логирования для Haproxy

Недавние сообщения

Автоматизация задач по настройке ОС с помощью Ansible.

Ansible — система управления конфигурациями, написанная на Python, с использованием декларативного языка разметки для описания конфигураций. Используется для автоматизации настройки и развертывания программного обеспечения. Обычно используется для управления Linux-узлами, но Windows также поддерживается. Поддерживает работу с сетевыми устройствами, на которых установлен Python версии 2.4 и выше по SSH или PowerShell соединению. Слово « Ansible » означает вымышленную систему мгновенной гиперпространственной связи. Преимущества: низкий порог входа; декларативный язык описания конфигурации; на управляемые узлы не нужно устанавливать никакого дополнительного ПО (агентов); Простой пример Предварительное замечание: В рассматриваемых примерах подразумеваем, что на всех машинах (на управляющей и на управляемых) уже создан пользователь ansible с правами выполнения любых действий через sudo и без запроса пароля. Также между машинами настроен беспарольный доступ по ssh для у

Полное восстановление БД Oracle на новую машину.

Предварительное замечание: если (вдруг) используется windows предварительно нужно создать новый экземпляр с помощью oradim. Итак: export ORACLE_SID=mysid Создаём pfile с необходимыми параметрами cat > initmysid.ora <<EOF db_name=yourdbname db_unique_name=instance EOF В большинстве случаев этого достаточно startup nomount Восстанавливаем controlfile из имеющейся резервной копии. RMAN> restore controlfile from '/home/oracle/stage/o1_mf_s_819826669_8x7w7g70_.bkp'; shutdown immediate startup mount; Сообщаем базе, где лежат резервные копии: RMAN> catalog start with '/home/oracle/stage'; Перед тем как восстанавливать БД неплохо было бы узнать последний хороший scn, дабы уберечься от ошибки на последней стадии (alter database open resetlogs ). Самый простой способ сделать это такой - после восстановления контрольного файла подключаемся as sysdba к mount базе и выполняем следующий запрос: SQL> column scn format 999999999999999 se

Oracle PL/SQL native compilation в боевых условиях.

Задача: тестирование возможного выигрыша в производительности при использовании NATIVE COMPILATION по сравнению с  INTERPRETED COMPILATION. Методика тестирования. Процедура  TEST_PCG  реально боевая (название изменено) - делает много чего и долго. Код по понятным причинам приводить не буду. Для замера времени перед выполнение будет запускаться PROFILER. Процедура из пакета буде выполнена по 20 раз для обоих видов компиляции. -- test_block.sql DECLARE   L_COMPILED VARCHAR2(100);   L_TEST_PARAMS  VARCHAR2(100)  := 'TEST VALUES' BEGIN    FOR I IN 1..20   LOOP    SELECT DISTINCT PLSQL_CODE_TYPE INTO L_COMPILED FROM USER_PLSQL_OBJECT_SETTINGS WHERE NAME = 'TEST_PCG';   DBMS_PROFILER.START_PROFILER('TRY_TEST_PCG_COMPILED_'||v_compiled,1);      DBAX. TEST_PCG . TEST_PRC(TEST_PARAMS) ;   COMMIT;      DBMS_PROFILER.STOP_PROFILER;   END LOOP; END; / SQL> alter procedure p1 compile plsql_code_type=interpreted; SQL> @test

Интерфейс ожиданий в PostgreSQL

Черновик: взять source: https://github.com/postgrespro/postgres скомпилировать: http://orabase.org/index.php/2015/07/21/postgrespro-pg_stat_wait-patch/ У меня получилось не сразу. Позже сделаю свою хау-ту. Обратить внимание на параметры configure: ./configure --with-ldap --with-perl --with-python --with-openssl --with-libxml --prefix=/usr/pgsql-pro --exec-prefix=/usr/pgsql-pro vim postgresql.conf shared_preload_libraries='pg_stat_wait' waits_monitoring = on pg_stat_wait.history = on pg_stat_wait.history_size = 1000000 pg_stat_wait.history_period = 1000 psql  -c  CREATE EXTENSION pg_stat_wait см. таблицы: pg_stat_wait_current  pg_stat_wait_history  pg_stat_wait_profile еще инфа по теме: https://simply.name/ru/pg-stat-wait.html http://www.highload.ru/2015/abstracts/1902.html

Установка PL/Java для PostgreSQL 9.4

Предварительные требования:  1. Компилятор C. Как правило имеется в виду gcc и g++ gcc  --version на CENTOS 7 мне понадобился gcc_c++ (в дополнение к установленному ранее gcc) 2. JAVA. Убедиться, что  javac  -version работает  3. PostgreSQL установлен и  работает pg_config Файлы для разработки (.h файлы) для нашего PostgreSQL также должны быть установлены. Убедиться можно посмотрев что лежит в INCLUDEDIR-SERVER (вывод pg_config). Я раньше компилировал БД из исходников на этой машине, так что у меня эти файлы были. 4. компилятор Maven mvn --version Установка git clone https://github.com/tada/pljava.git или git clone ssh://git@github.com/tada/pljava.git Заходим в директорию pljava и выполняем mvn clean install В результате должны получить: [INFO] PostgreSQL PL/Java ................................ SUCCESS [INFO] PL/Java API ....................................... SUCCESS [INFO] PL/Java backend Java code ......................... SUCCESS [INFO] P

Влияние параметра DB_ULTRASAFE на производительность базы.

Рекомендации по результатам расследования инцидента с повреждёнными блоками на промышленном кластере. Рекомендации orachk (раздел Maximum Availability Architecture (MAA) Scorecard): Провести настройку параметров: DB_BLOCK_CHECKSUM=FULL DB_LOST_WRITE_PROTECT=TYICAL/FULL DB_BLOCK_CHECKING=MEDIUM/FULL To achieve the most comprehensive data corruption prevention and detection , use Oracle Active Data Guard and configure DB_BLOCK_CHECKSUM,DB_LOST_WRITE_PROTECT and DB_BLOCK_CHECKING database initialization parameters on the primary database and all standby databases in a Data Guard environment. Установку этих параметров по отдельности можно заменить на установку единого параметра DB_ULTRA_SAFE: DATA_ONLY - эквивалент: DB_BLOCK_CHECKING = MEDIUM. DB_LOST_WRITE_PROTECT = TYPICAL. DB_BLOCK_CHECKSUM = FULL. DATA_AND_INDEX - эквивалент: DB_BLOCK_CHECKING = FULL. DB_LOST_WRITE_PROTECT = TYPICAL. DB_BLOCK_CHECKSUM = FULL. Для установки степени влияния указанных