Авг. 312007
 

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

Най-интересното е, че организирах Team Building-а на софтуерната къща. Голяма борба, голямо нещо. И пак има хора, на които не им изнася… Но мисля, че направих много. За общото добро. Другото е че започнахме нов интересен проект при много интересен клиент. Голяма работа сме… И съм голяма оптимист, че ще се справим. Раздвижиха се и нещата относно всеизвестния (на който не му е известен е късметлия) ДИРИГЕНТ. И други неща се случиха… Много зор.

Но отново дойде време за дълга почивка. Ура, ура, ура!
Многото почивни дни се слепват само с 3 дни отпуск… и аз мисля, че съм си го заслужил. Макар че си почивах скоро… Нещо като приливи и отливи. Какво ли ме чака като се върна?

(работа, как какво. От сега имам уговорена среща още на 10-ти)

Приятна почивка на всички!

 Posted by at 14:24

Извънреден труд

 Personal  Коментарите са изключени за Извънреден труд
Авг. 242007
 

Както се казва в една реклама: „Хайде, на всеки се случва”. Само че там се говори за друго. А аз се сещам за работа…

Случвало ми се е да работя нощем. Дори по цели нощи. Нещо повече – случвало се е да работя през деня, цялата нощ и следващия ден. А сега ми се случи да работя 19 дни без почивка. И се получава една интересна аналогия…

Когато съм бачкал през нощта, на другата сутрин съм много смачкан. Но идват колегите, започва деня и аз се увличам – дори не ми се спи. Но следобед ми става едно такова… сиво. И се прибирам вкъщи сив. И се наспивам. И чак след като се наспя, осъзнавам колко съм бил скапан следобеда.

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

Но идва уикенд! И този път – почивен! Е, не че ще си клатя краката, ама поне няма да работя умствено. Чака ме един таван за боядисване и куп неща за свързване в една баня. Умора за тялото – отмора за духа.

Приятен уикенд! 🙂

 Posted by at 17:38

/dev/shm for Oracle 11g DBAs

 Общи  Коментарите са изключени за /dev/shm for Oracle 11g DBAs
Авг. 222007
 

В Oracle 9i управлението на паметта в PGA се автоматизира с параметъра PGA_AGGREGATE_TARGET. Това беше огромно улеснение, защото практически е невъзможно администратора да дебне коя сесия има нужда от памет и да раздава правосъдие, а задаването на големи области за сортиране „за всеки” води до препълване на паметта. За това се задаваха някакви измислени стойности на sort_area_size тип “one-size-fits-all”, което никога не е оптимално. С параметъра PGA_AGGREGATE_TARGET нещата доста се улесняват, защото СУБД се грижи за това който има нужда от повече памет – да получи повече (докато има).

Oracle 10g представи подобно улеснение и за споделената памет (SGA). С наличието на параметъра SGA_TARGET, параметрите за различните пулове (Shared pool, Java pool, Streams pool, Large pool, Swimming pool) и кеша за данни (db_cache_size, db_keep_cache_size, db_recycle_cache_size, db_*k_cache_size) също започват да се преливат помежду си. Това премахва още една голяма част от натоварването на DBA.

Oracle database 11g представя нова, логична стъпка напред в управлението на паметта: параметрите MEMORY_TARGET и MEMORY_MAX_TARGET. Целта е да се зададе на БД „за теб има ХХХХ МВ памет, оправяй се”. И след като алгоритмите за автоматично разпределяне на паметта между различни по вид, размер и нужда области са оптимизирани в продължение на 2 версии, всичко би трябвало да е лесно. Поне на пръв поглед…

Е, лесно е, поне под windows. Управлението на паметта на Oracle под Windows е много лесно, защото всичко е един голям процес и адресното пространство е едно. Но нещата не стоят точно така под Linux/UNIX.

Под Linux всеки процес (независимо дали е background или foreground) се реализира от процес на ниво ОС. Неговото парче памет (неговата част от PGA) си е лично негово, private. Но споделената памет (SGA) е обща. Версиите на Oracle до 10g включително реализират SGA като един (в повечето случаи) голям shared memory segment, който се map-ва към всички други процеси. За съжаление, както отбелязва Tanel Poder, управлението на споделената памет не е толкова гъвкаво и няма начин при нужда да се смалява shared memory сегмента, за да се отпусне повече памет за PGA. За това във версия 11g на Oracle Database, SGA паметта се заема от /dev/shm, което е

the Linux’es POSIX-oriented SHM implementation, where everything, including shared memory segments, is a file.

Тук, обаче, има един практически проблем. Някои database-ориентирани хора (като мен) нямат точна представа за какво служи това устройство /dev/shm и, по-важно, как се променя размера му. Моята тестова инсталация показа 768 MB налични в /dev/shm и всеки опит да променя параметъра MEMORY_MAX_TARGET на по-висока стойност завършваше с удар през пръстите:

ORA-00845: MEMORY_TARGET not supported on this system

Между другото, това съобщение изобщо не обяснява къде е проблема. За щастие в alert log файла има много по-добрo описание на драмата:

WARNING: You are trying to use the MEMORY_TARGET feature. This feature requires the /dev/shm file system to be mounted for at least XXXXXXX bytes. /dev/shm is either not mounted or is mounted with available space less than this size. Please fix this so that MEMORY_TARGET can work as expected. Current available is XXXXXXX and used is XXXXXXX bytes.
memory_target needs larger /dev/shm

За съжаление никъде не се споменава как да се промени размера на /dev/shm. Няма го дори и в installation guide – нещо, което ме учудва. Свикнал съм installation guide да е достатъчно подробен.

Tanel Poder предлага едно временно решение:

# umount tmpfs
# mount -t tmpfs shmfs -o size=1300m /dev/shm
# df -k /dev/shm
Filesystem 1K-blocks Used Available Use% Mounted on
shmfs 1331200 0 1331200 0% /dev/shm

Недостатък на това решение е, че промяната се изгубва след рестарт на ОС. За да се монтира винаги с този размер, трябва да се промени съответния ред във файла /etc/fstab:

# cat /etc/fstab

tmpfs /dev/shm tmpfs size=1200m 0 0

Тази промяна трябва да се направи от потребителя root. Предложеното решение е тествано на Oracle Enterprise Linux 5. До колкото ми е известно, нещата стоят така и на другите supported дострибуции.

 Posted by at 13:33

Музика за ушите ми…

 Общи  Коментарите са изключени за Музика за ушите ми…
Авг. 212007
 

Напоследък ми с струпаха малко работни уикенди. В общи линии, след като се върнах от отпуск (на шести), не съм имал щастието да имам почивен ден. Като се случи така, бачкаш и това е…
Не знам дали има нещо общо с ужасно дългата ми работна седмица, но днес се разслушах на скандинавски метъл. Характерни черти: яки китари, женски вокали с леки оперни елементи и някой death метал, който да грухне тук-там да развали цялостното усещане.
Започнах от Sirenia
Sirenia
Това е сравнително нова норвежка банда. С тях ме зариби Geroy уикенда, докато инсталирах новия сървър на ЦО. Свирят много приятно, а вокалистката им е много готина (Моника Педерсен – с това име и с тази визия, не бих познал, че е метъл вокал…). Death-ълските включвания са пренебрежимо малко. Препоръчвам ги за слушане и на работа, и на път. Музиката им едновременно успокоява и те държи в кондиция. Странна комбинация…
После преминах на Epica. Холандци, малко по-твърди и може би нямаше да ми допаднат ако не бях на тази вълна. Но днес звучат ОК. Напомнят ми доста за Nightwish. Също добре поддържат работен ритъм

 Posted by at 16:23

Инсталация на Oracle 11g R1 под Linux x86, част 2

 Общи  Коментарите са изключени за Инсталация на Oracle 11g R1 под Linux x86, част 2
Авг. 152007
 

Готов съм и с втората част на статията. В нея съм описал настройките на профила на OS потребителя oracle, елементарна настройка на мрежовата среда на oracle с netca и създаване на oracle 11g база от данни с dbca.

Enjoy 🙂

 Posted by at 18:40

Първата мотика в Oracle 11g

 Общи  Коментарите са изключени за Първата мотика в Oracle 11g
Авг. 132007
 

Ето и първата мотика, на която попаднах в Oracle 11g. При създаване на custom database с Database Configuration Assistant (DBCA), на 13% (creating data dictionary views) стои над половин час и после гръмва така:

DBCA 11g bug

Google и Metalink мълчат по въпроса. Ще се потапям в дебелите логове…

Вярвате или не, в момента ми е супер приятно. Имам си нова играчка и тя е много забавна 🙂
Ако успея да намеря проблема, ще го опиша по-подробно. Все пак не смятам да инвестирам много усилия или да пускам SR, само си играя…

P.S.

BEGIN prvt_report_registry.register_clients; END;

*
ERROR at line 1:
ORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00217: invalid character 187 (U+00BB)

Може би защото, съвсем оптимистично, се опитвам да създам БД с character set а кирилица (CL8ISO8859P5)? Естествено, никъде в интернет или металинк няма информация за пакета prvt_report_registry – какво прави, трябва ли ми изобщо…

 Posted by at 16:43
Авг. 102007
 

Oracle публикуваха Oracle Database 11g Release 1 (11.1.0.6.0) Standard Edition, Standard Edition One, and Enterprise Edition for Linux x86 за download в OTN. Вече и по-простосмъртни хора имаме достъп до него! През последните 2-3 месеца се счупих да чета тестове и ревюта, публикувани от бета тестери. И как ме сърбяха ръцете да го дръпна, да го разцъкам… Ето, сега най-после и това ще стане 🙂

Очаквайте първите отзиви от мен следващата седмица

 Posted by at 15:35
Авг. 082007
 

Вчера попаднах на този пост в блога на Kevin Fox. В него той обяснява как поставянето на много задачи на един човек (ресурс) води до по-ниски резултати, забавяне на проекта/проектите и други лоши неща.

До някъде съм съгласен с него. Много неприятно и непродуктивно е да си се заровил в даден проблем, ровил си го N минути/часа/дни, вече си му хванал заплетения край и някой да ти каже „Зарежи това, онова е по-спешно“. Такъв подход, освен че е демотивиращ, наистина води до спад в производителността. Защото след като свършиш по-спешната задача ти пак трябва да загубиш време да влезеш в стария проблем. И когато това се случва често, когато е начин на работа, води до поне двойно намаляване на производителността.

Не съм съгласен, обаче, че трябва стриктно да се спазва и обратния принцип – всеки човек да има точно, само и единствено една задача в даден момент. В коментарите на блога на Кевин изразих моето мнение.

Проблема е, че човешкото съзнание не е толкова просто „ресурс”, колкото се предполага – дават ти задача и ти работиш по нея докато не я свършиш. Човешкото съзнание всъщност винаги работи в multitasking режим. Това може да се използва много добре за повишаване на общата производителност при задачи, изискващи мислене (не говорим за сортиране на фактури или отливане на бетон).

Когато човек работи по една задача, се случва да достигне до проблем, който изисква по-дълбоко обмисляне. И тук има 2 начина на действие. Единият е да приложиш първото решение, което ти дойде в насиленото съзнание. Решаваш проблема „някак” и продължаваш. Другия, по-красив вариант (ако има достатъчно време) е да оставиш задачата „да отлежи” – не се занимаваш активно, просто се оттегляш. Мислиш си за проблема докато пиеш бира, докато се занимаваш с други неща, ако ще и докато спиш. Оставяш го да отлежи в подсъзнанието няколко часа, или няколко дни, докато не ти проблесни брилянтното (или поне добре обмислено) решение. И докато проблема „отлежава”, може да се занимаваш с друга задача – това не пречи. Поне при мен работи. Така може да отхвърлиш камара по-леки (а и по-тежки) задачки.

Другият проблем е, че по мои наблюдения съм най-продуктивен когато започвам нещо ново. Когато се блъскам часове, дни и седмици с една и съща задачка, започвам да работя машинално и без интерес. „Доскучава” ми, един вид. За това имам нужда от да превключа на някоя друга – просто за разнообразие. Но аз да реша кога да превключа и аз да си организирам задачите. Това изисква отговорност, самодисциплина и опит. Много опит в управлението на личното служебно време.

За това не мисля, че наличието на една задачка на бюрото ми води до по-голяма продуктивност. Дайте ми работа, но ме оставете аз да се организирам…

 Posted by at 12:38

Снимка

 Общи  Коментарите са изключени за Снимка
Авг. 062007
 

Ето и една отпускарска снимка

Розов пеликан

Този розов пеликан живее с още 5-6 другарчета в малкия варненски зоопарк. Впечатли ме както дълбочината на погледа му, така и излъчването за „хитро животно“. А розовия цвят си личи с един лебед до него:

Пеликан и лебед

 Posted by at 13:37