ян. 282009
 

Много внимавайте, когато четете този блог. Защото аз може и да имам пистолет. Те всички блогъри може да имат пистолет. Kато този: „Блогърът с пистолет“.

Дааа… Опасно е да общуваш с блогъри. Точно те са ония, които отвличат цели автобуси със заложници.

Вестник „24 часа“ е уловил съвсем конкретно отличителните белези на човека, който напълни новините вчера. Той е на първо място блогър – нали се сещате, това са ония, дето са страшни и опасни. А, и освен това, между другото, има и пистолет. Но не е „мъжът с пистолет“, или „свелиевецът с пистолет“, или „частния охранител с пистолет“, или „(регистрираният в психото) с пистолет“. Това не е толкова характерно за него и не може да подскаже с една дума що за чудовище е той.

Не, най-добре ти става ясно като прочетеш „Блогърът с пистолет“.

Е, Миков щеше да е по-щастлив ако дефиницията е по-широка: „(човекът който използва всякакви различни средства за комуникация, ходи по улиците без да е съобщил предварително в МВР къде отива, пътува между различни градове, среща се с разни хора без присъствието на оперативен служител) с пистолет“. Че нашите правоохранителни органи искат да ловят терористи във всякакви комуникационни канали. Обаче – нъц, не изглежда добре като заглавие. За това е доволен и от „Блогърът с пистолет“. Така и така точно сега се бори да прекара интернет трафика през своите очи. За да излови и контролира злите интернетери – блогъри, форумци, чатъри и други подобни опасни елементи.

Бля!

 Posted by at 15:30
ян. 272009
 

„Нови 1 млн. кв. м. жилища в София“, пише в Дир.БГ. Бърза сметка: цената на жилищата в София средно е малко над 1000 евро на квадрат. Значи ли това, че строителните лами се надяват да лапнат над 1 милиард евро за година само от жилища в София? Това са над 2 милиарда (2 000 000 000) лева. Само от жилищата! Е това е лакомия.

Няма как да стане при БВП около 60-70 милиарда за цялата страна.

Ех… все пак това има и добра страна. В средносрочен план се надявам да се уредим с по-голяма къщичка. И предвид тази ситуация… цените ще стават все по-изгодни 🙂

 Posted by at 10:29
ян. 262009
 

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

 Posted by at 16:52

Нов интересен блог

 Без категория  Коментарите са изключени за Нов интересен блог
ян. 202009
 

Да ви представя Harald van Breederode.

Аз се запознах с него лятото, когато ходих на изпит в Холандия – Harald беше proctor на изпита. Той ни гледаше да не преписваме. Всъщност „гледаше“ не е точния термин, защото той е напълно сляп.

Загубил е зрението си преди няколко години. Но това не му пречи да участва активно в общността. Има страшно много познания за Oracle, за Unix средите и за ядрото на Linux. Играе си активно с development – разказа ми за един бъг в комуникацията между VMWare Server и ядрото на Linux, който открил, отстранил и е предложил patch (за Unbreakable Linux), който се използва от всички в Oracle (worldwide).

В същото време участва активно в дейностите на Oracle University. Не само че води Advanced курсове (RAC, DataGuard) но и участва в създаването на учебните материали, примерно за курсовете за Oracle 11g. А, и се е сертифицирал като Oracle Certified Master.

Прибавете към всичко това и сладкодумието на човек, който не само е преживял много неща, но и знае как да ги разкаже; и въпреки, че е получил голям удар от съдбата, продължава да е усмихнат. Според мен се получава една пълна картина на един от тези хора, върху които се гради прекрасно community.

И човек, който има всички шансове да забърка интересен blog.

 Posted by at 11:53
ян. 132009
 

Искам сега аз, като един относително заинтересуван от политиката българин, да се опитам да „яхна” протеста, за който всеки пише и подканя. Искам да яхна протеста още от днес, щото утре ще го яхат много по-големи и устати от мене. Искам да яха протеста с една цел, която ще си проличи от следващите редове.

Ти гласува ли, че сега мрънкаш срещу управниците?

Много ми се иска да разбера, ама няма как… Ако можех щях да дойда утре на протеста с един детектор на лъжата и да попитам абсолютно всеки един от протестиращите дали е гласувал на изборите, на които беше избран този парламент

Щото по избори избирателната активност клони към нула, ама после мрънканици и протести – бол. Щото по избори червените бабички и туристите от югоизток решават кой да ни управлява, а после ревем.

Искам от сега да кажа, а лятото ще го напомня:

Който не е гласувал хич да не се оплаква после от управниците!

(Аз гласувах. И не съм доволен. Но пак ще гласувам)

 Posted by at 19:19
ян. 102009
 

В радиус от 10 минути (пеша) от нашия офис няма кой-знае колко места за хапване по обяд. Една от възможностите е пицария „Добро“ на улица Якубица. Там готвят много вкусно, обстановката е приятна, обслужването не е никак зле и порциите не са малки. Преди няколко месеца си „актуализираха“ цените, но това се случва навсякъде…

Много ми харесва там и пълното разделение между пушачи и непушачи. Просто са на отделни етажи. Освен това залата за непушачи не е (значително) по-малка от тази за пушачи, а винаги е по-празна. За това когато отиваме там за обяд ми е много приятно.

Е, беше.

Днес се замъкнахме пак там, 10 човека, и без да ни подканват слязохме в залата за непушачи. И – изненада. Имаше само една заета маса, на която, обаче, пушеха. Попитахме сервитьорката защо така и тя каза „Ами това е управителя, той има гости и така…“. При това го каза сякаш е напълно в реда на нещата!

Вярвайте ми, стана ми супер тъпо. Сега имам огромно желание да избягвам занапред тази пицария. И не защото на другите места няма да съм сред пушачи (само в Мистър Пица има такова разделение). Просто съм изключително обиден от поведението на управителя на Добро. Язък за старанието на готвачите и другия персонал – когато шефа не струва, всичко отива по дяволите.

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

Хайде сега някой да ми каже как след 2010 година ще се спазва пълната забрана за пушене в заведенията.

 Posted by at 14:56
ян. 102009
 

Brendan Gregg от FISHworks екипа на Сън показва колко лошо е човек да крещи на storage-а си:

До такива важни открития стига човек когато има твърде много техника и поне малко свободно време. Замислям се как ли се е стигнало до забелязването на този ефект? Какво ли са правили изнурените инженери от FISHworks за да се прояви?

P.S. Отговорът намерих тук:

I found this when investigating an intermittent latency issue caused by vibration on disk missing a drive bracket screw (which Adam found once before). After reinserting the disk, I enabled additional Analytics to get a good trace of the effect – but it wasn’t reproducing. I was trying to figure out why, and wondering how close the disk was to the vibration point – when I shouted at it to give it some extra vibration. This worked better than expected, and caused issues in all the disks I was shouting at, not just the missing screw one. I was using the Analytics by-disk breakdown to map where I was shouting at (although in the video I shouted a bit too loud, and vibrated most disks in both JBODs). If I can get the missing screw issue to reproduce, I’ll post a blog entry with the screenshots.

 Posted by at 11:29
ян. 102009
 

И не че нещо са виновни. Много неща могат да се автоматизират, но не всичко, далеч не всичко…

Та питанката днес е колко от вас, мили другарчета, се успаха днес (като мен), защото са си настроили телефоните да ги будят от понеделник до петък? 😉

Една колежка вече си призна

 Posted by at 10:02

Бъг с Updateable MViews

 Без категория  6 Responses »
ян. 062009
 

В началото на годината ще ви запозная с една мотика, от която много боли. Някои фирми (примерно Стемо) използват т.нар. basic replication за репликация на данни между Oracle сървъри. Ние го правим от 1999, когато с Oracle 8i (8.1.5) успяхме да преточим 10 таблици между 1 master site и 9 snapshot sites през едни много разпадащи се връзки с модеми. За времето си това решение беше идеално Още тогава успяхме да докараме 15 минути време за репликиране на данните в едната посока (когато има връзка). Сега, близо 10 години и 3 версии на Oracle по-късно, това вече е legacy система, но все още търкаля (и ще продължава да търкаля дълги години) с ~1800 materialized views между 1 master и 12 mview сървъра.

С две думи, ако ви кажа, че съм много дълго съм сърбал попарата на всякакви mviews, може да ми вярвате. Аз се занимавах с тази система около 7 години. От началото на 2006 един колега постепенно пое товара от моите плещи за няма и година навлезе толкова добре, че започна да се справя съвсем сам. А работата хич не е лека – това… хммм… абе нека кажем, че не е най-съвършения механизъм в Oracle Database.

В теорията на базите от данни, замисъла на тези snapshots е да копират данни от mater към snapshot таблица. Естествено Oracle ги натоварват с още много функционалност (може би за това от 9i ги прекръстиха в mviews). Всеки е чувал за query rewrite механизмите, дъвчат се из целия нет. Но един друг не по-малко вълнуващ механизъм е копирането на данни в двете посоки. Идеята е следната: има един master сайт, в който стоят данните. Има един (или повече) snapshot сайт(ове), на които има цяло или частично копие на тези данни. Това копие се опреснява през определен период от master таблица с т.нар. refresh (няма да изпадам в подробности за complete и fast refresh). До тук имаме едно копие на данните, което е read-only. Ако ни е обхванал дълбок мазохизъм (или сме притиснати от обстоятелствата), можем да дефинираме че едно mview е updateable. Това означава, че освен че изтегля данни от master таблицата, то може да приема и DML. Всички DML заявки към Updateable MViews се събират в една опашка и периодично се изпращат към master сайта с механизъм, известен като push. Клопката тук е, че докато опресняването (refresh) от master към mview става mview по mvew (може да се прави и на групи), то в обратна посока (push) върви поток от транзакции, аналогичен на този при Advanced replication.

И тук идва времето за днешното бъгче. Понякога (обикновено по време на създаване) едно mview може да стане не updateable, а writeable. Това означава, че всички DML операции си работят върху него (не е read-only), но транзакциите не се прихващат и не се изпращат към master сайта. При следващия refresh данните, въведени върху mview-то изчезват, защото refresh-а синхронизира данните е mvew с тези в master таблицата. А там новите данни ги няма.

Първия път като ми се случи това се стреснах много силно. Това си е жива загуба на данни! И тъжното е, че на пръв поглед е много трудно да се идентифицира едно такова mview. Ако имаш едно и искаш да го пробваш е лесно – правиш някакъв dml и гледаш дали се прихваща в таблицата deftrandest. Но в една жива система с 12 mvew сървъра, на всеки от които има ~1800 mviews нещата загрубяват. dba_mviews не подсказва нищо, нито има някаква грешка в dba_objects.

Ето и решението:

select d.owner, object_name, trigflag, mv.compile_state, mv.updatable
from dba_objects d, sys.tab$ t, dba_mviews mv
where d.object_id = t.obj#
and mv.mview_name = d.object_name
and mv.owner = d.owner
and mv.updatable = 'Y';

Тази подла заявка ни показва една колонка trigflag, по която можем да идентифицираме какви internаl triggers има таблицата нa едно mview. Тази колонка е побитова маска със следните стойности:
0x01 => deferred RPC queue
0x02 => mview log
0x04 => updateable mview log

С други думи едно updateable mview трябва да има стойност 5 (или 7, ако само по себе си е и master за друго mview). Проблемните (writeable) mviews имат стойност 4 (или 6), т.е. това mview позволява updates, но не ги enqueue-ва като defcalls (леле какво изречение!).

След като идентифицираме такова mview, тригера може да се създаде със следната секретна процедура:
exec dbms_internal_trigger.make(owner, mview_name, 1)

Убеден съм, че това ще помогне на някого!

NB! Това не е документирано официално. Тествано и работи на 10.1 и 10.2. Използваме го в production от години. Но гаранция за бъдещите версии няма.

 Posted by at 12:41