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

Сообщения

Сообщения за октябрь, 2013

robocopy. Новый взгляд на копирование файлов

Чрезвычайно полезный и мощный инструмент. Совмещает возможости copy и xcopy одновременно предлагая массу новых возможностей. Из наиболее интересных: /Z - копирование по сети с возобновлением, /MIR - зеркалирование (копирование с одновременным удалением файлов, которых больше нет на источтике), /MT - многопоточное копирование, /XF, /XD - исключения файлов или каталогов из копирования. /R, /W - количесвтво повторов при ошибке и время ожидания между повторами тонкая настройка логирования. /MON:n /MOT:n - realtime мониторинг источника и синхронизация через каждые n изменений (n минут для MOT). Создание службы для организации  realtime  репликации:  sc create "Robocopy-Service" binPath=  ".\robocopy.exe" start=auto

Парсинг документов MS Word на наличие в них изображений

Несколько лет назад приходилось работать со сложным ETL процессом, на одном из шагов которого требовалось определить, есть ли в документе Word изображения или другие, нетекстовые вложения. Производилось все вручную, на глаз, по размеру файла. Скорость выполнения процесса всех устраивала и никому не приходило в голову, погуглить автоматизацию этого унылого процесса. Сегодня решил посмотреть на эти дела, вооружившись новым опытом. Оказывается документ docx представляет собой обычный zip архив, и его содержимое можно посмотреть с помощью команды: uzip -l файл  Изображения находятся в папке /media , следовательно: uzip -l файл | find "/media" А файлы .doc преспокойно конвертируются в .docx c помощью Пакета обеспечения совместимости Microsoft Office для форматов файлов Word, Excel и PowerPoint . А лапти из 5 отдела ООУ наверное до сих пор перебирают файлики своими кривыми ручками.

Системная статистика Линукса внутри 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_DIR:'sar.sh' SKIP 3 FIELDS TERMINATED BY WHITESPACE LDRTRIM MISSING FIELD VALUES ARE NULL )      LOCATION (DATA_PUMP_DIR:'sar.sh')   ) REJECT LIMIT 0 NOPARALLEL NOMONITORING; Аналогично м

При удалении файлов 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

Oracle preintall rpm

Пакет oracle - rdbms - server -* - preinstall -* . rpm  создан для оптимизации работы ОС Linux при работе с БД Oracle . Пакет производит следующие настройки : 1.        Устанавливает необходимые для работы БД rpm -пакеты. 2.        Создает пользователя oracle и группы oinstall и dba 3.        Производит настройки в sysctl . conf , устанавливает необходимые параметры запуска системы и драйверов. 4.        Устанавливает рекомендованные лимиты на использование ресурсов пользователем oracle . 5.        Устанавливает другие необходимые параметры в зависимости от версии ядра ОС. Рекомендуется устанавливать данный пакет непосредственно перед установкой СУБД Oracle на платформах RHEL / OEL . Пакет доступен для скачивания и установки из стандартного репозитория  Oracle Linux. http://docs.oracle.com/cd/E11882_01/install.112/e16763/pre_install.htm 2.1.4 About the Oracle RDBMS Pre-Install and Oracle Validated RPMs If your Linux distribution is Oracle Linux, or

HugePages на серверах БД под Linux

Столкнулись со следующей ситуацией: Снижение объема доступной ОЗУ + увеличение использования swap. При этом PageTable занимали около 200Gb при общем объеме 756Gb. grep PageTables /proc/meminfo Рекомендации  Oracle support “HugePages on Oracle Linux 64-bit (Doc ID 361468.1)”. Использование Huge pages критично для производительности БД Oracle на платформах Linux с большим объемом ОЗУ и SGA . При размере SGA более 8 Gb должны использоваться HugePages . Некоторые из указанных преимуществ: ·          Уменьшение служебных операций с памятью ·          Huge pages не выгружаются в Swap ·          Общее снижение используемой памяти Рекомендации по настройке серверного оборудования HP : Технология Huge page , реализованная в Linux , настоятельно рекомендуется к использованию на DL 980 при работе с БД Oracle . Данная технология способствует наиболее рациональному использованию памяти. Для каждого пользователя, подключающегося к БД, с