четверг, 25 марта 2010 г.
1z0-043 сдан!
Долго я тянул с ним, если бы не сгорающий ваучер, то еще бы протянул.
Ура!!!
понедельник, 22 марта 2010 г.
The Most Popular Articles and Downloads of 2009
1. Installing Oracle Enterprise Manager 10g Grid Control Rel 5 on Oracle Database 11g and Linux, by Mike Revitt
2. High-Performance Oracle JDBC Programming, by Yuli Vasiliev
3. Oracle RMAN Backups: Pushing the "Easy" Button, by Porus Homi Havewala (Oracle ACE Director)
4. Tom Kyte: On Dynamic Sampling (from Oracle Magazine)
5. Scripting Oracle RMAN Commands (from Oracle Magazine), by Arup Nanda (Oracle ACE Director)
6. Oracle Enterprise Manager Grid Control Architecture for Very Large Sites, by Porus Homi Havewala (Oracle ACE Director)
7. Taking an Oracle ADF Application from Design to Reality, by Chris Muir (Oracle ACE Director) and Penny Cookson (Oracle ACE)
8. Tom Kyte: On Constraints, Metadata, and Truth (from Oracle Magazine)
9. High Performance and Availability with Oracle RAC and PHP, by John Lim
10. Oracle ADF Development Essentials, by John Stegeman (Oracle ACE Director)
Перепечатано с The Most Popular Articles and Downloads of 2009
пятница, 25 сентября 2009 г.
Репликация: если случилась беда :)
Поэтому сделал execute DBMS_DEFER_SYS.EXECUTE_ERROR(null,'my_host');
Перезапустить все ошибочные транзакции с пунктом назначения my_host
Можно было бы и DBMS_DEFER_SYS.DELETE_ERROR(null,null); чтобы удалить все на всех направлениях, а не перезапускать.
Вот теперь все хорошо! Теперь все ладненько!
среда, 18 июня 2008 г.
Total Recall или Вспомнить всё! (Часть 1)
Я сразу вспоминаю случай из собственной практики, когда изучив логику бизнес-приложения, нерадивые сотрудники одной фирмы легко перебрасывали продажи (уже после их завершения) с одного покупателя на другого, изменяя, таким образом, задолженности этих клиентов перед фирмой. Этот "переброс" ничему в принципе не противоречил и допускался системой - ну решил клиент оформить все на другое юр.лицо, но никак не отслеживался. Когда мы предложили разработчикам системы начать отслеживать подобные операции, они разумно ответили, что "на каждый роток не накинешь платок" - и что нельзя программировать исходя из предположения, что люди начнут воровать. Самым логичным в той ситуации казалось просто поставить триггер на изменения нужных полей одной таблицы. Это один из вариантов в данном случае, но он лишен возможности централизованного управления - вы должны помнить, где у вас стоят триггера, чего и куда пишут. Да и наличие большого их количества сказывается на производительности. Другой вариант решения проблем с отслеживанием изменения данных - написание соответствующей функциональности со своим интерфейсом, своими таблицами и т.п. Но это сильно удорожает разработку любой системы - это раз. Доступ к таблицам изменения данных мы контролировать не можем - администратор системы может их легко изменить - это два. Да и если у вас в организации несколько баз и десятки приложений, то все это начнет рано или поздно вас утомлять - это три. Третий вариант, решения сторонних разработчиков для анализа REDO логов позволяет нам загрузить измененные данные в какую-нибудь отдельную базу данных, но мы лишаемся возможности работать с текущими данными, делать запросы, отслеживая изменения. Короче, ни один из способов в сумме не дает нам ни безопасности хранения данных, ни легкости их извлечения при этом существенно сказываясь на производительности системы.
Новая функция FLASHBACK DATA ARCHIVE входящая в опцию Oracle Total Recall позволяет преодолеть почти все эти ограничения.
Продолжение следует...
четверг, 13 марта 2008 г.
Не гонялся бы ты поп за дешевизною! (С)
И тут недавно у Sony Online Entertainment (SOE) и у представляемой фирмой Акелла русской версии игры Everquest2 начались проблемы. Невозможно играть, то персонажи пропадают, то зониться между локациями нельзя. Короче кошмар. Официальные представители ответили что-то невнятное.
«В общем, причину обнаружили - одна из основных баз данных при большом количестве игроков онлайн стала вставать "раком", при этом критичная загрузка от обычной отличается в 7-10 раз, т.е. создается ряд запросов, которые по каким-то причинам сразу не обрабатываются и пиковые моментальные нагрузки приводят к длительным лагам. В прайм-тайм это становится очевидно заметно. Сейчас инженеры SOE, которые занимаются поддержкой баз данных, пытаются решить этот вопрос. Сроки его решения я точно сказать не могу, но, надеюсь, что это произойдет в ближайшее время. Мы приносим свои извинения за временные неудобства и стараемся как можно быстрее решить этот вопрос.»
Источник: http://forums.akella-online.ru/showthread.php?t=20211
И тут на одном из компьютерных форумов, я наткнулся на чью-то реплику, мол SOE пожалело денег и мигрировало с Оракла на какую-то дешевку и теперь пожинает плоды этого. Я конечно же не поверил. Потому что, уж слишком безумным казалось мне портировать игру с одной базы данных на другую, когда она уже во всю в продакшене. Да и в менеджменте SOE тоже казалось сидят люди не глупые. Но оказалось, что это правда. Я нашел этот документ, крайне забавный. Они решили перейти на EnterpriseDB и сэкономить порядка 80% денежек. Причем так как эта база «Oracle compatible», то мол особо переписывать ничего не придется.
Ознакомиться с этим чудесными Case Study можно тут:
http://www.ameritas.co.uk/Documents/EnterpriseDB_Sony_Casestudy.pdf
В общем, не гонялся бы ты поп за дешевизною…
пятница, 9 ноября 2007 г.
Про понимание основ
«Том, однажды ко мне подошел парень и задал очень простой вопрос о базах данных и это меня очень разозлило. На этом сайте, на протяжении уже почти трех лет, я регулярно видел, как вам задавали простые и даже порой глупые вопросы. Я помечал их, чтобы затем посмотреть, как вы не них ответите. И был уверен, что вы просто разорвете человека. Но был поражен вашими ответами, во всех подробностях объясняющим человеку его вопрос, причем с большим количеством примеров. Разве вы не раздражаетесь, получая такие вопросы? И что вас заставляет отвечать на них?»
Вопрос задел, что называется, меня за живое, потому что я тоже ужасно раздражаюсь, читая порой совсем простые вопросы. Казалось бы, чего проще – набрал вопрос в Google или открыл Оракловскую библиотеку по твоей версии базы и читай мануал – там есть все. Вот же что ответил Том:
«Я люблю учить.
Понимание основ баз данных, понимание правильно этих основ (Concepts) – очень важно! Если кто-то расстроен, что не может найти ответа на простой вопрос – он уходит или решает свой вопрос по-другому. Так он, например, становится программистом, который думает, что база данных не умеет ничего делать, кроме как обрабатывать простой предикат по индексу. Транзакции – да кому они нужны, будем делать часто commit и дело с концом.
Каждый, кто знает, как это работает, будет значительно успешнее, сможет по достоинству оценить базу данных все больше и больше с течением времени, и будет использовать ее более правильно.
В конце концов, это делает мою жизнь проще.
К тому же, если я не отвечу ему, то это сделает кто-то другой, и я не знаю, какую информацию они ему дадут.
One programmer at a time...
А также в интернете никто не может увидеть, как я откидываю свое кресло назад, вскидываю мои руки вверх и кричу»
Хороший ответ. И конечно же правильный маркетинговый ход компании Oracle и наше счастье, что у нас есть Том. Мне всегда было интересно, кто помогает ему в его работе. Я искренне считал, что как минимум десяток мальчиков и девочек на побегушках работают на этот сайт, а Том поглядывает на него время от времени – слишком уж обширными кажутся его познания. В этой теме он ответил и на этот вопрос:
«бОльшую часть времени я просто отвечаю – здесь очень много повторений. Я люблю шутку, что относительно Oracle есть всего пять вопросов и ответ на первые три – «Используйте связываемые переменные».
Меньше – я ищу ответ в документации
Еще меньше – я просто звоню кому-то. Тогда мой ответ начинается словами – «Я спросил то-то и то-то и мне ответили…»
Так что, вот такой он Том Кайт, человек и пароход, вице-президент Oracle’s public sector division, читающий Айзека Азимова и «Автостопом по Галактике».
вторник, 6 ноября 2007 г.
Проапгрейдился...
Теперь сижу и размышляю, какой из двух смыслов вложили создатели в название релиза Gutsy - бесстрашный или простоватый? ха-ха
gutsy gutsy adj.
1. marked by courage and determination in the face of
difficulties or danger.
2. rough or plain; not sophisticated or refined; earthy.
Opposite of sophisticated, or refined.
На самом деле все прошлой совсем не страшно, но довольно долго. Дабы не качать много из интернета, я подсунул своему 7.04 - диск ubuntu desktop alternate 7.10 и он предложил мне проапгрейдиться до последней версии. Потом изучил пакетики, которых нет на этом диске и придется скачать из сети дополнительно. Затем я почти полтора часа сидел читал прессу, литературу, общался с коллегами - пока все эти пакеты устанавливались. Отмечу, что я ожидал худшего, но ничего страшного не случилось - все заработало сразу и на ура. Особенно порадовал Pidgin как основной IM клиент :)
Если честно, я давно не апгрейдил операционные системы производства Microsoft и допускаю, что сейчас процесс апгрейда очень прост и главное не разрушителен для пользователя. Но, насколько я помню, раньше это была почти катастрофа - проще было поставить систему заново, чем апгрейдить ее.
Короче Ubuntu 7.10 Gutsy уже стоит у меня на машине и руки чешутся поставить на нее что-нибудь типа Oracle 11g, благо how-to уже довольно много.