Шампанско, свещи…

 Personal  Коментарите са изключени за Шампанско, свещи…
Сеп. 272009
 

(… и нашата любов)

Дните (и нощите) през тази седмица са толкова вълшебни!

 Posted by at 17:20
Сеп. 162009
 

Тази нощ (българско време) Лари Елисън показа на света новата Exadata 2 и новата Database Machine.

Oracle Unveils Exadata Version 2: The First Database Machine for OLTP

Видео може да видите тук (скриха го, гадовете). Един готин факт е, че освен Oracle и SUN, единствената друга фирма, за която споменава, е MTel. Е, обърка името, но се поправи. (всъщност споменава и за IBM, Терадата и Нетеза, но само за да се хвали колко по-добре са Oracle от тях).

От пръв поглед се вижда ясно разликата с предишната – докато преди всичкия хардуер беше от HP (хайде, infiniband switch-овете бяха Voltaire), сега всичкият хардуер е на Sun. И понеже аз познавам доста слабо техните продукти, всичкият хардуер ми се вижда още по-„cutting edge“: 600 GB SAS Disks at 6 Gigabits/second, DDR3 memory, 40 Gigabits/second InfiniBand… За това с огромно съжаление ще преименувам името на презентацията си за есенната конференция на БГПО от „Living on the edge: Exadata adventures“ на простото „Exadata adventures“.

Ето и първите ми мисли след като изгледах видеото:
– излизането на HP от веселбата, за сметка на Sun, може да доведе до проблеми за българските потребители. Не знам кой представлява и сервизира Sun в България, но едва ли има капацитета на HP. Това нещо по договор трябва да се сервизира с 6 часа call-to-repair! HP Support, поне за хардуерни проблеми, е железен в БГ.
– ама хардуера на Sun наистина кърти мивки! Не само с тези FlashFire контролери (които сами по себе си носят доста benefit). Самия storage cell си е хем базиран на low-class сървър, хем пълен с хипер-производителни компоненти.
– честно казано, приказките за „First Database Machine for OLTP“ ми звучат маркетингово. И „старата“ ексадата е супер за OLTP (като хардуер). Има други проблемчета, които са малка спънка за масовото пускане на Exadata в OLTP среда (за някои от тях ще спомена в Трявна). В общи линии, зависи от средата.
– не стана ясно каква ОС се търкаля на cell-овете и на db nodes: Linux или Solaris. Ако са успели да подкарат техния си OFED на Solaris, ще е голяма далавера. Но подозирам, че още търкалят OEL, може би Exadata 3 ще е на Solaris.
– Основният проблем за масовото навлизане на Exadata 1 е това, че работи с Oracle 11.1.0.7, а все още голяма част от света е на Oracle 10.2 или 9.2 (има и на 8 и 7). Същото е и с Exadata 2 – тя работи с 11.2. Който ще е масов след 2 години, минимум.
– Адски съм любопитен как управляват „интелигентния“ FlashFire кеш. Exadata1 (почти) не използва паметта на cell-овете за кеширане. Ако новата версия на CellOS може да кешира в паметта, може и ние потребителите на „старата“ Exadata да се облажим

За сега – толкова. Ще видим отзвука по света. Stay tuned 🙂

P.S. Намерих и видеото

 Posted by at 11:17
Сеп. 112009
 

Кабинетът „Борисов“ ще предприеме всички мерки взетите неправомерно гори от бившия премиер Симеон Сакскобургготски да бъдат върнати на държавата. Това увери министър-председателят Бойко Борисов по време на парламентарния контрол. (@дир)

Дълго време бях недоволен за многото имоти, които получи царя по време на мандата на НДСВ. И все се надявах да стане нещо, да си ги върне държавата. Но, като си помисля… а защо?

Има ли в горите на Симеон масова сеч? Има ли в неговите земи лифтове и влекове? Раздава ли той земите си на разни ламтящи за бърза печалба безумци? Не съм чул такова нещо.

Аз съм реалист. Да, искам горите да се запазят, да си останат гори. Но това, че са държавни, по никакъв начин не го гарантира. Както видяхме вече толкова много пъти. Държавата отдавна е хипер-компрометирана като собственик (включително и като собственик на земи и гори). Вече не съм толкова убеден, че искам държавата да си върне горите.

 Posted by at 13:16
Сеп. 102009
 

Бесен съм

Когато от фирма „Студенофикация София“ казаха, че ще ме оставят без топла вода за 3 седмици, ми стана крайно неприятно. Дългият топъл душ всяка сутрин е едно от малките удоволствия, на които държа. Дори съм готов да си съкратя с половин час сладките сънища, за да се кисна под душа. А сега – нъц. Имам едно бойлерче, за в краен случай, и то спасява положението. Ама то е твърде малко. И как да си сложи човек голям и/или мощен бойлер, като има договор за топла вода? Може ли услуга с голям обществено значение да спре за 3 седмици, за 90 000 човека? Какъв е тоя downtime, каква е тая работа… Ама к’во да ги правя, приемам, че се налага.

Като затвориха половината „Александър Малинов“ и станаха брутални задръствания, неприятното чувство се засили. И то не заради затварянето, а защото видях (както и други нещастни младост-ски души), че тия мърди бачкат от 9 до 6, като са впрегнали е работа един раздрънкан кран Ифа и едно багерче. Някак несъразмерно ми се вижда предвид болката на 90 000 души, които ги чакат да се намотат. Но когато отпушиха булеварда по разписание (обещаха в сряда и го отвориха в сряда), пак преглътнах – поне ще се точни.

Представете си сега с каква надежда и нетърпение чаках заветният празник 9 септември! Не защото тогава сме изгонили фашистите и е дошла „народната власт“ – този празник е много спорен. Чаках с нетърпение тази дата, защото по план тогава трябваше да имам топла вода.

Да, ама не.

“Топлофикация София“ ЕАД съобщава, че поради влошените метеорологични условия през последните няколко дни се наложи да бъдат предприети допълнителни мерки за безопасност на труда при изпълнението на строително – монтажните работи на нашите обекти. По тази причина ще бъде удължен с един ден срокът за възстановяване на топлоподаването в следните квартали:

* В ж.к. „Младост” 4, в района между ул. „Д-р Атанас Москов”, ул. ”406”, ул.”Александър Паскалев” и Околовръстен път подаването на топла вода ще бъде възстановено след 23.00 часа на 11 септември 2009г

Гадове! Подиграха се с цялото ми търпение! Подиграха се с десетки хиляди хора, които още 4 дни не могат да се изкъпят като хората! Капна малко дъжд и ИФА-та се задави ли? Или всичките 7-8 работници, които се почесваха около тръбите, изведнъж настинаха? Пълно безхаберие – к’во ги б̀оли тях, че аз нямам топла вода?

Като си помисля, че ги защитавах

 Posted by at 13:17
Сеп. 092009
 

Вече втори мандат нашият червен президент показва естествен усет към популизма. Няма го от сцената по няколко седмици, после се появява някъде само за да покаже „съпричастност“ или да изцепи евтини, но популярни приказки за вдигането на пенсиите или състоянието на икономиката. На мен, лично, не ми е ясно до колко има някаква реална власт и влияние зад сцената, но понякога се дразня на открито хипер-популярните му ходове. Особено в годината около президентските избори – тогава критикуваше и чужди, и свои, само и само да се хареса на целокупния български народ.

Сега, обаче, си намери майстора. Защото срещу неговите приказки-които-се-харесват-на-народа застава Бойко, с още по-голям талант за действия-които-се-харесват-на-народа. А и в приказките не му отстъпва по точки, макар да има много по-нешлифован (но по-народен) подход. Този титаничен сблъсък за любовта на народа беше неизбежен. Но като гледам, още от сега си личи кой ще излезе победител. .

Президента до сега поддържаше образ на мъдър и вещ политик, някак бащински настроен и загрижен за народа. Това, което липса в образа му, е близостта с хората – той е някак си над хората. Образ на приятел, но от едно по-висше общество. Човек, който трябва на първо място да уважаваш, да му вярваш и да си благодарен, че те подкрепя. Човек, който си живее в плата и си върши неговите си, висши дела, които не са за всеки.

Срещу тази визия сега излиза Бате Бойко – новият любимец на народа, много по-близък. „Наш човек“, работач, готин и безкрайно разбираем. Може би малко недодялан, не толкова изпечен в политиката, не толкова добър стратег, но също толкова последователен в своето преследване на „популярни“ приказки – но и действия. Абсолютно различен типаж, който, обаче, се бори за същото – любовта на народа.

Искрата припламна покрай трагедията в Охрид, когато президента, изплашен че остава в сянката на премиера, реши да цъфне лично там за да хвърли няколко народно-приятни думи, да покаже бащинска загриженост и т.н. Обаче нещата се объркаха, не му достигна време и Първанов изтърва юздите. Не знам дали заради него се е забавил самолета, прибиращ оцелелите. Склонен съм да вярвам, че е така, но не безрезервно. Обаче Борисов веднага го бодна с това обвинение – леко, фино, без да вдига дандания. Някак между другото, между многото неща, които успя да свърши във връзка с трагедията.

Явно това е била капката, преляла президентското търпение. Вероятно отдавна има чувството, че губи първенството в борбата за „масовата“ обич. За това той тръгна в атака. Обаче – греда, не уцели момента: оказа се точно в деня на траур. Това показва изнервеност. При това атаката беше насочена към енергийната политика в контекста на отношенията с Русия – тема, по която ГЕРБ обработва обществото месеци наред. Първанов обвини Борисов по един детински начин, че бил неподготвен за разговора с Путин, че не знае какво прави. Дори подхвърли обвинения за корупция в правителството.

Ако аз измислях зашита срещу тези думи, вероятно щях да лансирам една от следните идеи:
– Прието е опозицията да не закача правителството първите 100 дни. А и президента няма право да е опозиция – той е длъжен да бъде надпартиен
– Действията на Първанов може би са предизвикани от някое набиване на канчето от страна на Путин/Русия след разговорите в Полша

Но бате Бойко подходи много по-премерено и елегантно: той изкара думите на Седефчов като проява на завист. И за да подсили ужилването, прояви „разбиране“ към горкия объркан президент. Красота. И на мен ми се получава така, в по-успешните ми дни. Чак и аз почвам да се кефя на ББ.

Тази сутрин, в сутрешния блок на бТВ началника на на кабинета на президента задълба още по-зле. Говори някак неподготвено и плоско, твърде явно опитваше да извърти нещата в полза на бащицата на народа – обичният и загрижен образ на президента. С това, лично за мен, загуби много по-вече, от колкото мислеше да спечели.

С нетърпение очаквам продължението през следващите дни и месеци. Сеира ще е голям. А всъщност не е ли точно сеир това, което обича народа?

 Posted by at 9:15
Сеп. 082009
 

Излезе официално версия 10 на най-добрият браузър на света. Още по-бърз и още по-готин. Смук!

* * *

А междувременно с интерес човъркам бета версиите на най-добрия инструмент за разработка на pl/sql код и работа с Oracle БД – PL/SQL Developer 8.0. Също толкова бърз и готин, с доста полезни нещица.

 Posted by at 9:39

Oracle Cluster Time Synchronization Service (ctss)

 Общи  Коментарите са изключени за Oracle Cluster Time Synchronization Service (ctss)
Сеп. 072009
 

ctss е нов полезен инструмент, част от клъстерния стек на Oracle от версия 11.2. Той се грижи да няма голяма разлика между часовниците на всички нодове в един клъстер.

Какъв е проблема с часовниците?

За да работи правилно един клъстер, особено в active-avtive режим, между всички нодове постоянно прескачат съобщения „Жив ли си?“ – „Жив съм“. Така при отпадането на един нод, другите знаят, че трябва да поемат неговата работа. Ако някой нод не отговори достатъчно бързо на запитването „Жив ли си?“, другите го обявяват за мъртъв, поемат неговата работа, и за да не стане беля, го изритват от клъстера (за по-сигурно). Процеса на изритване се нарича node eviction и вече съм споменавал за него. Самото изритване на практика представлява възможно най-бърз и брутален рестарт на „губещия“, при който на windows се вижда един приятно син екран. Между другото, до сега се разчиташе на някакво съдействие от изритания нод, за да подейства изритването, но в 11.2 има опит да се използва management процесора, ако има такъв и ако отговаря на стандарта IPMI версия 1.5.

Както и да е. Понякога с тези въпроси кой е жив възниква проблем. Представете си следната ситуация:
1. Даден нод изпраща запитване до някой друг „жив ли си“.
2. 4 милисекунди след това ntpd на същия нод се събужда и сверява часовника, който е изостанал с 2 минути.
3. Още 2 милисекунди по-късно нашият нод решава, че другият не му отговаря вече над 2 минути и го изритва.
Естествено, това е прекалено опростено. Всъщност ntpd се опитва да не прескача по много време (само по 128 ms), но въпреки това понякога го прави. Практиката показва, че такива неща се случват.

Има и други проблеми със стандартните методи за синхронизация на времето. Примерно, когато се опитваме да видим защо дадена заявка е бавна и преглеждаме wait events, може (в случай като горния) да видим, че прочитането на един единствен блок от диска е отнело 2 минути вместо десетина милисекунди. Или обратно – може да излезе отрицателно време. Всичко това се дължи на „подскачането“ на часовника при сверяване.

Oracle Cluster Time Synchronization Service Daemon (octssd)

За това в 11.2 Oracle въвеждат нов процес в clusterware стека, който да отговаря специално за сверяването на часовника. За сега този демон първо се оглежда дали има работещ ntpd. Ако има, влиза в т.нар. observer mode, за да не развали хубавата конфигурация, която е направил системния администратор. (Всъщност имам подозрение, че се опитва да си хортува с ntpd – да му набута опция -x – но това не е описано в документацията).

Ако няма работещ ntpd, octssd влиза в active mode и започва да сверява часовниците на всички нодове. Според документацията, ги сверява спрямо часовника на един „референтен“ нод. На база на някои съобщения в логовете аз мисля, че използва статистически методи: изчислява „средното“ време между всичките и сверява всички часовници с него. От където и да взема времето, сверяването се прави плавно, със забавяне или забързване на часовника на съответния нод, за да се намалят до минимум гореописаните проблеми.

Къде е мотиката?

Проблема е, че ако има твърде голяма разлика между часовниците на нодовете, ctss отказва да се стартира (аналогично би постъпил и ntpd) и в резултат целият clusterware не тръгва. Това в общи линии е добре – това е индикация за реален проблем – но може да бъде доста стряскащо за някой, който не знае за тази особеност. Още повече, че има някои леко объркващи съобщения в alert log-а на клъстеруеъра. За това човек трябва да гледа не само последния ред, а и малко преди него:

[root@ghost ghost]# date
Mon Sep  7 11:06:24 EEST 2009
[root@ghost ghost]# date -s "7 SEP 2008 11:06:40"
Sun Sep  7 11:06:40 EEST 2008
[root@ghost ghost]# /ora_crs/grid/bin/crsctl start crs
CRS-4123: Oracle High Availability Services has been started.
[root@ghost ghost]# tail alertghost.log
2008-09-07 11:07:52.872
[crsd(21173)]CRS-1013:The OCR location in an ASM disk group is inaccessible. Details in /ora_crs/grid/log/ghost/crsd/crsd.log.
2008-09-07 11:07:53.813
[ohasd(20591)]CRS-2765:Resource 'ora.crsd' has failed on server 'ghost'.
2008-09-07 11:07:54.893
[crsd(21187)]CRS-1013:The OCR location in an ASM disk group is inaccessible. Details in /ora_crs/grid/log/ghost/crsd/crsd.log.
2008-09-07 11:07:55.838
[ohasd(20591)]CRS-2765:Resource 'ora.crsd' has failed on server 'ghost'.
2008-09-07 11:07:55.838
[ohasd(20591)]CRS-2771:Maximum restart attempts reached for resource 'ora.crsd'; will not restart.

[root@ghost ghost]# /ora_crs/grid/bin/crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4535: Cannot communicate with Cluster Ready Services
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
[root@ghost ghost]# /ora_crs/grid/bin/crs_stat -t
CRS-0184: Cannot communicate with the CRS daemon.

Тук съобщението „The OCR location in an ASM disk group is inaccessible“ е малко стряскащо и много подвеждащо. От файла /ora_crs/grid/log/ghost/crsd/crsd.log също изскачат стряскащи и подвеждащи съобщения:

2008-09-07 11:07:54.891: [  OCRASM][3670413808]proprasmo: Error in open/create file in dg [DATA01]
[  OCRASM][3670413808]SLOS : SLOS: cat=7, opn=kgfoAl06, dep=15077, loc=kgfokge
ORA-15077: could not locate ASM instance serving a required diskgroup

2008-09-07 11:07:54.893: [  OCRASM][3670413808]proprasmo: kgfoCheckMount returned [7]
2008-09-07 11:07:54.893: [  OCRASM][3670413808]proprasmo: The ASM instance is down
2008-09-07 11:07:54.893: [  OCRRAW][3670413808]proprioo: Failed to open [+DATA01]. Returned proprasmo() with [26]. Marking location as UNAVAILABLE.
2008-09-07 11:07:54.893: [  OCRRAW][3670413808]proprioo: No OCR/OLR devices are usable
2008-09-07 11:07:54.893: [  OCRASM][3670413808]proprasmcl: asmhandle is NULL
2008-09-07 11:07:54.893: [  OCRRAW][3670413808]proprinit: Could not open raw device
2008-09-07 11:07:54.893: [  OCRASM][3670413808]proprasmcl: asmhandle is NULL
2008-09-07 11:07:54.893: [  OCRAPI][3670413808]a_init:16!: Backend init unsuccessful : [26]
2008-09-07 11:07:54.894: [  CRSOCR][3670413808] OCR context init failure.  Error: PROC-26: Error while accessing the physical storage ASM error [SLOS: cat=7, opn=kgfoAl06, dep=15077, loc=kgfokge
ORA-15077: could not locate ASM instance serving a required diskgroup
] [7]
2008-09-07 11:07:54.894: [    CRSD][3670413808][PANIC] CRSD exiting: Could not init OCR, code: 26
2008-09-07 11:07:54.894: [    CRSD][3670413808] Done.

Нищо му няма на OCR файла, нито има проблем с пътя до него. Проблема е, че върнах часовника с една година назад и ctss отказва да отлепи . Това си го пише в /ora_crs/grid/log/ghost/ctssd/octssd.log:

2008-09-07 11:07:34.674: [  clsdmt][1160481088]Creating PID [21073] file for home /ora_crs/grid host ghost bin ctss to /ora_crs/grid/ctss/init/
2008-09-07 11:07:34.674: [  clsdmt][1160481088]Writing PID [21073] to the file [/ora_crs/grid/ctss/init/ghost.pid]
2008-09-07 11:07:34.674: [    CTSS][1149991232]ctsselect_mmg8: Host [spectre] Node num [1] is the master
2008-09-07 11:07:34.675: [    CTSS][1149991232]ctsselect_sm2: Node [1] is the CTSS master
2008-09-07 11:07:34.675: [    CTSS][1149991232]ctssslave_meh1: Master private node name [spectre]
2008-09-07 11:07:34.675: [    CTSS][1149991232]ctssslave_msh: Connect String is (ADDRESS=(PROTOCOL=tcp)(HOST=spectre)(PORT=16569))
2008-09-07 11:07:34.676: [    CTSS][1149991232]ctssslave_msh: Forming connection with CTSS master node [1]
2008-09-07 11:07:34.677: [    CTSS][1149991232]ctssslave_msh: Successfully connected to master [1]
2008-09-07 11:07:34.677: [    CTSS][1149991232]ctssslave_swm: The magnitude [31536002073184 usec] of the offset [-31536002073184 usec] is larger than [86400000000 usec] sec which is the CTSS limit.
2008-09-07 11:07:34.677: [    CTSS][1149991232]ctsselect_mmg9_3: Failed in clsctsselect_select_mode [12]: Time offset is too much to be corrected
2008-09-07 11:07:35.610: [    CTSS][1160481088]ctss_checkcb: clsdm requested check alive. Returns [40000050]
2008-09-07 11:07:35.610: [    CTSS][3009136672]ctss_init: Spawn completed. Waiting for threads to join
2008-09-07 11:07:35.610: [    CTSS][1149991232]ctsselect_mmg: CTSS daemon exiting [12].
2008-09-07 11:07:35.611: [    CTSS][1149991232]CTSS daemon aborting

Пише го и в alert log-а на клъстера, но е няколко десетки реда преди края на файла:

2008-09-07 11:07:22.547
[ctssd(21042)]CRS-2401:The Cluster Time Synchronization Service started on host ghost.
2008-09-07 11:07:34.675
[ctssd(21073)]CRS-2407:The new Cluster Time Synchronization Service reference node is host spectre.
2008-09-07 11:07:34.677
[ctssd(21073)]CRS-2404:The Cluster Time Synchronization Service detects that the local time is significantly different from the mean cluster time. Details in /ora_crs/grid/log/ghost/ctssd/octssd.log.

Оправията, естествено, е да се свери долу-горе времето, за да може ctss да запали.

[root@ghost ghost]# date -s "7 SEP 2009 11:26:40"
Mon Sep  7 11:26:40 EEST 2009
[root@ghost ghost]# /ora_crs/grid/bin/crsctl stop crs
CRS-2796: The command may not proceed when Cluster Ready Services is not running
CRS-4687: Shutdown command has completed with error(s).
CRS-4000: Command Stop failed, or completed with errors.

[root@ghost ghost]# /ora_crs/grid/bin/crsctl stop crs -f
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'ghost'
. . .
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'ghost' has completed
CRS-4133: Oracle High Availability Services has been stopped.

[root@ghost ghost]# /ora_crs/grid/bin/crsctl start crs
CRS-4123: Oracle High Availability Services has been started.

[root@ghost ghost]# tail -n 10 alertghost.log
2009-09-07 11:29:48.718
[ctssd(25311)]CRS-2408:The clock on host ghost has been updated by the Cluster Time Synchronization Service to be synchronous with the mean cluster time.
2009-09-07 11:29:49.653
[ctssd(25311)]CRS-2401:The Cluster Time Synchronization Service started on host ghost.
[client(25508)]CRS-10001:ACFS-9327: Verifying ADVM/ACFS devices.
[client(25527)]CRS-10001:ACFS-9322: done.
2009-09-07 11:30:00.087
[crsd(25726)]CRS-1012:The OCR service started on node ghost.
2009-09-07 11:30:01.503
[crsd(25726)]CRS-1201:CRSD started on node ghost.

Къде е по-дебелата мотика?

Същият този проблем възниква със страшна сила по време на инсталацията на Grid infrastructure. В самият край на инсталацията, при стартирането на root.sh на последния нод, octssd гръмва и прекратява изпълнението на скрипта. В резултат работата остава недовършена – най-малкото, което забелязах е, че на този нод не му се случва VIP. Което е особено тъжно предвид факта, че в 11.2 няма vipca и VIP се прави ръчно, чрез srvctl.

Така че преди инсталация (или ъпгрейд) гледайте часовниците на всичките нодове да са горе-долу в синхрон. Надявам се, че от следващата версия тази проверка ще се прави и от самия инсталатор.

 Posted by at 12:31