Автор: Жукоцкий Данила Владимирович
Тест и помощь: Исаков Азиз Ильбекович
Этот адрес e-mail защищен от спам-ботов. Чтобы увидеть его, у Вас должен быть включен Java-Script
Выражаю большую благодарность за оказанную помощь Ментов Илье Константиновичу
О Руководстве
Руководство представляет собой пошаговую инструкцию по установке, генерации базы и запуску Базы Данных Предприятия «ПАРУС 8.5.2» на сервере, работающим под управлением тридцатидвухбитной версии операционной системы Linux. Документ состоит из трёх частей: В первой части рассматривается установка на сервер дистрибутива операционной системы Linux «CentOS 4.4 х86», вторая часть описывает установку и обновление СУБД Oracle 9iR2 9.2.0.4 – 9.2.0.7, третья часть посвящена генерации базы данных предприятия «ПАРУС 8.5.2».
Общая информация
Руководство предназначено специалистам, имеющим начальные навыки работы в операционных системах семейства UNIX. Данный документ ни в коей мере не подменяет официальную документацию ОС «CentOS 4.4», Oracle и ПАРУС и создавался исключительно для облегчения процесса первоначального развёртывания программного комплекса специалистами, имеющими базовые навыки подобных работ. Рекомендуется творческое прочтение документа, слепое повторение описываемых шагов без понимания механизмов происходящего не гарантирует успеха. Тонкая настройка как самой ОС, так и Oracle не рассматриваются в этом документе.
Операционная система устанавливается в текстовом режиме, графические рабочие среды и менеджеры окон не инсталлируются, соответственно основная работа производится удалённо с рабочей станции технического специалиста, так же работающей под управлением ОС семейства UNIX. Возможна непосредственная установка с консоли самого сервера, но, поскольку часть работы проходит в графическом режиме, приходится устанавливать графическую среду в полном объёме. Авторы считают подобную инсталляцию избыточной, кроме того на некоторых серверах работа в графическом режиме может быть невозможна в связи особенностями аппаратуры. В связи с вышеизложенным данный вариант не рассматривается.
К рабочей станции специалиста предъявляются следующие требования:
-
Операционная система семейства UNIX
-
Работающая графическая среда
-
Запущенный демон (сервис в терминологии альтернативной ОС) ssh (22/tcp).
-
X сервер принимает, а межсетевой экран не блокирует подключения по X11 протоколу (6000/tcp) из локальной сети.
Дистрибутив CentOS 4.4 является бесплатным клоном широко известного дистрибутива Red Hat Enterprise Linux 4 Update 4, не имеет коммерческой технической поддержки, однако полностью легален и соответствует лицензии GPL. Правовую информацию о легальности CentOS как клона коммерческого дистрибутива Red Hat Corporation можно получить на домашней странице дистрибутива http://www.centos.org. В случае необходимости в официальной коммерческой технической поддержке рекомендуется приобретение дистрибутива Red Hat Enterprise Linux. В связи с практически полной идентичностью дистрибутивов (заменены логотипы Red Hat на логотипы CentOS и т.п.), руководство полностью подходит и для разворачивания на базе соответствующей версии Red Hat Enterprise Linux.
СУБД Oracle 9iR2 официально сертифицирована для использования в среде Red Hat Enterprise Linux 4.
Предварительная подготовка
-
Ознакомьтесь со списком совместимого оборудования по адресу http://bugzilla.redhat.com/hwcert/
-
Прочтите документацию оборудования. Если необходимо, подготовьте дискеты с модулями ядра (драйверы в терминологии альтернативной ОС) для оборудования.
-
Продумайте стратегию разбиения дисков и создания разделов файловых систем. Изучите документацию дистрибутива, рекомендации Oracle, проконсультируйтесь со специалистами, если это необходимо. В дальнейшем изменить структуру разделов и файловых систем может быть очень сложно или невозможно.
-
Определите неиспользуемый ip адрес и создайте запись на сервере DNS для прямого и обратного преобразования имени устанавливаемого сервера.
Необходимое программное обеспечение и инструкции
-
Дистрибутив CentOS 4.4 x86. Свободно доступен для загрузки с домашней страницы CentOS http://www.centos.org.
-
Дистрибутив Oracle9iR2. Доступен для загрузки зарегистрированным пользователям Metalink с http://www.oracle.com/technology/software/products/oracle9i/index.html.
-
Библиотеки совместимости Oracle compat-libcwait-2.1-1.i386.rpm и compat-oracle-rhel4-1.0-5.i386.rpm. Свободно доступны на http://oss.oracle.com/projects/compat-oracle/files/RedHat/.
-
Обновление Oracle до версии 9.2.0.7 p4163445_92070_LINUX.zip. Доступно зарегистрированным пользователям на https://metalink.oracle.com.
-
Исходный текст утилиты aio-stress.c. http://www.ghsix.com.br/allan/linux/aio-stress.c
-
Архив исходных текстов libaio-oracle-0.3.0.tar.gz объектного файла skgaio.o. Свободно доступен по адресу http://oss.oracle.com/projects/libaio-oracle/files/.
-
Заплатка, исправляющая проблемы с agentctl p3238244_9204_LINUX.zip. Доступна зарегистрированным пользователям на https://metalink.oracle.com.
-
Утилита обновления opatch p2617419_10102_GENERIC.zip. Доступна зарегистрированным пользователям на https://metalink.oracle.com.
-
Инструкция по установке Парус 8.5.2.1 http://www.parus-online.ru/content/view/56/25/
-
Неофициальная инструкция по установке Oracle http://dizwell.com/prod/node/55
Часть 1. Установка дистрибутива CentOS 4.4 х86
Общая информация
В этой части описывается процесс установки на сервер ОС «CentOS 4.4 x86». После завершения этого этапа Вы будете иметь сервер, подготовленный для установки СУБД «Oracle 9iR2».
Первоначальная установка до момента перезапуска производится в текстовом режиме интерактивно с консоли сервера. Дальнейшая настройка производится удалённо через ssh. Возможна так же интерактивная инсталляция с выводом на терминал через RS232 порт, полностью автоматическая инсталляция с использованием заранее подготовленного сценария, установка по сети с использованием PXE загрузчика, другие способы. Для получения более полной информации о способах установки и загрузки воспользуйтесь документацией дистрибутива и оборудования. После завершения данного этапа Вы получите среду, полностью готовую к разворачиванию программного обеспечения Oracle 9iR2.
Важно. Пожалуйста, не обновляйте операционную систему через интернет или с дисков обновления до полного окончания работ по данному документу. Вы всегда сможете сделать это позднее, при необходимости, имея полностью рабочий и настроенный сервер баз данных. В противном случае Вы можете столкнуться с трудностями. Единственная проблема, из за которой может потребоваться немедленное обновление – несовместимость аппаратуры Вашего сервера с ядром, используемым в CentOS 4.4 (ядро CentOS полностью идентично ядру RHEL соответствующей версии, соответственно Вы можете свериться со списком совместимого оборудования на сайте Red Hat Corporation).
Важно. Перед началом установки в BIOS сервера установите часы по времени UTС (текущее время минус Ваш часовой пояс).
1.1 Запуск среды установки
Загрузите сервер с первого диска дистрибутива CentOS 4.4 х86. В строке приглашения загрузчика напечатайте linux text, тем самым указав необходимость использования тестового интерактивного инсталлятора.
Важно. Вам может потребоваться указание дополнительных параметров ядру или инсталлятору. В этом случае воспользуйтесь интерактивной подсказкой, документацией дистрибутива или оборудования. Если необходимо установить модули для неподдерживаемого стандартным ядром оборудования, например RAID контроллера, создайте дискету с драйвером и добавьте к вышеуказанной строке параметр dd.
После загрузки ядра Вам будет предложено протестировать носитель на предмет физических дефектов. Если Вы уверены в качестве носителя, можете отказаться. После нажатия OK запустится инсталлятор Anaconda в текстовом режиме.
1.2 Подготовка к установке
Важно. Во избежание связанных с локализацией проблем в дальнейшем всюду где только можно выбирайте английский язык (установка по умолчанию). Локализацию дистрибутива рекомендуется производить позднее при необходимости.
Укажите язык, на котором с Вами будет общаться инсталлятор, выберите раскладку клавиатуры. Авторы рекомендуют воспользоваться настройками по умолчанию. Нужные раскладки также можно подключить позднее. Выберите тип инсталляции – Server.
1.3 Создание дисковых разделов, настройка загрузчика
Важно. Этот документ не описывает стратегий разбиения дисков и создания разделов, так как подобная стратегия должна быть продумана до этапа установки с учётом конкретного оборудования и ожидаемой нагрузки на сервер. Рекомендуем консультироваться с документацией Oracle и ПАРУС в этом вопросе.
Важно. При создании разделов вручную не забудьте создать раздел подкачки (swap) размером не менее 1024 mb вне зависимости от объёма установленной оперативной памяти. В противном случае возможны проблемы с запуском Oracle.
Создайте дисковые разделы и укажите точки монтирования файловых систем. При написании инструкции мы использовали автоматическое создание разделов по умолчанию. Подобный вариант, естественно, не является оптимальным.
Укажите дополнительные параметры ядру, модулям и загрузчику.
Важно. Если Вам необходимо передавать ядру или модулям дополнительные параметры, не забудьте ввести их на данном этапе. Смотрите документацию к оборудованию и дистрибутиву.
Можно защитить загрузчик паролем. Если Вам это необходимо – смотрите документацию к дистрибутиву.
Важно. Всегда устанавливайте загрузчик в MBR, если не используете загрузчики от альтернативных ОС. Иначе не удастся загрузиться.
1.4 Настройка сети, безопасности, локализации, часового пояса, установка пароля root
Важно. Oracle не работает на машинах, получающих адрес через DHCP. Вам необходимо использовать статический ip адрес, заранее настроить прямое и обратное преобразование имени машины на сервере DNS.
Откажитесь от использования DHCP, задайте адрес и маску подсети. Укажите адрес шлюза, DNS серверов. Укажите короткое имя сервера (без доменной части). Отключите межсетевой экран (firewall).
Важно. Межсетевой экран – безусловно полезная и нужная функция. Однако при настройке по умолчанию он блокирует внешние подключения к Oracle и работу протокола X11.
Авторы предполагают, что сервер баз данных не должен иметь каких либо принимающих подключения демонов, кроме служб Oracle и ssh для удалённого управления, а также быть доступным из интернет. При надлежащей настройке ОС нет необходимости в использовании встроенного программного межсетевого экрана. Для действительно серьёзной защиты авторы рекомендуют воспользоваться внешними аппаратными межсетевыми экранами. Тем не менее, после специальной настройки возможно использование Oracle совместно с включённым программным межсетевым экраном. Воспользуйтесь документацией к дистрибутиву и Oracle.
Важно. Отключите поддержку SELinux (Security Enhanced Linux).
SELinux – замечательная и очень мощная технология, сводящая к минимуму шансы злоумышленника нарушить работу сервера и скомпрометировать данные используя ошибки программного обеспечения ОС (ошибки переполнения буфера, стека и т.п.) снаружи и изнутри, а так же воспользоваться программными закладками (rootkits). К сожалению Oracle 9iR2 не устанавливается и не работает в среде SELinux.
Оставьте выбор локализации дистрибутива по умолчанию (English). Возможно дополнительно установить русскую локализацию сохранив английскую основной, но авторы не видят необходимости в этом.
Важно. Укажите часовой пояс, не забыв указать, что системные часы отсчитывают время в UTС.
Для UNIX систем важна правильная настройка и равномерный (без бросков в прошлое или будущее) ход системных часов. UNIX системы, в отличие от ОС семейства Windows, предполагают что системное время выставлено в UTC (единое координированное время) и производят пересчёт на текущий часовой пояс средствами ядра. Только в этом случае возможен автоматический переход на зимнее или летнее время. Потенциально эта тонкость – причина возникновения множества неожиданных проблем. Кроме того, для поддержания равномерного и синхронного хода часов на всех машинах в сети настоятельно рекомендуется иметь настроенной на каком либо сервере в Вашей сети службу точного времени и обеспечить синхронизацию с ней посредством демона ntp (man ntpd).
Задайте пароль суперпользователя системы (root).
1.5 Выбор пакетов, инсталляция, перезагрузка
Авторы предлагают минимально необходимый набор групп пакетов. У Вас могут быть другие предпочтения. Установку остальных необходимых для запуска инсталлятора и работы Oracle индивидуальных пакетов мы будем делать вручную после перезагрузки. Подобная стратегия позволит Вам иметь систему, содержащую минимум лишних пакетов.
Выбирайте группы пакетов:
-
Text-based Internet (может понадобиться для чтения документации в html формате).
-
Server Configuration Tools.
-
Development Tools.
-
Legacy Software Development.
-
Administration Tools.
Остальные группы пакетов на Ваше усмотрение.
После окончания установки не забудьте вынуть диск.
1.6 Специфическая часть подготовки к установке СУБД Oracle
На этом этапе мы выполняем действия специфические для конкретного дистрибутива и конкретной инсталляции. После окончания перезапуска Вы можете сразу подключаться с помощью ssh к установленному серверу с Вашей рабочей станции. Ваше личное присутствие в холодной аппаратной более не требуется.
Важно. Далее по тексту подразумевается, что вся работа на сервере производится удалённо в сеансе ssh. Действия, совершаемые в терминале рабочей станции будут особо отмечены. Так же особо будет отмечено, под какой учётной записью производятся действия. Для действий, совершаемых локально на рабочей станции специалиста, права суперпользователя (root) не требуются.
Начинаем удалённый сеанс ssh в локальной терминальной программе. Подключаемся к серверу в качестве суперпользователя (иные учётные записи, позволяющие интерактивный вход, в данный момент на сервере отсутствуют). В терминале вашей рабочей станции введите:
ssh root@имя_сервера
Важно. Дальнейшая работа производится в сеансе root, если особо не отмечено иное.
Чтобы не засорять домашний каталог суперпользователя, создаём в нём каталог orasoft, который будет использоваться как хранилище необходимых файлов и пакетов.
mkdir /root/orasoft
Важно. Часть работ мы выполняем с правами суперпользователя (root). По сравнению с учётной записью администратора в альтернативной системе, учётная запись root в UNIX подобных ОС (если не используются SELinux подобные технологии) обладает абсолютными полномочиями, поэтому есть риск полностью разрушить систему при ошибочных действиях. При выполнении повседневных работ в дальнейшем рекомендуется использование учётной записи с ограниченными правами совместно с запретом возможности удалённого входа для суперпользователя root. При необходимости выполнения действий, требующих прав суперпользователя, рекомендуется использовать технологию sudo (man sudo).
Создайте внутри orasoft каталог packages, который будет использоваться для облегчения установки отдельных пакетов из дистрибутива.
mkdir /root/orasoft/packages
Нам необходимы следующие пакеты из дистрибутива, которые мы для удобства должны скопировать в каталог packages.
Первый диск:
-
xorg-x11-deprecated-libs-6.8.2-1.EL.13.37.i386.rpm
-
switchdesk-4.0.6-3.noarch.rpm
Второй диск:
-
xorg-x11-6.8.2-1.EL.13.37.i386.rpm
-
ORBit-0.5.17-14.i386.rpm
-
fonts-xorg-base-6.8.2-1.EL.noarch.rpm
-
gnome-libs-1.4.1.2.90-44.1.i386.rpm
-
gtk+-1.2.10-33.i386.rpm
-
imlib-1.9.13-23.i386.rpm
-
xinitrc-4.0.14.3-1.noarch.rpm
-
compat-db-4.1.25-9.i386.rpm
-
gdk-pixbuf-0.22.0-17.el4.3.i386.rpm
-
libpng10-1.0.16-1.i386.rpm
Третьий диск:
-
alsa-lib-devel-1.0.6-5.RHEL4.i386.rpm
-
libaio-devel-0.3.105-2.i386.rpm
-
audiofile-devel-0.2.6-1.el4.1.i386.rpm
-
libjpeg-devel-6b-33.i386.rpm
-
esound-devel-0.2.35-2.i386.rpm
-
libtiff-devel-3.6.1-12.i386.rpm
-
fontconfig-devel-2.2.3-7.centos4.i386.rpm
-
libungif-devel-4.1.3-1.el4.2.i386.rpm
-
freetype-devel-2.1.9-4.el4.i386.rpm
-
openmotif21-2.1.30-11.RHEL4.6.i386.rpm
-
xorg-x11-deprecated-libs-devel-6.8.2-1.EL.13.37.i386.rpm
-
libaio-0.3.105-2.i386.rpm
-
xorg-x11-devel-6.8.2-1.EL.13.37.i386.rpm
Четвёртый диск:
-
glib-devel-1.2.10-15.i386.rpm
-
gtk+-devel-1.2.10-33.i386.rpm
-
ORBit-devel-0.5.17-14.i386.rpm
-
gnome-libs-devel-1.4.1.2.90-44.1.i386.rpm
-
imlib-devel-1.9.13-23.i386.rpm
Вставьте в дисковод и смонтируйте первый дистрибутивный диск.
mount /media/cdrom
Скопируйте пакеты из каталога /media/cdrom/CentOS/RPMS в каталог /root/orasoft/packages.
Важно. Команды нужно вводить одной строкой.
cp /media/cdrom/CentOS/RPMS/xorg-x11-deprecated-libs-6.8.2-1.EL.13.37.i386.rpm /root/orasoft/packages/
cp /media/cdrom/CentOS/RPMS/switchdesk-4.0.6-3.noarch.rpm /root/orasoft/packages/
cd ~
umount /media/cdrom
Смонтируйте второй диск аналогичным образом
mount /media/cdrom
cp /media/cdrom/CentOS/RPMS/xorg-x11-6.8.2-1.EL.13.37.i386.rpm /root/orasoft/packages/
cp /media/cdrom/CentOS/RPMS/ORBit-0.5.17-14.i386.rpm /root/orasoft/packages/
cp /media/cdrom/CentOS/RPMS/fonts-xorg-base-6.8.2-1.EL.noarch.rpm /root/orasoft/packages/
cp /media/cdrom/CentOS/RPMS/gnome-libs-1.4.1.2.90-44.1.i386.rpm /root/orasoft/packages/
cp /media/cdrom/CentOS/RPMS/gtk+-1.2.10-33.i386.rpm /root/orasoft/packages/
cp /media/cdrom/CentOS/RPMS/imlib-1.9.13-23.i386.rpm /root/orasoft/packages/
cp /media/cdrom/CentOS/RPMS/xinitrc-4.0.14.3-1.noarch.rpm /root/orasoft/packages/
cp /media/cdrom/CentOS/RPMS/compat-db-4.1.25-9.i386.rpm /root/orasoft/packages/
cp /media/cdrom/CentOS/RPMS/gdk-pixbuf-0.22.0-17.el4.3.i386.rpm /root/orasoft/packages/
cp /media/cdrom/CentOS/RPMS/libpng10-1.0.16-1.i386.rpm /root/orasoft/packages/
Демонтируйте второй диск и монтируйте третий.
umount /media/cdrom
mount /media/cdrom
cp /media/cdrom/CentOS/RPMS/alsa-lib-devel-1.0.6-5.RHEL4.i386.rpm /root/orasoft/packages/
cp /media/cdrom/CentOS/RPMS/libaio-devel-0.3.105-2.i386.rpm /root/orasoft/packages/
cp /media/cdrom/CentOS/RPMS/audiofile-devel-0.2.6-1.el4.1.i386.rpm /root/orasoft/packages/
cp /media/cdrom/CentOS/RPMS/libjpeg-devel-6b-33.i386.rpm /root/orasoft/packages/
cp /media/cdrom/CentOS/RPMS/esound-devel-0.2.35-2.i386.rpm /root/orasoft/packages/
cp /media/cdrom/CentOS/RPMS/libtiff-devel-3.6.1-12.i386.rpm /root/orasoft/packages/
cp /media/cdrom/CentOS/RPMS/fontconfig-devel-2.2.3-7.centos4.i386.rpm /root/orasoft/packages/
cp /media/cdrom/CentOS/RPMS/libungif-devel-4.1.3-1.el4.2.i386.rpm /root/orasoft/packages/
cp /media/cdrom/CentOS/RPMS/freetype-devel-2.1.9-4.el4.i386.rpm /root/orasoft/packages/
cp /media/cdrom/CentOS/RPMS/openmotif21-2.1.30-11.RHEL4.6.i386.rpm /root/orasoft/packages/
cp /media/cdrom/CentOS/RPMS/xorg-x11-deprecated-libs-devel-6.8.2-1.EL.13.37.i386.rpm /root/orasoft/packages/
cp /media/cdrom/CentOS/RPMS/libaio-0.3.105-2.i386.rpm /root/orasoft/packages/
cp /media/cdrom/CentOS/RPMS/xorg-x11-devel-6.8.2-1.EL.13.37.i386.rpm /root/orasoft/packages/
Демонтируйте третьий, монтируйте четвёртый.
umount /media/cdrom
mount /media/cdrom
cp /media/cdrom/CentOS/RPMS/glib-devel-1.2.10-15.i386.rpm /root/orasoft/packages/
cp /media/cdrom/CentOS/RPMS/gtk+-devel-1.2.10-33.i386.rpm /root/orasoft/packages/
cp /media/cdrom/CentOS/RPMS/ORBit-devel-0.5.17-14.i386.rpm /root/orasoft/packages/
cp /media/cdrom/CentOS/RPMS/gnome-libs-devel-1.4.1.2.90-44.1.i386.rpm /root/orasoft/packages/
cp /media/cdrom/CentOS/RPMS/imlib-devel-1.9.13-23.i386.rpm /root/orasoft/packages/
Демонтируйте диск.
umount /media/cdrom
Установите пакеты.
rpm -ivh /root/orasoft/packages/*.rpm
Важно. Наличие или отсутствие тех или иных пакетов в установленном виде на Вашей системе зависит от того, какие группы пакетов Вы выбирали при инсталляции.
Возможно что в Вашем случае установка прервётся с неудовлетворёнными зависимостями, в этом случае разыщите нужные пакеты на дистрибутивных дисках и скопируйте в /root/orasoft/packages/ . Часть пакетов может быть уже установлена в системе, тогда просто удалите ненужные файлы пакетов из /root/orasoft/packages/ . В конце концов установка должна пройти полностью.
Теперь необходимо установить специфичные для Oracle пакеты:
-
compat-libcwait-2.1-1.i386.rpm
-
compat-oracle-rhel4-1.0-5.i386.rpm
Положите эти пакеты куда нибудь в отдельный пустой каталог на своей рабочей станции (предполагается, что сервер не имеет выхода в интернет), создайте на сервере каталог /root/orasoft/compat-oracle, скопируйте туда пакеты совместимости с помощью scp (man scp) и установите.
mkdir /root/orasoft/compat-oracle
scp ваш_логин@рабочая_станция:/где/лежат/* /root/orasoft/compat-oracle/
touch /etc/ld.so.preload
rpm -ivh /root/orasoft/compat-oracle/*.rpm
На этом закончился специфический для конкретного дистрибутива этап установки. Дальнейшие действия одинаковы для любого диалекта Linux и более подробно описаны в документации Oracle.
Часть 2. Установка СУБД Oracle 9iR2
Общая информация
В этой части описывается процесс установки и обновления СУБД Oracle 9iR2, генерация тестовой базы, обеспечение автоматического запуска и монтирования баз Oracle. После завершения описанных ниже процедур Вы будете иметь сервер, подготовленный для генерации баз програмного пакета «ПАРУС».
Авторы рекомендуют творчески подходить к прочтению данного раздела, так как ниже описывается упрощённая процедура установки, не рассчитанная на дальнейшее масштабирование. Все значения параметров и переменных, используемые в этой части документа, являются некими усреднёнными рекомендациями. Выбор оптимальных значений индивидуален, зависит от результатов тестирования под нагрузкой и специфических особенностей оборудования.
Важно. В любом случае не воспринимайте указанные параметры и переменные как некие универсальные значения. Используйте документацию Oracle, ПАРУС, консультируйтесь со специалистами. Тонкая настройка как самой ОС, так и Oracle не рассматриваются в этом документе.
2.1 Подготовительный этап
На этом этапе нам необходимо создать группы и непривилегированную учётную запись пользователя, от имени которых будет проходить установка, администрирование и дальнейшая работа процессов Oracle, структуру каталогов, в которую будет происходить инсталляция, определить переменные окружения создаваемого пользователя, выполнить подстройку параметров ядра ОС.
Важно. Далее по тексту подразумевается, что вся работа на сервере производится удалённо в сеансе ssh. Действия, совершаемые в терминале рабочей станции специалиста будут особо отмечены. Так же особо будет отмечено, под какой именно учётной записью на сервере производятся действия. Для действий, совершаемых локально на рабочей станции специалиста, права суперпользователя (root) не требуются.
В больших организациях часто используется функциональное разделение обязанностей технического персонала: один специалист является администратором самой СУБД, другой администратором баз внутри СУБД. Пользователь, принадлежащий группе oinstall, выполняет развёртывание, обновление, техническое обслуживание самой СУБД, член группы dba занимается созданием, настройкой, резервным копированием, восстановлением работающих в СУБД баз. Смысл подобного разделения кроется в различных правах доступа внутри системы для этих групп. Член группы oinstall не может украсть, удалить или повредить базу (не имеет необходимых прав), член группы dba не может вмешаться в работу системы или самой СУБД, но может манипулировать данными. В этом руководстве мы предполагаем что администратор СУБД и администратор баз – это одно и то же лицо, но, создав две группы, сохраняем возможность разграничить права персонала в дальнейшем.
Важно. Использование в качестве имени пользователя слова oracle может оказаться нежелательным из соображений безопасности. Выбор какого нибудь менее одиозного имени никак не скажется на работоспособности СУБД, но при этом слегка затруднит идентификацию сервера как мишени для сетевых атак.
Создаём группы oinstall и dba, создаем непривилегированного пользователя oracle, от имени которого будет выполняться установка, администрирование и работа процессов Oracle, делаем его членом обеих групп, назначаем ему пароль.
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -g oinstall -G dba oracle
passwd oracle
Создаём структуру каталогов для инсталляции Oracle. Следуя «Стандарту Иерархии Файловых Систем Linux» (Linux FHS), все программы с закрытым исходным кодом должны размещаться в каталоге /opt. Назначаем владельцами каталогов пользователя oracle и членов группы oinstall.
mkdir /opt/oracle
mkdir /opt/oracle/92
chown -R oracle:oinstall /opt/oracle
В документации Oracle рекомендуется придерживаться Оптимальной Гибкой Архитектуры (Optimal Flexible Architecture, OFA) для создания структуры домашних каталогов Oracle. Создаются специальные точки монтирования, используются глубокие деревья каталогов, например /u01/app/oracle/product/9.2.0.4/db и т.п. Это безусловно имеет свой смысл, но решать Вам, исходя из выбранной Вами стратегии размещения файловых систем. В данной документации авторы придерживаются более простой схемы. Если возникнет необходимость установить более новую версию Oracle параллельно со старой, можно будет создать каталог /opt/oracle/10 и произвести туда установку.
Теперь необходимо отредактировать файл, содержащий переменные окружения для пользователя oracle, так как СУБД работает от этого пользователя. Мы используем для этого простой текстовый редактор nano.
Важно. Не забывайте всегда использовать ключ -w для редактора nano при редактировании файлов конфигурации. Он отключает автоматический перенос длинных строк.
Имя пользователя oracle является полноценной учётной записью системы и используется для интерактивной работы. Соответственно у этого пользователя автоматически создался домашний каталог /home/oracle. Каталог /opt/oracle используется как место для инсталляции СУБД, место для хранения баз, но он не является домашним каталогом пользователя oracle.
nano -w /home/oracle/.bashrc
В конец этого файла мы добавляем следующие переменные окружения:
ORACLE_SID=fkts92
ORACLE_BASE=/opt/oracle
ORACLE_HOME=/opt/oracle/92
PATH=$ORACLE_HOME/bin:$PATH:.
LD_ASSUME_KERNEL=2.4.19
export ORACLE_SID ORACLE_BASE ORACLE_HOME PATH LD_ASSUME_KERNEL
Обратите внимание на значение переменной окружения LD_ASSUME_KERNEL.
В CentOS 4.4 используется ядро поколения 2.6, в котором реализована современная технология управления потоками NPTL. Она имеет значительно более высокую производительность чем использовавшаяся в ядрах семейства 2.4 технология LINUXTHREADS. К сожалению, Oracle 9iR2 не поддерживает NPTL. Экспортируя в качестве значения переменной LD_ASSUME_KERNEL номер версии ядра предыдущего поколения, мы заставляем ядро и базовые библиотеки glibc работать в режиме совместимости. ORACLE_SID=tst92 это SID тестовой базы, мы его изменим в третьем разделе руководства.
Теперь нам нужно изменить некоторые параметры по умолчанию ядра Linux. Мы делаем это путём редактирования файла /etc/sysctl.conf. Добавим в него следующие строки:
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
Важно. Файл должен обязательно заканчиваться пустой строкой! Смысл этих значений разъясняется в документации к ядру и Oracle.
И теперь применим эти параметры.
/sbin/sysctl -p
Обратите внимание, параметры применяются на лету, перезагружаться не надо.
2.2 Завершающий этап подготовки к установке Oracle
Инсталляция возможна как с дисков, так и с архивов, предварительно полученных через интернет. В этой инструкции мы используем последний вариант. Сложите архивы в какой нибудь пустой каталог на Вашей рабочей станции, мы доставим их на сервер через scp.
Запустите на Вашей рабочей станции ещё один терминал и установите ssh подключение к серверу как пользователь oracle.
Важно. Не завершайте сеанс root на первом терминале. Нам потребуются оба терминала. Не путайте их! Дальнейшая работа производится от имени oracle! Мы особо отметим необходимость выполнения команд в сеансе root в дальнейшем.
ssh oracle@имя_сервера
Чтобы не засорять домашний каталог пользователя oracle, создайте каталог oinstall. Мы будем складывать туда всё, что потребуется для инсталляции. Копируем архивы, распаковываем дистрибутив, удаляем архивы.
Важно. Команды нужно вводить одной строкой.
mkdir /home/oracle/oinstall
mkdir /home/oracle/oinstall/cd9204
scp ваш_логин@рабочая_станция:/где/лежат/* /home/oracle/oinstall/cd9204/
cd /home/oracle/oinstall/cd9204/
gunzip *.gz
cpio -idm < ship_9204_linux_disk1.cpio
cpio -idm < ship_9204_linux_disk2.cpio
cpio -idm < ship_9204_linux_disk3.cpio
rm -f *.cpio
А теперь время воспользоваться волшебством UNIX. Поскольку инсталляция выполняется в графическом режиме, а на сервере отсутствует полноценная графическая среда, мы перебросим вывод окон инсталлятора на Вашу рабочую станцию по протоколу X11. Протокол SSH, через который мы работаем с сервером, способен инкапсулировать протокол X11, при этом используются технологии сжатия и шифрования потока. Эта технология называется ForwardX11. Используя эту возможность, Вы могли бы безопасно и комфортно установить Oracle, создавать базы и управлять ими через штатные графические утилиты откуда угодно через интернет. Хоть из дома. К сожалению, по непонятной для авторов причине свежие версии инсталляторов Oracle отображают окна без содержимого при использовании инкапсуляции. Наверно, это сделано специально, чтобы специалисты не ленились. Поэтому на этапе инсталляции мы используем старый метод прямого соединения клиента и сервера по протоколу X11 (6000/tcp). Генерируемый при этом траффик слишком велик для низкоскоростных каналов, кроме того это небезопасно. Пропускной способности любой локальной сети достаточно для комфортной работы.
Объявляем в сеансе oracle переменную DISPLAY, которая будет указывать на Вашу рабочую станцию.
export DISPLAY=рабочая_станция:0.0
Необходимо разрешить Вашей рабочей станции принимать подключения от сервера по протоколу X11. Запустите новый терминальный сеанс на Вашей рабочей станции и исполните в нём следующую команду:
Важно. Следующая команда выполняется на рабочей станции специалиста, а не на сервере!
xhost +имя_сервера
Теперь в сеансе ssh от имени oracle исполните команду xvidtune.
xvidtune
Если вывод команды похож на нижеследующий, значит всё в порядке и можно продолжать следовать документу.
Vendor: SNY, Model: CPD-E220E
Num hsync: 1, Num vsync: 1
hsync range 0: 30.00 - 85.00
vsync range 0: 48.00 - 120.00
X Error of failed request: XF86VidModeClientNotLocal
Major opcode of failed request: 134 (XFree86-VidModeExtension)
Minor opcode of failed request: 5 (XF86VidModeLockModeSwitch)
Serial number of failed request: 20
Current serial number in output stream: 21
Если же он выглядит как показано ниже, прервитесь и решите проблему.
Xlib: connection to "рабочая_станция:0.0" refused by server
Xlib: No protocol specified
2.3 Установка Oracle 9iR2 9.2.0.4
В терминале с сеансом ssh от имени пользователя oracle запустите инсталлятор.
/home/oracle/oinstall/cd9204/Disk1/runInstaller
Запуск занимает некоторое время, при этом в терминал никаких сообщений поначалу не выводится. Будьте терпеливы. Рано или поздно перед Вами всплывёт окно инсталлятора. В это время в терминал могут выводиться сообщения инсталлятора об отсутствующих шрифтах, их можно проигнорировать. Дальнейшие шаги почти не отличаются от инсталляции Oracle на альтернативную ОС.
Важно. Не забудьте указать группу oinstall, члены которой имеют права на установку и обновления СУБД.
Важно. Инсталлятор попросит Вас выполнить два сценария на языке оболочки в сеансе root. После их завершения нажмите Continue.
Выбирайте тип инсталляции Software only. Нет необходимости создавать базу сейчас, мы сделаем это позднее. Непосредственно перед окончанием процесса установки Вас попросят выполнить сценарий от пользователя root. Сценарий спросит у Вас путь к локальному каталогу исполняемых программ:
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Нажатием Enter подтвердите выбор по умолчанию. После завершения выполнения сценария (это занимает некоторое время) нажмите ОК в окошке и завершите инсталляцию. Спустя непродолжительное время после окончания работы установщика запустится Enterprise Manager Console, но у нас пока нет баз и сейчас он нам не нужен, закройте его.
2.4 Обновление Oracle 9iR2 до версии 9.2.0.7
На этом этапе мы исправим agentctl и обновим Oracle 9.2.0.4 до версии 9.2.0.7. Обновления Oracle являются кумулятивными. Нам обязательно в дальнейшем потребуется утилита opatch. Она содержится в архиве p2617419_10102_GENERIC.zip.
Важно. Все дальнейшие действия выполняются в сеансе oracle. Мы особо отметим необходимость выполнения команд в сеансе root в дальнейшем.
В сеансе ssh от имени oracle создаем каталог /home/oracle/oinstall/patches/opatch10102/, копируем туда архив, переходим внутрь этого каталога, распаковываем и удаляем архив.
Важно. Команды нужно вводить одной строкой.
mkdir /home/oracle/oinstall/patches/opatch10102/
scp ваш_логин@рабочая_станция:/где/лежит/p2617419_10102_GENERIC.zip /home/oracle/oinstall/opatch10102/
cd /home/oracle/oinstall/patches/opatch10102/
unzip *
rm *.zip
Теперь просто копируем в /opt/oracle/92/ каталог Opatch.
cp -R /home/oracle/oinstall/patches/opatch10102/Opatch /opt/oracle/92/
Решаем проблему с agentctl. Заплатка содержится в архиве p3238244_9204_LINUX.zip.
scp ваш_логин@рабочая_станция:/где/лежит/p3238244_9204_LINUX.zip /home/oracle/oinstall/patches/
cd /home/oracle/oinstall/patches/
unzip *
rm *.zip
Накладываем заплатку.
cd /home/oracle/oinstall/patches/3238244
/opt/oracle/92/OPatch/opatch apply
cd /opt/oracle/92/network/lib/
make -f ins_oemagent.mk install
После того как завершилось связывание можно обновить Oracle 9iR2 до версии 9.2.0.7. Нам потребуется файл p4163445_92070_LINUX.zip.
mkdir /home/oracle/oinstall/patches/9207
scp ваш_логин@рабочая_станция:/где/лежит/p4163445_92070_LINUX.zip /home/oracle/oinstall/patches/9207/
cd /home/oracle/oinstall/patches/9207/
unzip *
rm *.zip
Запускаем инсталлятор.
/home/oracle/oinstall/patches/9207/Disk1/runInstaller
Спустя непродолжительное время всплывёт окно инсталлятора. Процесс обновления похож на процесс установки. В качестве каталога для установки выбирайте /opt/oracle/92.
Важно. Непосредственно перед окончанием процесса установки Вас попросят выполнить сценарий от пользователя root.
В терминале с сеансом ssh от имени root выполните сценарий:
/opt/oracle/92/root.sh
Сценарий спросит у Вас путь к локальному каталогу исполняемых программ:
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Нажатием Enter подтвердите выбор по умолчанию. Сценарий предложит переписать созданные в этом каталоге на этапе инсталляции Oracle 9.2.0.4 файлы. Вариант по умолчанию – не переписывать (n), нам нужно нажимать клавишу (y). После завершения выполнения сценария (это занимает некоторое время) нажмите ОК в окошке.
Важно. Это обновление устанавливает новую версию Oracle Universal Installer. Он располагается в каталоге /opt/oracle/92/oui/bin/ и называется runInstaller. В каталоге /opt/oracle/oui/bin/ находится старая версия. Для добавления или удаления компонентов Oracle всегда пользуйтесь свежей версией!
На этом мы завершили обновление Oracle, дальше мы включим в Oracle асинхронный ввод-вывод.
2.5 Включение асинхронного ввода-вывода (AIO, или async_io)
Oracle 9.2.0.7 и ядро нашей операционной системы поддерживает технологию асинхронного ввода-вывода (AIO), но по умолчанию она не активирована. Во время создания девятой версии многие дистрибутивы Linux либо не поддерживали эту технологию, либо она была не готова для промышленного использования. В настоящее время использование AIO не вызывает никаких проблем и существенно ускоряет работу, особенно под нагрузкой. Если Вы не желаете по каким либо причинам использовать эту технологию, просто не включайте её в настройках базы. Для обеспечения правильной работы AIO нам придётся собрать из исходных текстов более свежий объектный файл skgaio.o и повторно выполнить связывание библиотек Oracle. Не беспокойтесь, это совсем не сложно. Нам потребуется архив исходных текстов библиотеки, он называется libaio-oracle-0.3.0.tar.gz, а так же простенькая тестовая утилита aio-stress для проверки работоспособности AIO в операционной системе.
Важно. Все дальнейшие действия выполняются в сеансе root!
Сейчас мы заберём архив с Вашей рабочей станции, распакуем его и удалим сам архив.
scp ваш_логин@рабочая_станция:/где/лежит/libaio-oracle-0.3.0.tar.gz /root/orasoft/
cd /root/orasoft
tar xfz libaio-oracle-0.3.0.tar.gz
rm *.gz
Забираем исходный текст утилиты, aio-stress.c
scp ваш_логин@рабочая_станция:/где/лежит/aio-stress.c /root/orasoft/
Собираем утилиту.
gcc -Wall -laio -lpthread -o aio-stress aio-stress.c
Испытываем операционную систему.
/root/orasoft/aio-stress -s 300 -m -S -l -L -t 10 file1
Если что-то не так, будут сообщения об ошибках или произойдёт аварийный останов (kernel trap). Переходим в каталог libaio-oracle-0.3.0, настраиваем, собираем и устанавливаем объектный файл, добавляем путь к библиотекам.
Важно. Обратите внимание на символы >> в строке echo. Это значит, что мы добавляем вывод echo в конец файла, а не заменяем его содержимое новым.
cd /root/orasoft/libaio-oracle-0.3.0
./configure
make install
echo /usr/local/lib >> /etc/ld.so.conf
ldconfig
Тестируем.
/root/orasoft/libaio-oracle-0.3.0/lio_test /root/orasoft/file1 /root/orasoft/file2
Удаляем созданные во время тестов файлы.
rm /root/orasoft/file1 /root/orasoft/file2
Переименовываем оригинальный объектный файл, чтобы сохранить его на всякий случай, и копируем новый. После этого изменяем ему владельца.
mv /opt/oracle/92/rdbms/lib/skgaio.o /opt/oracle/92/rdbms/lib/skgaio.orig
cp /root/orasoft/libaio-oracle-0.3.0/libaio-oracle.o /opt/oracle/92/rdbms/lib/skgaio.o
chown oracle:oinstall /opt/oracle/92/rdbms/lib/skgaio.o
Важно. Все дальнейшие действия выполняются в сеансе oracle. Мы особо отметим необходимость выполнения команд в сеансе root в дальнейшем.
В сеансе oracle включаем AIO и повторно связываем библиотеки Oracle.
cd /opt/oracle/92/rdbms/lib/
make -f ins_rdbms.mk async_on
make -f ins_rdbms.mk ioracle
Важно. В дальнейшем при генерации баз вы можете указывать disk_asynch_io=true и filesystemio_options=asynch в параметрах.
2.6 Генерация тестовой базы
На этом этапе мы настроим Listener и сгенерируем тестовую базу.
Важно. В альтернативной операционной системе для настройки Listener используется Network Configuration Assistant, который не работает в Linux. Мы используем Network Configuration Manager, более гибкий и богатый возможностями. Он запускается командой netmgr.
Важно. Все дальнейшие действия выполняются в сеансе oracle. Мы особо отметим необходимость выполнения команд в сеансе root в дальнейшем.
Поскольку мы больше не будем запускать runInstaller, можно наконец использовать технологию проброса протокола X11 через ssh. Использовать голый X11 несовременно и небезопасно. И Вы, если захотите, сможете управлять базами откуда угодно где есть интернет, если сетевой администратор разрешит Вам подключаться к серверу снаружи по протоколу ssh (22/tcp). Убедитесь, что в файле конфигурации клиента ssh /etc/ssh/ssh_config на Вашей рабочей станции присутствует строчка «ForwardX11 yes» и переподключитесь к серверу пользователем oracle. Или продолжайте работать как раньше, всё вышеописанное лишь рекомендация...
Настраиваем Listener. В сеансе oracle наберите команду netmgr. Всплывёт окно Network Configuration Manager.
Разверните ветку Local -> Listeners и с помощью зелёного плюса вверху слева добавьте Listener.
Нажмите на Add Address.
Значения по умолчанию выглядят вполне приемлемыми.
Нам нужны static declaration instanсes, иначе не будет работать Enterprise Manager. Сверху посередине, там, где Listening Locations, выберите Database Services.
Нажмите Add Database, укажите Global Database Name и SID.
В меню File слева сверху выберите Save Network Configuration.
Закрываем окно, запускаем Listener в сеансе oracle.
lsnrctl start
Listener настроен и запущен. Можно запускать Database Configuration Assistant командой dbca и генерировать тестовую базу.
В All Initialization Parameters включите disk_asynch_io=true. Параметр filesystemio_options=asynch мы установим позже с помощью Enteprise Manager.
Послле нажатия OK начнётся генерация базы и перед Вами всплывёт пустое окно. Это нормально, будьте терпеливы.
Задайте пароли для SYS и SYSTEM.
Попробуем подключиться к базе с помощью sqlplus.
sqlplus "/ as sysdba"
SQL> select count(*) from dba_tables;
COUNT(*)
----------
867
SQL>
Всё в порядке. Пробуем Enteprise Manager.
oemapp console
Подключаемся к базе.
Нажмите правой клавишей мыши на имени базы справа и в выпадающем меню выберите View/Edit Details...
Теперь нажмите All Initialization Parameters и укажите filesystemio_options=asynch. После нажатия Apply можно отключаться. Теперь нужно написать сценарий SysV для автоматического монтирования и размонтирования баз при запуске и останове операционной системы.
2.7 Автоматизация запуска-останова
Предыдущие версии Oracle хранили настройки баз в файлах initSID.ora. Текущая версия использует файлы настроек spfileSID.ora. Для того, чтобы обеспечить обратную совместимость и добиться работоспособности сценариев запуска и останова баз Oracle нужно создавать initSID.ora ссылающиеся на соответствующие spfileSID.ora.
Сначала создаём initSID.ora для нашей тестовой базы.
от пользователя ORCLE
echo "spfile= /opt/oracle/92/dbs/spfileFKTS92.ora" > \ /opt/oracle/92/dbs/initFKTS92.ora
Редактируем /etc/oratab.
nano -w /etc/oratab
Разрешите автоматический запуск и монтирование нашей тестовой базы, заменив последний символ в строке, описывающей нашу базу с «N» на «Y». Попробуйте запустить и остановить базу в полуавтоматическом режиме командами dbstart и dbshut. Если всё работает, напишем сценарий SysV init.
Важно. Все дальнейшие действия выполняются в сеансе root!
В сеансе root выполните:
nano -w /etc/init.d/dbora
Текст сценария:
#!/bin/bash
#
# /etc/init.d/dbora
#
# Startup script for Oracle databases
export ORACLE_HOME=/opt/oracle/92
export ORACLE_SID=tst92
export PATH=$PATH:$ORACLE_HOME/bin
case "$1" in
start)
su oracle -c "$ORACLE_HOME/bin/lsnrctl start"
echo -n "Starting Oracle: "
su oracle -c $ORACLE_HOME/bin/dbstart
touch /var/lock/oracle
echo "OK"
;;
stop)
echo -n "Shutdown Oracle: "
su oracle -c $ORACLE_HOME/bin/dbshut
rm -f /var/lock/oracle
su oracle -c "$ORACLE_HOME/bin/lsnrctl stop"
echo "OK"
;;
*)
echo "Usage: 'basename $0' start|stop"
exit 1
esac
exit 0
Делаем его исполняемым и создаём символические связи для соответствующих уровней запуска.
chmod 775 /etc/init.d/dbora
ln -s /etc/init.d/dbora /etc/rc.d/rc0.d/K10dbora
ln -s /etc/init.d/dbora /etc/rc.d/rc1.d/K10dbora
ln -s /etc/init.d/dbora /etc/rc.d/rc2.d/K10dbora
ln -s /etc/init.d/dbora /etc/rc.d/rc3.d/S90dbora
ln -s /etc/init.d/dbora /etc/rc.d/rc4.d/S90dbora
ln -s /etc/init.d/dbora /etc/rc.d/rc5.d/S90dbora
ln -s /etc/init.d/dbora /etc/rc.d/rc6.d/K10dbora
Пробуем запускать и останавливать командами /etc/init.d/dbora start и /etc/init.d/dbora stop.
2.8 Установке Парус 8.5.2.1
Важно. Все дальнейшие действия выполняются в сеансе ORACLE
1. Создать базу как указано в п.2.6. И при создании указать следующие параметры:
character set CL8MSWIN1251
NATIONAL CHARACTER SET UTF8
Далее создать базу.
2. Запускаем Enteprise Manager.
oemapp console
Нажимаем правой клавишей мыши на имени базы справа и в выпадающем меню выберите View/Edit Details. Теперь нажмите All Initialization Parameters и укажите следующие параметры:
db_block_size = 8192
db_files = 1024
db_name = PARUS
global_names = TRUE
db_file_multiblock_read_count = 16
shared_pool_size = 100M
java_pool_size = 80M
log_buffer = 16777216
log_checkpoint_interval = 10000
log_checkpoint_timeout = 1800
max_dump_file_size = 16777216
max_enabled_roles = 30
open_cursors = 600
processes = 165
remote_login_passwordfile = EXCLUSIVE
compatible = 9.2.0.0.0
UNDO_MANAGEMENT =auto
UNDO_TABLESPACE = UNDOTBS
PGA_AGGREGATE_TARGET = 25M
db_cache_size = 80M
filesystemio_options=asynch
Незабуте нажать «Apply». Создадим табличные пространство «PARUS», «PARUS_LOB» и поправим «ТЕМР», «INDX» укажите размер и включите авто расширение (примерно 500М).
echo "spfile= /opt/oracle/92/dbs/spfileFKTS92.ora" > \
/opt/oracle/92/dbs/initFKTS92.ora
3.Создаем пользователя PARUS и выдаем ему гранты:
sqlplus "/ as sysdba"
create user PARUS identified by qwas
default tablespace PARUS
temporary tablespace TEMP100;
grant DBA to PARUS with admin option;
@$ORACLE_HOME/xdk/admin/xmlgen;
grant CREATE SESSION,
ALTER SESSION,
CREATE PROCEDURE,
CREATE SEQUENCE,
CREATE SNAPSHOT,
CREATE PUBLIC SYNONYM,
DROP PUBLIC SYNONYM,
CREATE VIEW,
CREATE TABLE,
CREATE TRIGGER,
CREATE ANY CONTEXT TO "PARUS";
create public synonym V_$SESSION for V_$SESSION;
grant select on V_$SESSION to public;
create public synonym XMLGEN for XMLGEN;
grant execute on XMLGEN to public;
grant execute on XMLDOM to public;
grant execute on XMLPARSER to public;
4.Используем для настройки LISTENER и tnsnames «Net Configuration Assistant»
netca
Проверяем что listner и tnsnames созданы корректно. В консоли:
tnsping parus (компьютер под OS WINDOWS)
Если в ответ нет ошибок, то в принципе все работает нормально.
ВАЖНО. Надо настроить tnsnames на компьютер под OS WINDOWS!
5. Установите программу «Парус» , заходим в "Администратор" и "Запускаем создание базы"(компьютер под OS WINDOWS).
|