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
Читать далее

2011-10-06

Oracle 8.1.7 RHEL3 VLM

Итак, есть такая тема, как использование Very Large Memory (VLM) в Oracle 8.1.7 на RHEL3 AS.
Тема возникла по той простой причине, что человеческой информации в интернете я по этому поводу не нашел, а проблема с тем, что невозможно данную версию Oracle заставить использовать под SGA больше 1,7 Gb очень животрепещуща. Ситуация такова, что есть достаточно серьезная железка с 8Gb ОЗУ, 8 HDD, 2*4 CPU с установленным RHEL3 AS Update 6, на которой кроме этого самого Oracle 8i ничего нет. И того максимального количества оперативы(1,7), которого раньше хватало по уши, сейчас хватать резко перестало. Ну тупо количество пользователей системы выросло на порядок. 64 битной версии 8i не существует в природе, и поменять ее на что-то другое невозможно. На ней весь буховский софт крутится, а контора производитель поддерживать его практически перестали, на аксапту они видите ли переваливаются и никакие ораклы им более не антиресны. Так что крутитесь, что называется, как хотите. Вот и приходится.

Короче, сервер в постоянном затыке из-за того, что постоянно читает с диска, а процы затарены под завязку тем, что разруливают ресурсы оперативы между 20-ю - 40-ка активными сессиями. Можно долго рыть события, которые зафаживают систему, но ясно одно - пока не увеличишь количество памяти, которое данная версия оракла может адресовать, рыть дальше бесполезно.

И это дело для настоящих пацанов. Понял я это после того, как НЕДЕЛЮ пытался это сделать, ухоркал 2 тестовые виртуалки, но добился только того, что НИЧЕГО не добился. И если вы думаете, что я пишу это потому, что знаю, как выделить хотя-бы 4 Gb ОЗУ под SGA, то плачьте, ибо это не так!!! Но истинный путь самурая заключается в том, чтобы решить нерешаемую задачу на зависть всем недоделанным нинзям, и выложить ее, решенную и разжеванную, всему сообществу, чтобы любой мог проделать этот же путь не умываясь соплями отчаянья, а с радостью того, что не надо ничего даже понимать, а тупо выполнить набор инструкций и быть в шоколаде.



Но в сторону сантименты и словоблудие....

Вот основные ресурсы, которыми я буду руководствоваться в решении проблемы:

http://www.puschitz.com/TuningLinuxForOracle.shtml
http://www.oracle-base.com/articles/linux/LargeSGAOnLinux.php

На данный момент init.ora выглядит так:

db_name = "main"
instance_name = main
service_names = main
global_names = false
control_files = ("/u02/oradata/main/control01.ctl", "/u02/oradata/main/control02.ctl", "/u02/oradata/main/control03.ctl")
background_dump_dest = /u01/admin/main/bdump
core_dump_dest = /u01/admin/main/cdump
user_dump_dest = /u01/admin/main/udump
utl_file_dir = /u01/admin/main/utl_file_dir
open_cursors = 10000
max_enabled_roles = 148
db_block_size = 8192
db_block_buffers = 110000
db_file_multiblock_read_count = 32
shared_pool_size = 700000000
large_pool_size = 614400
java_pool_size = 50000000
log_buffer = 163840
log_checkpoint_interval = 10000
log_checkpoint_timeout = 1800
processes = 600
timed_statistics = true
log_archive_start = true
log_archive_dest_1 = "location=/u02/arch/main"
log_archive_format = main%s.rdo
remote_login_passwordfile = shared
os_authent_prefix = ""
compatible = "8.1.0"
sort_area_size = 65536
sort_area_retained_size = 65536
job_queue_processes = 4


sysctl.conf выглядит так:

net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
kernel.sysrq = 0
kernel.core_uses_pid = 1
kernel.shmmax = 4096000000
kernel.shmmni = 100
kernel.sem = 600 32000 100 128
fs.file-max = 131072


Необходимо увеличить db_block_buffers. На данном этапе даже при незначительном увеличении значения Oracle не стартует, выдает ошибку, будь она неладна:

SVRMGR> ORA-27123: unable to attach to shared memory segment
Linux Error: 22: Invalid argument
Additional information: 1
Additional information: 32768

Первым делом меняем ядро. По умолчанию используется 2.4.21-37.ELsmp (kernel-smp-2.4.21-37.EL)

Ставим ядро 2.4.21-37.ELhugemem (kernel-hugemem-2.4.21-37.EL)

До установки нового ядра /boot/grub/grub.conf выглядит так:

default=0
timeout=10
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title Red Hat Enterprise Linux AS (2.4.21-37.ELsmp)
root (hd0,0)
kernel /boot/vmlinuz-2.4.21-37.ELsmp ro root=LABEL=/
initrd /boot/initrd-2.4.21-37.ELsmp.img
title Red Hat Enterprise Linux AS-up (2.4.21-37.EL)
root (hd0,0)
kernel /boot/vmlinuz-2.4.21-37.EL ro root=LABEL=/
initrd /boot/initrd-2.4.21-37.EL.img


После установки hugemem ядра он должен выглядеть так:

default=0
timeout=10
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title Red Hat Enterprise Linux AS (2.4.21-37.ELhugemem)
root (hd0,0)
kernel /boot/vmlinuz-2.4.21-37.ELhugemem ro root=LABEL=/
initrd /boot/initrd-2.4.21-37.ELhugemem.img
title Red Hat Enterprise Linux AS (2.4.21-37.ELsmp)
root (hd0,0)
kernel /boot/vmlinuz-2.4.21-37.ELsmp ro root=LABEL=/
initrd /boot/initrd-2.4.21-37.ELsmp.img
title Red Hat Enterprise Linux AS-up (2.4.21-37.EL)
root (hd0,0)
kernel /boot/vmlinuz-2.4.21-37.EL ro root=LABEL=/
initrd /boot/initrd-2.4.21-37.EL.img


Следующее, что мы сделаем, это настроим параметры ядра для использования 4Gb для Oracle. Для этого отредактируем /etc/sysctl.conf так, чтобы он имел следующий вид:

net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
kernel.sysrq = 0
kernel.core_uses_pid = 1

kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 1000 150000 1000 150
fs.file-max = 131072


Тут заметил такой прикол :) На ядре hugemem с этими параметрами ядра oracle может выделить под SGA меньше оперативы, чем на ядре smp, хотя со слов Пушитса, ситуация должна быть обратной. Я себе чуть мозг не поломал, пока эту закономерность выяснил. Прикольно получается, пытаешься лучше сделать, а получается только хуже. То есть если вы делали все как я говорю, то на данном этапе вы в еще большей жопе, чем были в начале. А свет в конце туннеля еще впереди :)

Спустя неделю....

Этот туннель не для оптимистов.... Чем дальше, тем хуже. Ни на каком линуксе никаким способом сделать то, что хотелось не получилось...

Предположительно сделать это можно на винде 2000 или 2003 с PAE ядром.

Получилось только на Windows 2000 Advanced Server с указанием опции /PAE в boot.ini. Но при этом выделать много оперативы можно только под буферный кэш блоков данных, под shared pool выделить больше не получится, потому что он большую память не использует.

Вот така муйня, малята. Если есть возможность, меняйте 8-ю версию оракла на что-то более современное :) Иначе вам (и нам) удачи не видать...

Тема закрывается.


Читать далее

2011-08-16

Oracle 8.1.7.4 hot backup/restore

Админ оракла я уже много лет, но вот реализовать горячий бэкап при моих стажных пока не доводилось. Тупо не было смысла пока была возможность делать бэкапы холодные, такие любимые и проверенные временем, не требующие наличия бубна и заячьей лапки в некоторых случаях... Эх, было время. Но все растет все меняется, и вот наш бухгалтерский софт подвязали на текущий учет, а он, сука, работает круглосуточно. Всякие дядьки на подстанциях по ночам составляют планы и т.д. Ну а что еще делать ночью на подстанции где-нибудь в чигирях у черта на куличках, при наличии канала связи и куче свободного времени...


Итак, реализуем горячий бэкап и составляем механизм для восстановления из бэкапа...

Идея горячей резервной копии проста как валенок, при наличии соответствующих знаний :). Все происходит следующим образом:
1. С каждым табличным пространством поочередно проводится следующий набор операций:
-- табличное пространство переводится в режим горячего резервного копирования (после этого данные в него писаться перестают и пишутся только в журналы транзакций, до момента перевода в нормальный рабочий режим)
-- файлы данных табличного пространства копируются в место резервной копии
-- табличное пространство выводится из режима горячего резервного копирования
2. Производится принудительный переворот журналов транзакций
3. Делается резервная копия контрольных файлов 2-мя методами (trace, to file)
4. Делается резервная копия online redo log
5. Делается резервная копия archive redo log
6. Желательно сделать резервную копию конфигурационных файлов (init, orapwd, /etc, network/admin, скриптов резервного копирования и сбора статистики и т.д.)

В результате всех операций получаем набор файлов из которых, при наличии мозга, можно гарантированно восстановить базу.

Идея восстановления из горячей резервной копии просто как валенок с другой ноги, не той, которая была использована для понимания простоты создания резервной копии :) Тут последовательность действий следующая:
1. Все файлы из резервной копии раскладываются по местам. Что это за места такие вы, как создатель резервной копии должны быть в курсе. Если вы не создатель, применяйте мозг, все получится. Если вы не создатель, и мозга нет, то странно что вы вообще интересуетесь такими вопросами и читаете этот блог.
2. Контрольный файл забэкапленый to file плодим тупым копированием в соответствии со значениями, указаными в init файле.
3. открываем базу в nomount
4. Выполняем инструкции по созданию контрольных файлов из trace копии контрольных файлов.
5. Гасим базу immediate.
6. Запускаем в mount
7. Выполняем recover database
8. открываем базу.
9. для верочки еще можно ее перезапустить и увидеть, что все нормально заработало :)

Видите, все просто :):):)

Ну а теперь конкретно реализация скриптами.

Читать далее

2011-07-28

Массовая отправка прикрепов в linux

Очень легко можно ухоркать почтовик конторы в которой работаешь :). Так что детям до 18 лет и дебилам читать не рекомендуется, а использовать и подавно :)

Часто и густо бывает нужно отправить кучу вложений по почте.
Есть вариант поискать готовые решения, типа плагинов для Thunderbird или использовать TheBat!, но зачем, если в linux уже есть такая замечательная вещь, как mail. Разобравшись разок жить становиться гораздо проще.
Пишем скриптец, и выполняем его. Вот пример:


#!/bin/bash
mail -r otkogo@mail.ru -s "kovi.7z.001 of 012" -a kovi.7z.001 komu@rambler.ru < .
mail -r otkogo@mail.ru -s "kovi.7z.002 of 012" -a kovi.7z.002 komu@rambler.ru < .
mail -r otkogo@mail.ru -s "kovi.7z.003 of 012" -a kovi.7z.003 komu@rambler.ru < .
mail -r otkogo@mail.ru -s "kovi.7z.004 of 012" -a kovi.7z.004 komu@rambler.ru < .
mail -r otkogo@mail.ru -s "kovi.7z.005 of 012" -a kovi.7z.005 komu@rambler.ru < .
mail -r otkogo@mail.ru -s "kovi.7z.006 of 012" -a kovi.7z.006 komu@rambler.ru < .
mail -r otkogo@mail.ru -s "kovi.7z.007 of 012" -a kovi.7z.007 komu@rambler.ru < .
mail -r otkogo@mail.ru -s "kovi.7z.008 of 012" -a kovi.7z.008 komu@rambler.ru < .
mail -r otkogo@mail.ru -s "kovi.7z.009 of 012" -a kovi.7z.009 komu@rambler.ru < .
mail -r otkogo@mail.ru -s "kovi.7z.010 of 012" -a kovi.7z.010 komu@rambler.ru < .
mail -r otkogo@mail.ru -s "kovi.7z.011 of 012" -a kovi.7z.011 komu@rambler.ru < .
mail -r otkogo@mail.ru -s "kovi.7z.012 of 012" -a kovi.7z.012 komu@rambler.ru < .

Запустив его 100 раз подряд начинаем нервно ждать, пока тебя придет убивать сисадмин. А если ты и есть сисадмин, то лучше заранее подготовить набор серьезных отмазок для начальника о проблемах в работе почтовика :) Ну и вспомнить, на всякий случай, как удалять письма из очереди в MTA.


Читать далее