Тази нощ спането не ми се получи много. Цяла нощ ме боля гърло и се будих редовно. Последно се събудих към 4:30 и повече така и не успях да заспя.
Чувствам се доста отпаднал. Така че тази сутрин пропуснах йогата. С много помотване и пощипване, по-„скайпване“ и по-„мейлване“, както си с горещ душ и т.н. успяхме да се измъкнем към 8:45. После се върнахме за баджовете и излязохме пак малко преди девет. Прескочихме към епъл шопа, който още не беше отворил, но имаше вече малка опашка. Така че отидохме за по една голяма порция палачинки с кленов сос при Тад. Тия палачинки са страшна зарибявка. Правят ги от нещо, което е по-скоро тесто за бухти. На размер са относително малки – около петнайсетина сантиметра диаметър, но са много дебели и бухнали. И, съответно, поемат мноооого сироп.
След закуска отново прескочихме до епъл шопа: „Още чакаме доставка, опитайте по-късно“
Тази сутрин започнахме обучението си с една алтернативна конференция: OakTable World (OTW). Тази „конференция в конференцията“ се провежда заедно с OOW, трае два дена, и има няколко отличителни белега
– рязко техническа е. Няма рекламни и маркетингови ала-бали
– лекторите са членове на OakTable network – най-коравите oracle гурута
– напълно безплатна е. Дори да нямаш pass за OOW, можеш да я посетиш (стига да живееш или присъстваш някъде в района, разбира се)
Не-конференцията започна с welcome note на Mogens_Nørgaard, един от основателите на OakTable network. Разказва много увлекателно, забавно, симпатично. Разказа за неговото виждане за разни компютърни неща и живота като цяло; защо NOSQL е толкова фьешън и защо скоро ще спадне хайпа около него. Защо настоящите IT-та са скучни, как е било едно време и какво ще стане после. Страшно, страшно увлекателен разказвач.
След него на сцената дойде един от коравите гурута – Christian Antognini. Неговата тема беше за индексите, вътрешната им организация, и как действат – до последната запетайка. С пример, дъмпове и т.н. Ето няколко цитата, които съм си записал
Oracle database is a good product, but it is expensive. That’s why it’s nice to know the details to use it completely, and not just as a place to our data in rows and columns
Every index is internally an unique index. If you create non unique index, Oracle adds the rowid to make it unique. That defines the order of the repeating values in the index!
In branch blocks oracle puts as less data s possible. E.g. long strings are cut to the number of bytes needed to accurately decide which leaf block to go to.
Branch blocks do not have ITL table – only leaf blocks.
A change of index structure is not rollbacked if the transaction that caused it is rollbacked. This means, blocks that have been split will stay split.
След това изгледах A deep dive into HCC internals and mechanics на Martin Bach
Той също ни заля с обяснения и трейсове. Направо се възхищавам на такива хора. От друга страна, на бойното поле няма време да трейсваш – само в екстремни случаи, когато нещо се е скапало адски зле и в същото време имаш достатъчно време да си играеш.
Един интересен факт:
Oracle may leave the data uncompressed if it detects compression does not help for this specific compression unit
Обяд
Днес организаторите се изложиха много мощно с обяда. Първо, имаше огромни опашки. После сандвичите с месо свършиха и всички не-вегетарианци бяхме опътени към един хотел на две пресечки от moscone north, където имаше отново опашка. И на края – пак вегетарианска манджа. Взех я, но така и не я изядох – беше някакви треволяци с вкус на киселец.
Прескочихме и до епъл шопа, имаше твърде огромна опашка. Така и не попитах дали е дошла доставката – нямам излишни часове за чакане.
Обядвах сандвич със свинско, печено 24 часа. Десет долара, но поне се наядох…
Следобед се върнах към „нормалната“ конференция с Doing SQL from PL/SQL: correctness and performance на Bryn Llewellyn
Имах удоволствието да седя до Дан Хотка
Брин е чудесен лектор – чудесен британски англииски, чудесно амглийско чувство за хумор. Дълги, сложни, прекрасни изречения
След него отидох да чуя нещо относно Oracle GoldenGate 12c for Oracle Database 12c – Jagdev Dhillon, Nick Wagner
Ето някои по-интересни неща от записките ми:
Replicat 12c can run in parallel
– receiver process, reads LCRs
– preparer, calculates dependencies
– coordinator
– applierS. The number of applierS is automatically changed based to the load
GG 12c can use oracle wallet or credential store to avoid storing passwords in parameter files
GG 12.1.2.1 new features
– support for capture from ADG
– improved startup performance and scalability
– create table as select can be applied as DDL + DML rather than DDL. Helps when replication partial data, for example
– EXCLUSETAG allows DBA to make tagged transactions that are ignored by extract.
– information about error queue on OEM interface. Can retry, view details, etc.
После слушах Maximizing Oracle RAC uptime на Markus Michalewicz
Този младеж май е шеф на RAC групата: Director of Product Management, Oracle Real Application Clusters. Познава изключително добре RAC, говори запалено, страстно (макар и не като Bryn)
Започна с някой полезни тулчетта като cluvfy и OraChk/exachk. Първото е познато на всеки, който е инсталирал RAC. A всеки, койот има удоволствието да работи с Exadata, няма как да е подминал Exacheck
После Markis разкри един друг полезен tool – chm (cluster health monitor)
Въпреки че е активен от 11.2.0.2, не се говори много за него. Аз бях научил случайно няколко месеца преди това, когато ми се наложи да го използвам във връзка с един service request. Прави същото като добрия стар oswatcher/exawatcher, но по-добре. Освен това си събира информацията в негова си вътрешна базичка (май е някаква BerkleyDB в 11.2, а в 12.1 става известна като „-MGMTDB“)
Introduced in gi 11.2.0.2
Gathers OS level metrics to help diagnostic
Stores data in internal DB
Runs real time
Integrated with OEMCC
3 processes
– osysmond is started by ohasd. Started on all nodes, gathers data
– ologgerd runs on one node, started by osysmnond. Consumes data gathered by osysmnond and stores it in central repository
– oclumon – started manually from command line, can show reports over current or historic data
И нещо, което ме втрещи:
memory guard – new feature of crs 12.1.0.2. Looks at free memory reported by CHM. If free memory gets too low, it stop services running on the node to prevent new connections. When memory is freed, it starts back services.
Как така кой си ще ми спира сървисите!
Последната лекция за деня беше YesSQL! A celebration of SQL and PL/SQL – Tom Kyte, Steven Freuerstein and co.
Много приятна за всеки Oracle фанатик сбирка-представяне на основните core екипи в Oracle. Том и Стивън бяха предимно фасилитатори. Казаха няколко интересни думи в началото
– NoSQL is a fine technology with a lousy name. Reflects the unfortunate trend to reject SQL and PL/SQL and instead use the database as „dumb“ storage
For some types of applications NoSQL makes sense. NoSQL existed decades ago. Actually SQL was built to replace NoSQL
Представиха един от големите технически гурута – Thomas Kurian, Executive Vice President of Product Development at Oracle Corporation. Той беше записал едно видео поздравление към всички присъстващи.
После на сцената излезе Andy Mendelsohn – Executive Vice President, който работи в Oracle Corp от далечната 1984 (!!!). Разказа няколко интересни пикантни детайли, примерно защо pl/SQL e базиран на АДА. По това време изглеждало, че АДА има много добро бъдеще и всеки ще го ползва. Каза, че лично той е писал кода за b-tree indexes в тези далечно години. Сигурно е страшен кеф да си помислиш, че милиарди хора всеки ден използват код, който си писал ти – от работа с банкомат, през всякакви сайтове, и какво ли още не. Помагал за разработката на row-level locking, multi-version consistency – неща, въведени в Oracle в далечната версия 4. Обясни как се е случил първия ANSI стандарт за SQL
След Анди на сцената излязоха още двама от „старите кучета“ – Graham Wood (architect, real world performance) и Andrew Witkowski (architect, SQL). Разказаха своето виждане защо SQL е токова успешен – подкрепено с десетилетия опит.
След това излязоха Maria Colgan (ex-product manager of CBO) и Mohammed Zahit (team lead CBO development). Те представиха (и всъщон поканиха на сцената) целия екип от developers и QAs, който пишат cost-based optimizer. Повярвайте, това не са някакви митични същества – изглеждат като съвсем обикновени хора. Всъщност екипа е от десетина човека. Какво толкова имат да пишат, един прост математически апарат…
След тях на сцената се появиха Bryn Llewellyn и Iyer Chandrasekharn (team lead PL/SQL development) да разкажат за PL/SQL. Iyer първо работил по buffer cache, transaction recovery, после се захванал с pl/sql. Представи екип от още петима души, които разработват езика.
След това излязоха Joel Kallman и Michael Hichwa – managing APEX team (още 6 човека)
Тези двайсетина-трийсе човека са сърцето на Oracle database. Те правят всичко твоа да се случва (или не). Oracle е огромна корпорация с десетки хиляди служители (дали не бяха 180К?). Продавачи, консултанти, мениджъри, applications, ала-бала… и тези двайсетина-трийсе човека, работеши на N-тия етаж на една от красивите сгради в Redwood Shored, са сърцето. те плетат магията, която позволява всички друго да се случва.
* * *
Вечерта имаше парти на Howard street. Пееха някакви… Айде да не давам квалификации, но не ми допадна изпълнението: Empire of the Sun.
Аз постоях половин-един час, колкото да похапна. После се прибрах в хотела да си подсмърчат и кихам на топло