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

Сообщения

Показаны сообщения с ярлыком "linux"

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

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

Установка 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...

Увеличение размеров партиции(lvm) в linux

1. Узнать имена логических разделов: sudo lvs 2. Найти новый диск sudo fdisk -l 3. Создать раздел на новом диске: sudo fdisk /dev/sdb 4. Узнать тип файловой системы на расширяемом диске df -T 5. Отформатировать новый раздел sudo mkfs.xfs /dev/sdb1 6. Создать физический том в новом разделе sudo pvcreate /dev/sdb1 7. Узнать имя группы томов: sudo vgs 8. Добавить новый раздел к увеличиваемому: sudo vgextend vg_centos6 /dev/sdb1 9. Расширить логический раздел sudo lvextend -l +100%FREE /dev/mapper/vg_system-lv_root 10. Увеличить ФС: sudo xfs_growfs /

Автоматическое обновление snaphot standby

Задача: раз в сутки обновлять snapshot standby базу до актуального состояния. Делается это путем перевода в physycal standby и наката накопленных за день архивов.  После завершения обновления база снова переключается в snapshot standby. Для Windows: @echo off set ORACLE_SID=axtest set ORACLE_HOME=G:\oracle\ora11204 set prim_db=prd set std_db=std set cred=sys/p@S$w0Rd echo #################################################################### echo Refresh started at %time%  echo . echo #################################################################### set role = PHYSICAL %ORACLE_HOME%\bin\dgmgrl %cred%@%prim_db% "convert database %std_db% to %role% standby" echo  Now we are waiting for apply to finish. It'll take some time. echo ... :wait  ping 127.0.0.1 -n 30 >null %ORACLE_HOME%\bin\dgmgrl %cred%@%prd% "show database %std%" > log\lag.tmp for /f "tokens=3 delims= " %%i in ('find "Transport Lag" log\lag.tmp...

Автозапуск Oracle в Linux

1. После создания экземпляра правим /etc/oratab, а именно устанавливаем флажок рестарта в 'Y'. vim /etc/oratab AXDB:/app/oracle/product/12.1.0/dbhome_1:Y 2. Теперь из под root'a создаем файл  /etc/init.d/dbora вот с таким содержимым. #!/bin/sh # chkconfig: 345 99 10 # description: Oracle auto start-stop script. # # Set ORA_HOME to be equivalent to the $ORACLE_HOME # from which you wish to execute dbstart and dbshut; # # Set ORA_OWNER to the user id of the owner of the # Oracle database in ORA_HOME. ORA_HOME= /app/oracle/product/12.1.0/dbhome_1 ORA_OWNER=oracle if [ ! -f $ORA_HOME/bin/dbstart ] then     echo "Oracle startup: cannot start"     exit fi case "$1" in     'start')         # Start the Oracle databases:         # The following command assumes that the oracle login         # will not prompt th...

Oracle In-memory with dbhammer

1. Setup Машина:  Oracle Linux 6.6; 2 Core VM; 4 GB RAM; База:  Oracle EE 12.1.0.2; SGA 2 Gb (Используется AMM); Inmemory size 1Gb; 2. Test TPC-H DBHammer . Ось X - номер запроса теста TPC-H, Y - время в секундах. Синим цветом показаны запросы inmemory, красным - обычные запросы. Выводы: заявленное многократное увеличение производительности не подтвердилось. Хотя, конечно нужно сделать скидку на убогость тестовой машины.

Установка и настройка PostgreSql 9.4 на CentOS 7

Установка PostgreSQL Последняя версия bash-скрипта для установки БД  тут . Но в чем-то он может быть сыроват, и гонять его не понимая "что и зачем" я бы не рекомендовал. 1. Запретить скачку плохих, негодных PG из стандартного репозитория: vi /etc/yum.repos.d/CentOS-Base.repo exclude=postgresql* 2. Затем установить хороший, годный PG репозиторий: yum localinstall http://yum.postgresql.org/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-1.noarch.rpm Перед этим, проверить по адресу  yum.postgresql.org актуальные по версии БД и обязательно по дистрибутиву ОС (например, для Centos и Oracle Linux нужны разные репозитории). 3. Установить сервер и другие нужные компоненты (рекомендуется devel и contrib): yum install postgresql94-server postgresql94-contrib postgresql94-devel или еще проще  yum install postgresql94* 4. Инициализировать базу: /usr/pgsql-9.4/bin/postgresql94-setup initdb 4'. Если требуется nondefault PGDATA (default = /var/lib/pgsql/9.4/data), делаем...

Использование oraenv для установки окружения.

Для настройки окружения в Linux можно все параметры базы указать в .bash_profile: ORACLE_HOME=/app/oracle/product/11.2.0.4/dbhome_1 export ORACLE_HOME ORACLE_BASE=/app/oracle export ORACLE_BASE ORACLE_SID=orcl export ORACLE_SID PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin export PATH Но лучше использовать для этих целей утилиту oraenv. oraenv берет данные из файла /etc/oratab orcl:/app/oracle/product/12.1.0/dbhome_1:N И на ее основе задает параметры окружения: ORACLE_SID, ORACLE_BASE,ORACLE_HOME и PATH Использовать можно в интерактивном режиме: . oraenv ORACLE_SID = [orcl] ? orcl The Oracle base has been set to /app/oracle И в неинтерактивном режиме. Добавить в  .bash_profile: ORACLE_SID=orcl ORAENV_ASK=NO . oraenv Для ASM ситуация аналогичная. . oraenv ORACLE_SID = [orcl] ? +ASM1 The Oracle base has been set to /u01/app/oracle echo $ORACLE_HOME /app/11.2.0/grid

Настройка Streaming replication в Postgresql

1. Настроить ключи ssh для пользователя репликации 2. Настроить pg_hba.conf на master и  slave host  replication  all  192.168.0.1/32  trust host  replication  all  192.168.0.2/32  trust 3. На master: vi postgresql.conf wal_level = hot_standby max_wal_senders = 5 wal_keep_segments = 32 archive_mode    = on     archive_command = 'cp %p /path_to/archive/%f' 4. Клонировать master на  slave psql -c "SELECT pg_start_backup('label', true)" rsync -C -a --delete -e ssh --exclude postgresql.conf --exclude postmaster.pid \ --exclude postmaster.opts --exclude pg_log --exclude pg_xlog \ --exclude recovery.conf master_db_datadir/ slavedb_host:slave_db_datadir/ psql -c "SELECT pg_stop_backup()" или pg_basebackup -R -D /srv/pgsql/standby -h 192.168.0.1 -p 5432 5. На  slave : vi postgresql.conf hot_standby = on vi datadir/recovery.conf standby_mod...

Системная статистика Линукса внутри Oralce

Отличная возможность запрашивать системную статистику с помощью внешних таблиц:   Создаем в любой Oracle директории файл sar.sh следующего содержания: #!/bin/bash # чтоб дата отображалась в 24-х часовом формате export LC_TIME="POSIX" #точный путь к команде /usr/bin/sar   в подходящей схеме создаем табличку:  CREATE TABLE DBAKS.SAR (   sar_time  VARCHAR2(2255 BYTE),   sar_CPU     VARCHAR2(255 BYTE),   sar_USER  VARCHAR2(255 BYTE),   sar_NICE    VARCHAR2(255 BYTE),   sar_SYS  VARCHAR2(255 BYTE),   sar_IOWAIT  VARCHAR2(255 BYTE),   sar_STEAL   VARCHAR2(255 BYTE),   sar_IDLE    VARCHAR2(255 BYTE) ) ORGANIZATION EXTERNAL   (  TYPE ORACLE_LOADER      DEFAULT DIRECTORY DATA_PUMP_DIR      ACCESS PARAMETERS        ( RECORDS DELIMITED BY NEWLINE PREPROCESSOR DATA_PUMP_...

При удалении файлов df "не учитывает" освободившееся пространство

После удаления файлов df –h "не обновляется", более того место реально не освобождается. Это происходит от того, что файлы заняты каким-либо приложением. Решение: ls -ld /proc/*/fd/* 2>&1 | fgrep '(deleted)' Или /usr/sbin/lsof | grep deleted lrwx------ 1 root root 64 Sep 15 10:45 /proc/2958/fd/12 -> /tmp/ibSAlc0V (deleted) lrwx------ 1 root root 64 Sep 15 10:45 /proc/2958/fd/5 -> /tmp/ibUpZrp7 (deleted) lrwx------ 1 root root 64 Sep 15 10:45 /proc/2958/fd/6 -> /tmp/ibUmDSgz (deleted) lrwx------ 1 root root 64 Sep 15 10:45 /proc/2958/fd/7 -> /tmp/ibcLKj80 (deleted) lrwx------ 1 root root 64 Sep 15 10:45 /proc/2958/fd/8 -> /tmp/ibubhw0s (deleted) lrwx------ 1 root root 64 Sep 15 10:45 /proc/32645/fd/0 -> /dev/pts/1 (deleted) lrwx------ 1 root root 64 Sep 15 10:45 /proc/32645/fd/1 -> /dev/pts/1 (deleted) lrwx------ 1 root root 64 Sep 15 10:45 /proc/32645/fd/2 -> /dev/pts/1 (deleted) lrwx------ 1 root root 64 Sep ...