From: Дмитрий Ганенко <dima@apk-inform.com.>
Newsgroups: email
Date: Mon, 23 Jun 2006 14:31:37 +0000 (UTC)
Subject: Установка Oracle 10g Express Edition на FreeBSD 5.4-RELEASE
Установка Oracle 10g Express Edition на FreeBSD 5.4-RELEASE
Пролог
Невозможно сдержать слезу умиления, читая пресс-релиз корпорации Oracle:
"REDWOOD SHORES, штат Калифорния, Москва, 10 ноября 2005 г. - Корпорация
Oracle объявила о выпуске Oracle Database 10g Express Edition
(Oracle Database XE), бесплатной версии всемирно известной СУБД для
разработчиков. Бета-версию Oracle Database XE можно загрузить с Web-сайта
корпорации.
Новая редакция СУБД Oracle Database 10g предоставляет возможность
разработчикам ПО, администраторам баз данных и всем, кто впервые использует
технологии Oracle, получить бесплатную базовую версию СУБД, позволяющую
начать разработку и развертывание собственных приложений. Кроме того, эта
версия предлагается бесплатно независимым разработчикам программного
обеспечения и поставщикам оборудования для свободной дистрибуции или
встраивания в собственные приложения.
"Oracle Database XE предоставляет разработчикам, администраторам БД,
независимым поставщикам ПО и студентам возможность бесплатно изучать, а
также создавать и развертывать собственные разработки на базе самой
передовой СУБД, - говорит Томас Кайт (Thomas Kyte), вице-президент
Oracle. - Никто еще не предлагал подобного - теперь каждый имеет возможность
начать свою работу с самым лучшим решением на рынке".
Вот и самый передовой Oracle стал ближе к простому народу. Но ближе, как
всегда, к пользователям Windows и Linux. Все лучшее - детям! А мы чем хуже?
Ну что ж, студенты, разработчики и администраторы, приступим?
1. Выступаем в роли kernel hackers
Прежде всего, нужно немножко пропатчить исходники ядра. Несколько дней
пытаясь запустить oracle, используя поначалу ktrace - kdump, а потом
догадавшись заглянуть в порты и с радостью обнаружив там linux_kdump,
используя последний, ковыряясь в исходниках ядра, часто почесывая репу,
при всем при этом иногда произнося негромкие ругательства в адрес
программистов корпорации Oracle, разработчиков FreeBSD, Линуса Торвальдса,
Ларри Эллисона ну и само-собой Билла Гейтса (хотя он-то тут причем?), видя
в страшных снах как подросткового вида Демоны с вилами дерутся с Пингвинами
в красных чепчиках и ненадолго примиряясь, идут бить Окна по всей Силиконовой
долине, удалось выяснить, что таки да - ядро надо подрихтовать.
Первый патч исправляет ошибку в эмуляторе Linux в функции linux_times
Второй патч для linprocfs. Не спрашивайте меня, почему нужно именно так,
определено это было опытным путем и путем подсматривания в SuSE Linux 9.2
(а как же оно у них работает-то?).
Третий патч исправляет bug (а может быть и фичу) в коде pseudofs (нужен
для linprocfs). Дело в том, что если смонтировать linprocfs и выполнить
такую программку, то функция read прочитает не 4, как ее просили, а на
один меньше, то есть, как нетрудно подсчитать, 3 байта: