2012-12-20

Бог и зло

Один умный профессор однажды в университете задал своим студентам такой вопрос:
– Все ли, что существует, создано Богом?
Один студент смело ответил:
– Да, создано Богом.
– Бог создал все? - переспросил профессор.
– Да, сэр, – ответил студент.
Профессор сказал:
– Если Бог создал все, значит Бог создал зло, раз оно существует. И согласно тому принципу, что наши дела определяют нас самих, значит Бог есть зло.
Студент притих, услышав такой ответ. Профессор был очень доволен собой. Он похвалился, заявив, что еще раз доказал, что вера в Бога – это миф.
Еще один студент поднял руку и сказал:
– Могу я задать вам вопрос, профессор?
– Конечно, – ответил профессор.
Студент поднялся и спросил:
– Профессор, холод существует?
– Что за вопрос? Конечно, существует. Тебе никогда не было холодно?
Студенты засмеялись над вопросом молодого человека.
Студент ответил:
– На самом деле, сэр, холода не существует. По законам физики то, что мы считаем холодом, на самом деле просто отсутствие тепла. Человек или предмет можно изучить на предмет того, имеет ли он или передает энергию. Абсолютный ноль (-460 градусов по Фаренгейту) есть полное отсутствие тепла. Вся материя при этой температуре становится инертной и неспособной реагировать. Холода просто не существует. Мы придумали это слово для описания того, что чувствуем при отсутствии тепла. Профессор, а темнота существует?
Профессор ответил:
– Конечно, существует.
Студент ответил:
– Вы опять неправы, сэр. Темноты тоже не существует. Темнота в действительности есть отсутствие света. Мы можем изучить свет, но не темноту. Мы можем с помощью призмы Ньютона разложить белый свет на множество цветов и изучить различные длины волн каждого цвета. Но нельзя измерить темноту. Простой луч света может ворваться в мир темноты и осветить его. Как узнать, насколько темным является какое-то пространство? Мы измеряем только количество света, а не темноты, не так ли? Темнота – это просто слово, которое человек использует, чтобы описать, что проиходит при отсутствии света. Сэр, а зло существует?
Профессор ответил, на этот раз несколько менее уверенно:
– Конечно. Как я уже говорил, мы видим его каждый день. Жестокость между людьми, множество преступлений и насилия по всему миру. Эти примеры являются ни чем иным как проявлением зла.
На это студент ответил:
– Зла не существует, сэр, во всяком случае самого по себе. Зло – это просто отсутствие Бога. Оно похоже на темноту и холод. Это слово специально придумано для описания отсутствия Бога. Бог не создавал зло. Зло – это не вера или любовь, которые объективно существуют, как свет и тепло. Зло – это результат отсутствия в сердце человека божественной любви. Это вроде холода, который наступает, когда нет тепла, или вроде темноты, которая наступает, когда нет света.
Профессор молчал. Студента звали Альберт Эйнштейн.
Читать далее

2012-12-17

Большое горе, или восстановление VMFS 3

Итак, я, походу, налажал нипадецки. И надо из этой лажи выбираться...

Значит, есть ESXi 4.1. К серверу через FC адаптер подключена дисковая полка CLARiiON AX4-5.На дисковой полке создан виртуальный диск, размером 1.8Tb. Диск подключен к ESXi как datastore, и на нем создана виртуальная машина. Используется эта виртуалка для хранения бэкапов, которые еще не записаны на диски и вообще самых важных. Ну а че, это же, типа, самое надежное место хранения.... было... пока я не решил место увеличить....

Ну, да, по порядку...

Итак, места виртуалке стало не хватать (бэкапы место жрут будь здоров), и я решил, как я это делаю обычно, это самое место увеличить. В Navisphere на AX4 увеличиваю виртуальный диск на 150Gb. Все нормально, все как обычно. Потом выключаю виртуалку, открываю свойства datastore, нажимаю замечательную кнопочку "Increase", указываю максимально допустимый размер (был указан по умолчанию), ну и говорю - "Огонь, давай, родимый, расти!!!". А ESXi мне и говорит в ответ нечеловеческим голосом:

Call "HostDatastoreSystem.ExpandVmfsDatastore" for object "ha-datastoresystem" on ESXi "esxi05" failed.
Operation failed, diagnostics report: Unable to grow Filesystem, please see VMkernel log for details 


И вот тут я понял - ЖОПА!!! Еще не до конца понял, почему, но то, что это именно она я понял на 110%. Упало у меня все ниже подошвы и начал я подозревать, что хана пришла бэкапам :(

Кнопка там была всего одна, с оптимистичной надписью "ОК" ее и нажал, прекрасно понимая, что никакого ОК не будет, причем долго...

После нажатия datastore исчез, виртуалка перешла в состояние unaccessible. 

2013.01.15

Итак, итог...
Восстановить получилось примерно 35 Гиг архивов, что составило около 2% от общего количества убитых данных. Прямо скажем - негусто.

Как получилось в итоге восстановить - при помощи R-Studio, спасибо разработчикам, это мегавещь, всем советую всегда иметь под рукой на всякий случай.

Почему восстановил так мало - из-за суеты и неправильных действий на самом начальном этапе. Если бы сразу сделал все как надо, восстановил бы гораздо больше, может даже всё.

В идеале в моей ситуации нужно было действовать так:
0. Не делать никаких действий, связанных с изменениями файловой система на убитом разделе. Все участники процесса увидят его таким, какой он есть.
1. Физически переподключить убитый datastore на ESXi сервер 5-й версии и никак его не настраивать и не добавлять. Должно существовать только физическое соединение.
2. На сервере, куда подключили datastore, создать виндозную виртуалку, лучше xp, установить в нее R-Studio.
3. Найти место, куда будут восстанавливаться данные. Место должно быть джоступно по сети созданной виртуалке.
4. Добавить datastore в виртуалку как Physical LUN(Mapped Raw LUN), не создавать на нем никаких файловых систем, ничего. Винда его и видеть не должна, все увидит R-Studio.
5. Запустить R-Studio, просканировать datastore, все, что нашло - восстановить на место, созданное в п.3. Чтобы R-Studio лучше нашло потерянный данные, необходимо указать программе, что конкретно искать, иначе, если она будет искать все подряд, то и бабуина там найдет, и восстановить, только в итоге не бабуин окажется, а стадо дохлых жирафов... У меня например на разделе весом 2 TB нашло 400 EB (эктобайт, как я понимаю) каких-то zip-ов, которых там сроду небыло.

Предостережение для таких же горюющих, как и я:
НИКОГДА, НИКОГДА, НИКОГДА НИЧЕГО НЕ МЕНЯЙТЕ НА ФАЙЛОВОЙ СИСТЕМЕ, С КОТОРОЙ НУЖНО ВОССТАНОВИТЬ ДАННЫЕ. ОНА ДО ОКОНЧАНИЯ ПРОЦЕССА ВОССТАНОВЛЕНИЯ СВЯТАЯ И НЕПРИКАСАЕМАЯ КОРОВА, ДАЖЕ ДЫШАТЬ НА НЕЕ ОСТОРОЖНО. ВОССТАНОВИТЬ МОЖНО ПОЧТИ ВСЕ И ОТОВСЮДУ НЕ ПОМЕНЯВ НИ БАЙТА. ЭТО, ПРАКТИЧЕСКИ, ЗАЛОГ УДАЧНОГО ПРОЦЕССА ВОССТАНОВЛЕНИЯ.

Читать далее

2012-11-21

:)

Маленький мальчик, которого на пасеке укусила коза, перестал верить в логику.

Одному мальчику подарили на день рождения набор юного слесаря и он спился за два дня.

Продавщицы ларьков, идя домой с работы, некоторое время пугаются, видя людей целиком.

Адам с Евой резвятся в саду, спускается к ним Бог и говорит:
- Дети мои, у меня есть вам два подарка, только вы должны решить кому какой.. Первый подарок - писать стоя..
Ну Адам громче всех орал и бился головой об деревья, что он хочет писать стоя, что всю жизнь мечтал. Ева ему уступила.. И Адам побежал по саду, радовался, прыгал, кричал, ссал на все подряд! На деревья, на цветы, на каждую букашку и просто на землю!
Ева встала рядом с Богом.. В молчании смотрели они вместе на это безумие.. И тут Ева спросила:
- Боже мой, а второй-то подарок какой?..
И молвил Бог:
- Мозги, Ева.. Мозги..! Но мозги, Ева, придется тоже отдать Адаму, иначе он тут все обоссыт!
Читать далее

2012-11-14

fsck на ходу...

Есть такой хомут в sles11 sp2 на ext3 - если собрать софтрейд 5-го уровня, на нем использовать ext3, то, частенько, линуха некорректно считает место на массиве. Не спорю - может это хомут конкретно моего железа, но все-таки есть такое дело...

Как лечить.

Ну первое - запустить чекдиск прямо во время работы системы, указав ему ничего не делать. Он вроде как и не делает ничего, но место после этого какое-то время считает правильно:

fsck -n /dev/md3

Ну и вариант второй - более правильный - перезапустить систему, с обязательной проверкой диска во время загрузки:

shutdown -Fr now

Читать далее

2012-11-13

Оптимизируем дисковое пространство linux. Изменение процента зарезервированных блоков.

По умолчанию 10% блоков каждого раздела linux резервирует. 5 для нужд суперпользователя и 5 для служебных нужд блоков. В некоторых случаях это роскошь, особенно когда место надо, а взять его негде. Тогда это соотношение можно поменять,и оставить под каждое резервирование, например, 1%.

tune2fs -m 1 /dev/
tune2fs -r 1 /dev/ 

Читать далее

2012-10-19

Bucardo. И снова здравствуйте...

Никуда мы друг от друга не денемся...
Кстати, хотите узнать, кто такой bucardo??? Смотрите:


К чему это я.... А, да, опять репликация :)
Задача простая, как сам bucardo - есть большая БД, из которой делаем две БД - одну полную, одну оперативную. Из оперативной выносим старые данные и настраиваем, чтобы все, изменения, производимые в оперативной реплицировались в полную БД, в которой должны быть вообще все данные. Полная БД работает только на чтение, на ней крутят мегаотчеты по полным и безбашенным периодам, а в перспективе вообще все отчеты, если репликация будет работать красиво :)
Размазывать сопли не буду, ибо статейка пишется после того, как основная работа уже была проделана.Используется PostgreSQL 9.1.6 из rpm пакетов на SLES11 SP2 64bit.

########################################################
### 0. Устанавливаем Bucardo
########################################################

Писать не буду, 300 раз делал... В блоге все есть...

########################################################
### 1. Инициализируем Bucardo
########################################################

bucardo2:~ # su - postgres
postgres@bucardo2:~> psql
psql (9.1.6)
Введите "help", чтобы получить справку.

postgres=# CREATE USER bucardo SUPERUSER;
CREATE ROLE
postgres=# ALTER ROLE bucardo password 'qwerty';
ALTER ROLE
postgres=# CREATE TABLESPACE bucardo OWNER bucardo LOCATION '/u02/pgdata/bucardo';
CREATE TABLESPACE
postgres=# CREATE DATABASE bucardo WITH ENCODING='UTF8' OWNER=bucardo TABLESPACE=bucardo;
CREATE DATABASE
postgres=# \q
postgres@bucardo2:~> psql -U bucardo bucardo
psql (9.1.6)
Введите "help", чтобы получить справку.

bucardo=# CREATE LANGUAGE plperlu;
CREATE LANGUAGE
bucardo=# CREATE LANGUAGE plperl;
CREATE LANGUAGE
bucardo=# CREATE LANGUAGE plpgsql;
ОШИБКА:  язык "plpgsql" уже существует
bucardo=# \q
postgres@bucardo2:~> psql -h 10.77.11.124 oblbase
Пароль:
psql (9.1.6)
Введите "help", чтобы получить справку.

oblbase=# CREATE USER bucardo SUPERUSER;
CREATE ROLE
oblbase=# ALTER ROLE bucardo password 'qwerty';
ALTER ROLE
oblbase=# CREATE LANGUAGE plperlu;
CREATE LANGUAGE
oblbase=# CREATE LANGUAGE plperl;
CREATE LANGUAGE
oblbase=# CREATE LANGUAGE plpgsql;
ОШИБКА:  язык "plpgsql" уже существует
oblbase=# \q
postgres@bucardo2:~> exit
logout
bucardo2:~ # mkdir /var/run/bucardo
bucardo2:~ # mkdir /var/log/bucardo
bucardo2:~ # mkdir /var/log/arhiv/bucardo
bucardo2:~ # bucardo_ctl install
This will install the bucardo database into an existing Postgres cluster.
Postgres must have been compiled with Perl support,
and you must connect as a superuser

We will create a new superuser named 'bucardo',
and make it the owner of a new database named 'bucardo'

Current connection settings:
1. Host:         
2. Port:          5432
3. User:          postgres
4. Database:      postgres
5. PID directory: /var/run/bucardo
Enter a number to change it, P to proceed, or Q to quit: 3

Change the user to: bucardo

Changed user to: bucardo
Current connection settings:
1. Host:         
2. Port:          5432
3. User:          bucardo
4. Database:      postgres
5. PID directory: /var/run/bucardo
Enter a number to change it, P to proceed, or Q to quit: 4

Change the database name to: bucardo

Changed database name to: bucardo
Current connection settings:
1. Host:         
2. Port:          5432
3. User:          bucardo
4. Database:      bucardo
5. PID directory: /var/run/bucardo
Enter a number to change it, P to proceed, or Q to quit: P

Postgres version is: 9.1
Attempting to create and populate the bucardo database and schema
Database creation is complete

Connecting to database 'bucardo' as user 'bucardo'
Updated configuration setting "piddir"
Installation is now complete.

If you see any unexpected errors above, please report them to bucardo-general@bucardo.org

You should probably check over the configuration variables next, by running:
bucardo_ctl show all
Change any setting by using: bucardo_ctl set foo=bar

bucardo2:~ # bucardo_ctl set default_email_from=bucardo_net@qwerty.ua
Set "default_email_from" to "bucardo_net@qwerty"
bucardo2:~ # bucardo_ctl set default_email_to=fa@qwerty
Set "default_email_to" to "fa@qwerty"
bucardo2:~ # bucardo_ctl set log_conflict_file=/var/lob/bucardo_conflict.log
Set "log_conflict_file" to "/var/lob/bucardo_conflict.log"
bucardo2:~ # bucardo_ctl set reason_file=/var/log/bucardo.restart.reason.log
Set "reason_file" to "/var/log/bucardo.restart.reason.log"
bucardo2:~ # bucardo_ctl set warning_file=/var/log/bucardo.warning.log
Set "warning_file" to "/var/log/bucardo.warning.log"

# Кроме того:
# В файл /etc/syslog-ng/syslog-ng.conf добавляем строки:
filter f_bucardo {match('ucardo'); };
filter f_messages { not facility(news, mail) and not filter(f_iptables) and not filter(f_bucardo); };
destination d_bucardo {file(var/log/bucardo/bucardo.log);};
log {source(src);filter(f_bucardo);destination(d_bucardo);};
# после чего перезапускаем syslog
# Создаем файл /etc/logrotate.d/bucardo со следующим содержимым:
/var/log/bucardo/bucardo.log {
notifempty
daily
rotate 99
missingok
compress
dateext
copytruncate
olddir /var/log/arhiv/bucardo
}


########################################################
### 2. Добавляем базы данных, которые участвуют в репликации 
########################################################

bucardo2:~ # bucardo_ctl add database oblbase name=netoper host=10.77.11.124 user=bucardo pass=qwerty
Added database "netoper"
bucardo2:~ # bucardo_ctl add database oblbase name=netfull host=10.77.11.125 user=bucardo pass=qwerty
Added database "netfull"


########################################################
### 3. Добавляем таблицы, но только те, на которых есть PK. 
########################################################
 

bucardo2:~ # mkdir /u02/work/bucardo
bucardo2:~ # chown postgres:postgres /u02/work/bucardo/
bucardo2:~ # su - postgres
postgres@bucardo2:~> cd /u02/work/bucardo/
postgres@bucardo2:/u02/work/bucardo> psql oblbase
psql (9.1.6)
Введите "help", чтобы получить справку.

oblbase=> \o add_tables.sh \t
Выводятся только кортежи.
oblbase=> select 'bucardo_ctl add table '||table_schema||'.'||table_name||' db=netoper herd=netoper_herd'
oblbase-> from pg_constraint p, information_schema.constraint_table_usage i
oblbase-> where contype = 'p'
oblbase->   and i.constraint_name = p.conname
oblbase->   and table_schema not in ('public')
oblbase-> order by table_schema, table_name;
oblbase=> \q
postgres@bucardo2:/u02/work/bucardo> exit
logout
bucardo2:~ # cd /u02/work/bucardo/
bucardo2:/u02/work/bucardo # bash add_tables.sh
Created herd "netoper_herd"
Added table "net.address"
...многа-многа-многа-табличек...
Added table "net.tmesure_unit"


########################################################
### 4. Добавляем SYNC и делаем первый запуск
########################################################
 

bucardo2:/u02/work/bucardo # bucardo_ctl add sync net_sync type=pushdelta source=netoper_herd targetdb=netfull --verbose
Added sync "net_sync"
bucardo2:/u02/work/bucardo # bucardo_ctl start "Urra, the first start..."

После этого смотрим /var/log/bucardo/bucardo.log, и в 99% случаев находим там много жоп.
Исправляем их и запускаемся по новой...



########################################################
### 5. Создаем инициализационный скриптец
########################################################

Создаем файлик /etc/init.d/bucardo со следующим содержимым


#!/bin/sh
. /etc/rc.status
rc_reset
name="bucardo_ctl"
command="/usr/bin/${name}"
CURDT=$(date +%Y-%m-%d.%H.%M.%S)
case "$1" in
    start)
        echo -n "START BUCARDO Replication of PostgreSQL:"
        ${command} --debugfile=0 --sendmail=1 start "Started by init.d script" $CURDT
        rc_status -v
        ;;
    stop)
        echo -n "STOP BUCARDO Replication of PostgreSQL:"
        ${command} --sendmail=1 stop "Stoped by init.d script" $CURDT
        rc_status -v
        ;;
    status)
        ${command} status
        rc_status -v
        ;;
    *)
        echo "Usage: $0 {start|stop|status}"
        exit 1
        ;;
esac
rc_exit

########################################################
### 6. Делаем руками LOGROTATE (ну то есть через ж...)
########################################################

Почему через ж..., да потому что по непонятной мне причине logrotate не обробатывает файлы bucardo, а их вертеть надо каждые 2 часа.

Создаем файлик /u02/scheduler/logrotate/bucardo со следующим содержимым:

#!/bin/bash
/usr/sbin/logrotate -f /etc/logrotate.d/bucardo
CURDTMIN=$(date +%Y%m%d)
CURDTMAX=$(date +%Y%m%d%H%M%S)
mv -v /var/log/arhiv/bucardo/bucardo.log-$CURDTMIN.gz /var/log/arhiv/bucardo/bucardo.log-$CURDTMAX.gz
и в cron добавляем:

0       */2     *       *       *       /u02/scheduler/logrotate/bucardo &> /dev/null

Ну а /etc/logrotate.d/bucardo вот такой:

/var/log/bucardo/bucardo.log {
notifempty
daily
rotate 200
missingok
compress
dateext
copytruncate
olddir /var/log/arhiv/bucardo
}


Читать далее

2012-10-05

Обычная ситуация :(

Человек, летящий на воздушном шаре, обнаружил, что потерялся.
Он спустился немного ниже и заметил на земле женщину. Спустившись еще чуть ниже, он обратился к ней: «Простите, не могли бы Вы помочь? Я договорился с другом встретиться час назад, но не знаю, где сейчас нахожусь».
«Вы находитесь на воздушном шаре в 30 футах от поверхности Земли, между 40 и 41 градусом северной широты и между 59 и 60 градусом западной долготы» - ответила женщина.
М: Вы, должно быть, инженер-программист?
Ж: Да, а как Вы догадались?
М: Вы мне дали абсолютно точный ответ, но я совершено не представляю, что делать с этой информацией и я все еще потерян. Откровенно говоря, Вы мне совершенно ничем не помогли.
Ж: А Вы, наверное, менеджер?
М: Да. А Вы как догадались?
Ж: Вы не знаете, где находитесь и куда направляетесь. Вы поднялись туда, где находитесь, благодаря воздуху. Вы дали обещание, которое не представляете, как выполнять, и ожидаете, что люди, которые находятся ниже вас, решат Ваши проблемы. И наконец, сейчас Вы в том же самом положении, в котором находились до встречи со мной, но почему-то теперь в этом оказалась виновата я"
Читать далее

2012-10-01

PostgreSQL 9.2.1 из исходников

SLES11 SP2 64 bit

p03:~ # cd /u02/install/postgres/
p03:/u02/install/postgres # tar -xvzf postgresql-9.2.1.tar.gz
p03:/u02/install/postgres # cd postgresql-9.2.1/
p03:/u02/install/postgres/postgresql-9.2.1 # mkdir /opt/pgsql-9.2
p03:/u02/install/postgres/postgresql-9.2.1 # chown postgres:postgres /opt/pgsql-9.2/
p03:/u02/install/postgres/postgresql-9.2.1 # ./configure --prefix=/opt/pgsql-9.2 --without-readline --without-zlib
p03:/u02/install/postgres/postgresql-9.2.1 # gmake
p03:/u02/install/postgres/postgresql-9.2.1 # chown postgres:postgres ../postgresql-9.2.1 -R
p03:/u02/install/postgres/postgresql-9.2.1 # su - postgres
postgres@p03:~> cd /u02/install/postgres/postgresql-9.2.1/
postgres@p03:/u02/install/postgres/postgresql-9.2.1> gmake check
postgres@p03:/u02/install/postgres/postgresql-9.2.1> exit
p03:/u02/install/postgres/postgresql-9.2.1 # gmake install
p03:/u02/install/postgres/postgresql-9.2.1 # su - postgres
postgres@p03:~> /opt/pgsql-9.2/bin/initdb -D /opt/pgsql-9.2/data


Читать далее

2012-09-24

Просто получить ObiectSID из AD Windows 2008 Server

В сукааксапте частенько нужно поменять SID пользователя. А он у нас является ObjectSID из домена AD. И вот вытянуть этот ObjectSID самым простым способом можно так:

dsquery * -filter (samaccountname=userlogin) -attr ObjectSID

В ответ получим то, что ищем.

Читать далее

2012-09-11

Красивые шрифты в linux

Достоинство и недостаток linux в том, что переставляешь его очень редко. Поэтому какие-то базовые настройки красивостей в интерфейсе просто забываешь. Ну а как тут упомнишь, если делаешь это раз в три года.

Посему пишу в этом склерознике.

Обновлялся с openSUSE 12.1 до 12.2. Результат плачевен - система не загрузилась. А с моей мутной конфигурацией дисковой подсистемы восстановить ее не получилось. Переставился. Подлил домашний каталог из бэкапа. Все хорошо, все восстановилось и работает, настройками мозг не паришь, но вот кривизна шрифтов из установки по умолчанию просто бесит.

Короче не мудрствуя лукаво делаем следующее - в настройках KDE выставляем все шрифто, кроме монощиринного в freesans 10 (в гноме делаем то же самое).
Ставим пакеты msttcorefonts и fetchmsttfonts.

 Кажется это все.

Уже не помню - два дня как переставился. Через три года, при следующей переустановке, вспомню, уточню.

Читать далее

2012-08-02

Oracle 8i. Проблеммы при манипуляциях с SORT_AREA_SIZE

Занимался оптимизацией работы Oracle 8i на RHEL3u6.
Поменял параметры sort_area_size и sort_area_retained_size в сторону увеличения, в итоге сесии, которым для сортировок нужно было временное табличное пространство начали вываливаться с ошибкой:
ORA-03232: unable to allocate an extent of 9 blocks from tablespace 3  

Вот как были установлено изначально:
sort_area_size = 65536
sort_area_retained_size = 65536

Вот на новые установки:
sort_area_retained_size = 327680
sort_area_size = 655360 

Из v$tablespaces определил, что 3-й tablespace это temp.

Добрый гугл подсказал, что должно быть определенное соответствие между размерами выделяемых экстентов во временном табличном пространстве и параметрами выделения памяти под сортировки. А именно - размер выделяемого в temp экстента должен быть больше или равен sort_area_size.

В итоге для временного табличного пространства замениль net extent на значение, равное sort_area_size, и проблема ушла.

Правда после этого очень активно стало выжираться место в temp, но это отдельная история.


Читать далее

2012-07-26

Нюансы установки MS Dynamics Axapta 2009 на Windows 2003 Server R2 32bit Russian.

Да да, появился таки у нас этот "замечательный" зверь... Ласково называем его "сука динамикс" :) И сексу с технологиями у нас резко прибавилось. Не то, чтобы мы не любили секс, просто мы не любим его в извращенных формах и в больших количествах, это ведь так давит на психику :(

Ладно, не грусти, похрусти, как говорят в простонародье. Поехали.

Откуда вообще этот топик? А вот потому, что нигде в официальной документации от майкрософт не написан набор суканюансиков, которые вылезают во время установки этого самого сукадинамикса, при том, что в доке все компоненты совместимы вдоль и поперек. Поэтому побившись головой о стену и перегуглив пол интернета, нашел их решение, чем и делюсь с вами.
Ошибка номер раз 

Симптоматика:

На этапе установки AOS, установка завершается неудачей. В логах имеем следующие ошибки:

Ошибка во время установки Application Object Server (AOS). Дополнительные сведения см. в C:\Documents and Settings\All Users\Application Data\Microsoft\Dynamics AX\Dynamics AX Setup Logs\2012-07-26 10-14-02\ObjectServer32 Log.txt Дополнительные сведения доступны в файлах InstallLog в группе: C:\Program Files\Microsoft Dynamics AX\50\Setup

А в тех логах у нас вот что:

MSI (s) (74:64) [10:16:14:968]: Note: 1: 2769 2: Aos.Install 3: 1
Error 1001.
DEBUG: Error 2769:  Custom Action Aos.Install did not close 1 MSIHANDLEs.
Internal Error 2769. Aos.Install, 1


Решение:

При установке AOS на Windows 2003 Server, перед установкой необходимо переименовать разделы реестра «HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Microsoft-Windows-EventCollector» и «HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Microsoft-Windows-Forwarding» так, чтобы они не начинались с Microsoft, после успешной установки AOS переименовать обратно. Ну и вообще все разделы в этой ветке реестра не должны начинаться с Microsoft на этапе установки AOS. 

Хрень, не находите??? Но это РАБОТАЕТ :)
Читать далее

2012-05-17

Игры разума

Обреченность индивидуальных инвесторов на потерю денег в биржевой игре – это миф. Хронические убытки несут только те, кто позволяет эмоциям влиять на принятие решений 


 Хотите узнать, способна ли теледива Дана Борисова зарабатывать деньги, спекулируя ценными бумагами или валютами? Посмотрите программу «Рынки. Дневник спекулянта» на РБК-ТВ, в которой продвинутый трейдер обучает Дану биржевой игре. Меньше чем через месяц после начала эксперимента подопытная знойная блондинка научилась свободно оперировать такими терминами, как «линия тренда», «маржин-колл», «стоп-лосс», и даже выставлять заявки в биржевом терминале! Когда наблюдаешь за происходящим в эфире, в голову приходит: «Если даже Дана Борисова... Так неужели...» А теперь очень серьезно: юристы и бухгалтеры, врачи и сейлзы – в общем, образованные люди из самых разных сфер деятельности – в вопросах, связанных с инвестированием сбережений на фондовом рынке, допускают грубейшие ошибки и несут убытки. А ведь могли бы, изучив элементарные «правила выживания», получать доходность на капитал не меньшую, чем у профессиональных портфельных менеджеров.

Актер? Пищевик? Инвестор!

«Переиграть Уолл-стрит» – так называется одна из самых популярных в мире книг, адресованных частным инвесторам. Ее автор, легендарный биржевик Питер Линч, прославившийся блестящими результатами управления американским взаимным фондом Magellan (аналогом таких mutual funds являются наши ПИФы), утверждает, что у людей, не связанных профессионально с финансовой индустрией, есть все шансы добиться более высоких инвестиционных результатов, чем... у таких, как он, менеджеров фондов. Эта книга хорошо прочищает мозги, избавляет от комплекса неполноценности, который финансисты обычно навязывают публике, убеждая ее в опасности самостоятельных шагов и необходимости «доверять деньги профессионалам». Но напрасно профи бравируют своими якобы глубокими знаниями фондового рынка. Сами-то они по базовому вузовскому образованию в основном химики, математики, юристы, военные... А выбрав в итоге финансовую стезю, потратили не так уж много времени на изучение теории.

Вот и эфирный наставник Даны Борисовой, некто Олег Дмитриев, отучился в ГИТИСе, потом работал в Москонцерте. В какой-то момент заинтересовался биржевой игрой. Дважды «обнулял счет». Разобрался в ошибках и с тех пор уже почти восемь лет торгует достаточно успешно. В том, как он диагностирует направление рынка (вверх или вниз) и принимает решения о сделках, нет никаких секретов. Полки книжных магазинов завалены опусами с названиями типа «Правила успешного инвестирования». Среди них – труды авторитетов вроде Уоррена Баффета. И это и есть те самые книги, на которых вырастают профессионалы.

Так неужели инвестор «с улицы», скажем главбух турфирмы, жаждущий пристроить сбережения на фондовом рынке, не в состоянии прочитать хотя бы пяток таких книг? Читая и одновременно наблюдая за реальным рынком, он многое узнает о его повадках. Например, когда биржевой индекс или курс отдельной акции делает ощутимый рывок вверх после затяжной консолидации, «импульс силы», скорее всего, породит растущий тренд, на котором можно «прокатиться». Рано или поздно подъем сменится спадом. Признаком грядущих перемен обычно являются либо затянувшееся торможение роста, либо, наоборот, резкое его ускорение на фоне всеобщей эйфории («предсмертная агония») – вот тогда из инвестиций лучше выйти... Заметим, что «секреты» практически одинаковы для разных стилей работы на рынке – от дейтрейдинга и скальпинга (когда позиции открываются и закрываются в течение дня) до классического долгосрочного инвестирования (когда бумаги – а это могут быть и паи ПИФов – покупаются на месяцы, а то и годы).

Речь, впрочем, совсем не о том, что есть некие общие для всех рецепты успешной биржевой игры. Более того, следует четко осознавать, что в целом это игра с нулевым результатом: прибыль одного инвестора означает убыток другого. Два игрока могут смотреть на рынок совершенно по-разному. Это касается и профессионалов. Например, в середине марта, когда акции «Газпрома» котировались по 6,7 доллара за штуку, аналитики «УРАЛСИБ Кэпитал» считали, что потенциал их роста составляет всего около 1,5%, а эксперты ФК «Открытие» – почти 90%.

Забирайте деньги со стола

Покупать или не покупать? Решение только за вами. Однако драма вовсе не в логике рассуждений. «В цирке медведей учат на велосипеде ездить. Так что и любого человека можно научить анализу рынка. Дело не в освоенных «секретах» и не в прочитанных книгах. Даже вооружившись знаниями, люди поступают не так, как надо, а так, как им хочется, – вот проблема», – констатирует трейдер Александр Герчик. В 1993 году он, будучи 22 лет от роду, с дипломом одесского пищевого техникума и 400 долларами в кармане эмигрировал в США. Работал таксистом. В 25 лет устроился в брокерскую компанию, в которой поначалу торговал на собственные деньги. Вскоре брокер, подметив успехи Герчика, доверил ему большую сумму. Короче, в Штатах одессит финансово поднялся. В 2010-м он перебрался в Россию. Сейчас работает в ИК «Финам», управляя счетом этой компании на миллионы долларов. А заодно ведет семинары для частных инвесторов. Их он буквально заклинает: «Сначала на холодную голову составьте алгоритм, описывающий, при каких условиях и по какой цене будет куплена, а потом и продана ценная бумага. После чего совершайте сделки строго по этому алгоритму. Возможно, ваш метод окажется неправильным, тогда его нужно будет изменить. Но гораздо хуже неудачного алгоритма его отсутствие – неупорядоченные сделки под влиянием эмоций». Из-за них более 90% частных инвесторов не в состоянии превзойти рынок, говорит Александр Герчик.

«Только умение справляться с эмоциями отличает профессионала от непрофессионала, – уверен партнер компании Spectrum Partners Максим Кузин. – Обыгрывать рынок непрофессионал может исключительно благодаря везению и лишь какое-то ограниченное время. Думаю, самое большее – год». В компании «Церих Кэпитал Менеджмент» журналу «РБК» сообщили, что доля успешных трейдеров – тех, у кого изменение счета более-менее стабильно превосходит динамику фондового индекса, – составляет всего 15-20%. При этом их успешность на 70-80% объясняется психологией – способностью торговать по заранее составленным правилам, убежден трейдер Александр Кузьмин. Недавно компания доверила ему управление инвестфондом, а вообще-то до этого Александр сам был ее клиентом. В 2003-м после окончания вуза родители подарили ему Honda Accord за 30 тыс. долларов. Продав ее и купив «жигули» за 5 тыс., Александр высвободившийся кэш с 2004 года начал постепенно перебрасывать на брокерский счет, открытый для краткосрочных операций с акциями. С тех пор среднегодовая доходность его инвестиций достигала 85-90%, причем в 2008-м прирост составил больше 100%.

Один из главных симптомов «игры без правил» – жадность. Допустим, инвестор пришел к выводу, что фондовый индекс в течение ближайших трех лет вырастет на 100%, и купил акции или паи ПИФа акций. Реальность превзошла ожидания: индекс удвоился уже через год. «Ваш план выполнен досрочно, цель достигнута – чего еще ждать? Продавайте акции! Забирайте деньги со стола, как говорят биржевики, – советует директор Private Banking ИК «Тройка Диалог» Алексей Голубых, консультирующий состоятельных частных клиентов. – Не говорите себе: «Подожду пару месяцев, вдруг акции подорожают еще на 10-20%». С какой стати? Год назад вы считали, что 100% за три года – вот что ждет рынок, исходя из ситуации в экономике. Что изменилось? Может, и изменилось, причем сильно, но вы увидели эти изменения в ходе анализа ситуации?»

Жадность не дает осознать, что игра сделана, что лучше отойти в сторону и подождать коррекции рынка, чтобы купить те же акции, только дешевле. Из-за жадности результат испаряется. «Акция (или рынок в целом) начинает падать, и приличная прибыль тает на глазах, – рисует «клиническую картину» начальник отдела персонального и инвестиционного консультирования ИГ «Атон» Дмитрий Регузов. – Скажем, бумага подорожала со 100 до 150 рублей, о чем инвестор и не мечтал. Но теперь он думает: «Мало!» Цена снижается до 140, и инвестор утешает себя: «Ну ладно, подожду чуток, вдруг цена отскочит, и тогда точно продам по 150». Вместо этого акция падает до 130 рублей. «После такого падения продавать глупо, буду ждать». Потом акция дешевеет до 110 рублей, инвестор обескуражен и уже ничего не делает, а только кусает локти».

Именно из-за жадности «попали» многие пайщики ПИФов акций, покупавшие паи в первой половине 2000-х. За время ралли 2005-2006 годов их паевой капитал прирос в 3-4 раза. Но далеко не все додумались выйти из инвестиций на пике рынка в 2006-2007-м, сохраняя святую веру в долгосрочный рост. В период обвала 2008-2009 годов все «подарки» пришлось вернуть.

Проблемы с головой

Жадность губит не одна, а на пару со страхом. Вот пример его влияния: инвестор видит в акциях потенциал роста на 50% и покупает их. А вскоре по компании-эмитенту выходят очень позитивные новости, которых на рынке никто не ждал, и акции дорожают за неделю сразу на 20%. «Для нашего героя столь быстрая прибыль непривычна. Он решает не искушать судьбу и фиксирует прибыль, – разбирает ситуацию Александр Кузьмин. – Но ведь у этих бумаг вроде бы, согласно недавней оценке самого инвестора, остается примерно 30% потенциального роста. Более того, перемены в компании добавляют потенциал еще в 10-20%. Основная масса биржевиков лишь включается в охоту за этими акциями, а нашему инвестору эмоции не дают остаться в игре, которая только начинается».

Забрать деньги, пока «дают» хоть что-то, или чрезмерно осторожничать с покупкой активов – такова ущербная позиция тех, кто боится потерь. Направление рынка очень трудно предугадать, все это признают. Но, в конце концов, есть же простое правило: покупай, когда все в панике продают, продавай, когда все с ажиотажем покупают. В общем, катайся на синусоиде колебаний биржевых курсов. Да, этот подход далеко не совершенен: например, можно вложиться в акции после того, как они подешевели и опустились до некоего уровня поддержки (минимум цен, зафиксированный во время одной из фаз снижения), а они продолжают дешеветь. Поймать дно или, наоборот, «хаи» редко удается даже опытным игрокам. И все же вы существенно улучшите баланс вероятных прибылей и убытков по портфелю, следуя подобной стратегии. В упрощенном виде ее можно объяснить следующим образом.

«Допустим, акция стоит 1 тыс. рублей, причем текущие котировки находятся недалеко от минимальной цены за последние пять лет, составляющей 800 рублей, и никаких промежуточных минимумов больше нет. Предположим далее, что ближайший локальный максимум цены этой акции – 1,6 тыс. рублей. Даже если вы покупаете бумаги при условии, что падение и рост котировок равновероятны, с точки зрения того же теханализа это означает, что акции могут подешеветь на 200 рублей, а подорожать на 600 рублей, – рассуждает Дмитрий Регузов. – То есть потенциальная прибыль в 3 раза превышает потенциальный убыток. Вот это правильное соотношение. А когда люди действуют по принципу «либо пан, либо пропал» – это глупость».

Заметим, профессионалы никогда не покупают акции только потому, что верят в безусловную прибыль. Они всегда помнят о возможности потерь и считают их чем-то вроде эксплуатационных расходов. Александр Герчик, гордящийся тем, что с 1999 года у него не было ни одного убыточного месяца, признает: в его среднесрочной торговле прибыльны лишь 40% «трейдов». Однако из-за того, что прирост капитала по «плюсовым» сделкам в 3-4 раза больше потерь по «минусовым», итоговый навар оказывается весьма приличным. По такому же принципу работает и Александр Кузьмин. Он спокойно относится к тому, что иногда свыше 50% операций убыточны. И нет никакого секрета в том, почему «плохие» сделки не оказываются болезненными для портфеля настоящего профессионала. «Когда ты видишь, что рынок идет против тебя, не упирайся, признай ошибочность своей ставки и быстро закрой ее», – говорит Александр Герчик. Это называется «стоп-лосс» – «останови потери».

Таких ключевых хитростей (а впрочем, совсем нехитрых приемов) не так уж много. И, повторим, они изложены в литературе, которой хоть пруд пруди. Стоит освоить их, даже если вы выбираете не краткосрочную биржевую торговлю, а умеренно активное средне- или долгосрочное инвестирование.

При этом установка на обгон рынка, может, и не к чему. Вон в США даже «умные деньги» – хедж-фонды – в массе своей не обеспечивают клиентам роста стоимости активов сверх того, что демонстрируют фондовые индексы. А менеджеры взаимных фондов (в России – ПИФов) даже открыто заявляют, что для них главная задача – всего лишь не отстать от индекса. И эти люди еще смеют предостерегать непрофессиональных инвесторов от попыток самостоятельно поймать удачу...

Михаил Лосев
Читать далее

2012-05-07

Лежать постойке сидя

Сложный русский язык. Перед нами стол. На столе стакан и вилка. Что они делают? Стакан стоит, а вилка лежит. Если мы воткнем вилку в столешницу,вилка будет стоять. Т. е. стоят вертикальные предметы, а лежат горизонтальные? Добавляем на стол тарелку и сковороду. Они вроде как горизонтальные, но на столе стоят. Теперь положим тарелку в сковородку. Там она лежит, а ведь на столе стояла. Может быть, стоят предметы готовые к использованию? Нет, вилка-то готова была, когда лежала. Теперь на стол залезает кошка. Она может стоять, сидеть и лежать. Если в плане стояния и лежания она как-то лезет в логику «вертикальный-горизонтальный», то сидение — это новое свойство. Сидит она на попе. Теперь на стол села птичка. Она на столе сидит, но сидит на ногах, а не на попе. Хотя вроде бы должна стоять. Но стоять она не может вовсе. Но если мы убьём бедную птичку и сделаем чучело, оно будет на столе стоять. Может показаться, что сидение — атрибут живого, но сапог на ноге тоже сидит, хотя он не живой и не имеет попы. Так что, поди ж пойми, что стоит, что лежит, а что сидит. А мы ещё удивляемся,что иностранцы считают русский язык сложным и сравнивают с китайским.
Читать далее

PostgreSQL 8.2. Найти все FK, ссылающиесы на PK

Оказалась не очень тривиальная задачка. Есть PK, надо найти все FK, которые на него ссылаются. Вот такой скриптик вам поможет:

select pl.relname,
       r.constraint_name,
       r.unique_constraint_name,
       pc.conrelid
from information_schema.referential_constraints r,
     pg_catalog.pg_constraint pc,
     pg_catalog.pg_class pl
where unique_constraint_name = 'pk_epcstmr'
  and pc.conname = r.constraint_name
  and pc.conrelid = pl.oid

Читать далее

2012-04-28

Оптимизация производительности Java 1.6

Откуда дровишки:

1. http://habrahabr.ru/post/112676/

1. Размер PG можно задать двумя параметрами JVM: -XX:PermSize – задаёт минимальный, или изначальный, размер PG, и -XX:MaxPermSize – задаёт максимальный размер. При запуске больших Java-приложений мы часто задаём одинаковые значения для этих параметров, так что PG создаётся сразу с размером «по-максимуму», что может увеличить производительность, так как изменение размера PG – дорогостоящая (трудоёмкая) операция. Определение одинаковых значений для этих двух параметров может избавить JVM от выполнения дополнительных операций, таких как проверки необходимости изменения размера PG и, естественно, непосредственного изменения.
Читать далее

2012-04-24

Любимые плагины FireFox

От браузера к браузеру тынялся очень долго... Попробовал всё: Opera, Chrome, Chromium, Konqueror, Arora, Epiphany, SeaMonkey. Только internet Explorer не пробовал, ибо не буду пользоваться им никогда в жизни... В результате пришел к тому, что лучше чем Firefox для меня нет ничего. Но только лишь потому, что есть у него в наличии большое количество плагинов, благодаря которым я получаю именно тот браузер, который мне нужен. И вот тут я собираюсь их перечислить:

1. Adblock Plus (http://adblockplus.org/ru/). Ну тут и говорить нечего, ибо только им я избавляюсь от назойливой рекламы.
2. DownThemAll! (http://www.downthemall.net/). Весьма удобный менеджер закачек. Позволяет, например, загрузить по определенным правилам набор ссылок со страницы. Не раз спасало, когда нужно было грузануть сотню zip архивов, ссылки на который указывались на страничке.
3. FlashBlock (http://flashblock.mozdev.org/). Блокировка flash. Фазит с этим расширением firefox гораздо меньше, благодаря тому, что отключает такую глючную штуку как flash на страничках. Впрочем если надо, он вам включит по вашему клику.
4. NewsFox (http://newsfox.mozdev.org/) Самая классная читалка для RSS лент. Новостей читаю много, так что без нее как без рук.

Последнее время, после обновления до 29 огнелиса, NewsFox работает криво, пересел ла Bamboo.
5. Xmarks (http://www.xmarks.com/). Автоматическая синхронизация закладок между браучерами. Есть так же для Chrome и Internet Explorer.
6. DownloadHelper (http://www.downloadhelper.net/) Удобный плагин для загрузки видео с youtube и похожих.

7. X-notifier (http://xnotifier.tobwithu.com/dp/) . Мегаштука. Проверяет кучу ящиков и соцсетей. Gmail Watcher мне больше не нужен.
8. Wappalyzer (https://wappalyzer.com/)
9. 1-Click YouTube Video Downloader
10. Tab Groups

Читать далее

2012-02-22

MAC

Acer TravelMate 6252: 00-1B-24-BA-A1-8B
ZyXEL P660HTW2 EE: 50-67-F0-85-F5-6C
Читать далее

2012-02-07

Бесплатные антивирусы и комплексы по защите

Итак, я как истинный линуксоид не хочу пользоваться ворованным ПО, хоть и приходится. Но, по крайней мере, стараюсь этого не делать :)
Антивирус для дома покупать ну вообще не хочется, тырить платные некомильфо, тем более что есть несколько бесплатных. Вот их и будем пользовать и ощущениями делиться. :)
Что мы имеем из того, на что можно обратить внимание:

Avast
AVG
Avira
Comodo Internet Security
Ad-Aware
Agnitum Outpost Security Suite Free

, ну и все, пожалуй...
Описывать буду только то, чем успел попользоваться.

Avast 6
В принципе, впечатления от антивируса самые положительные. Не разу меня не подвел, все вирусы определял и атаки отражал. Систему не нагружал. Пользуйся и не горюй, да вот одно но - просмотр онлайн видео при работающем авасте - дело для весьма сильных духом, ибо ФАЗИТ по черному. Дождаться невозможно. Полечить это не получилось. Вот если бы не одна вот эта фигня, я бы по сей день сидел на авасте. А так вот занимаюсь тем, что ищу альтернативу. Так что можно сказать, появление этой статейки является следствием кривой работы аваста с онлайновым видео.
Но антивирус классный, всем рекомендую, кому не важен вышеуказанный нюансик :)
Вроде скоро должен 7-й аваст выйти, будем надеяться, там этот неприятный моментик пофиксят :)

Comodo Internet Security 5.9.221665.2197
Пользуюсь этой штукой в данный момент на 2-х виндах (виртуалка на работе, ноут дома).
Пока ХЕЗ, непонятно. Работает, обновляется, систему не фазит, случаев проверить в бою пока небыло. Бесит очень сильно обязательная полная проверка сканером всех дисков, сключая USB, сразу после установки антивируса и обновления антивирусных баз. Это ПИПЕЦ. У меня библиотека траума на компе, 140тыс мелких файлов zip, внутри которых fb2, pdf, doc, chm, djvu и т.д. Он ее сутками проверять может.
Когда сильно начал интересоваться бесплатными комбайнами по защите, начитался всяких отзывов. Так вот комод рулит, по крайней мере все, кто им пользуется - хвалят. Другое дело, что он посложнее всех остальных, да и люди к нему приходят осознанно, поэтому и негативных отзывов мало. Обычно уже что-то попробовали, разочаровались, поискали, нашли комод, пользуются, довольны и готовы мириться с недочетами, так как они менее критичны, чем в остальных комбайнах.

Читать далее

2012-01-05

Как добавить swap файл в linux

На РЭСовских серверах сложилась такая ситуация, что резко перестало хватать swap. Раздел для этого дела создать невозможно, поэтому добрый шаман Линик кинул мне вот такой замечательный способ:

http://www.cyberciti.biz/faq/linux-add-a-swap-file-howto/

dd if=/dev/zero of=/opt/swap bs=1024 count=2097152
mkswap /opt/swap
/sbin/mkswap /opt/swap
chown root:root /opt/swap
chmod 0600 /opt/swap
/sbin/swapon /opt/swap
Читать далее