OracleALS40: различия между версиями

Материал из ALT Linux Wiki
(перенос в категорию Admin)
м (для СП8 c9f2 не вытягивалась автоматически зависимость libnsl1)
 
(не показано 15 промежуточных версий 10 участников)
Строка 1: Строка 1:
[[Категория:Admin]]
== Текущая версия Oracle 11.2 на ALT 8.0 (8.1) Server  и ALT Linux 7.0 СПТ ==
{{MovedFromFreesourceInfo|AltLinux/Sisyphus/Admin/OracleALS40}}
После загрузки rpm пакета с сайта [http://www.oracle.com/technetwork/ru/database/express-edition/overview/index.html Oracle]
выполнить установку следующим образом:
<pre>
# apt-get install oracle-xe-11.2.0-1.0.x86_64.rpm
</pre>
 
Возможно нужно будет установить зависимость - пакет libnsl1
 
Далее всё настраивается по инструкции Oracle как для RedHat/CentOS
 
 
----
 
 
 
 
== Установка Oracle DBMS на ALT Linux Server 4.0 VPS (ALT Linux KDesktop 6.0.1) ==
 
В этой статье рассказывается про установку 32-х битной версии Oracle в 32-х битную систему (или OpenVZ контейнер). 
При установке 64-х битной версии Oracle в 64-х битную систему понадобятся 32-х битные пакеты.  Как их приготовить рассказано [[OracleALS40/x86_64|здесь]].


== Установка Oracle DBMS на ALTLinux Server 4.0 VPS ==
Проверялись версии:
Проверялись версии:
* Oracle Database 11g Release 2 (11.2.0.1.0) (см. замечания)
* Oracle Database 11g Release 1 (11.1.0.6.0)
* Oracle Database 11g Release 1 (11.1.0.6.0)
* Oracle Database 10g Release 2 (10.2.0.1.0)
* Oracle Database 10g Release 2 (10.2.0.1.0)
<blockquote>Предупреждение!
 
Данный вариант установки СУБД Oracle не может быть рекомендован для рабочих серверов. Цель данного HOWTO выявить все необходимые зависимости ПО от Oracle и возможные «подводные камни» при его установке. Поэтому весь процесс установки сделан в изолированной среде виртуального сервера с минимально возможным набором установленных пакетов.</blockquote>
: '''Предупреждение!''' Данный вариант установки СУБД Oracle не может быть рекомендован для рабочих серверов. Цель данного HOWTO выявить все необходимые зависимости ПО от Oracle и возможные «подводные камни» при его установке. Поэтому весь процесс установки сделан в изолированной среде виртуального сервера с минимально возможным набором установленных пакетов.
<blockquote>Исходные данные: установленный и настроенный ALTLinux Server 4.0 со всеми официальными обновлениями. Дистрибутив Oracle Database 10g или 11g доступный для скачивания на [http://www.oracle.com/technology/software/products/database/index.html Oracle Technology Network].
 
'''Рекомендуется использовать пакет [http://www.sisyphus.ru/srpm/oracle-preinstall/get oracle-preinstall] версии не ниже чем 0.4-alt7'''
: '''Исходные данные:''' установленный и настроенный ALT Linux Server 4.0 (ALT Linux KDesktop 6.0.1) со всеми официальными обновлениями. Дистрибутив Oracle Database 10g или 11g доступный для скачивания на [http://www.oracle.com/technology/software/products/database/index.html Oracle Technology Network].
</blockquote>
 
: '''Рекомендуется''' использовать пакет [http://www.sisyphus.ru/srpm/oracle-preinstall/get oracle-preinstall] версии не ниже чем 0.4-alt7 ([http://git.altlinux.org/srpms/o/oracle-preinstall.git git] пакета).


=== Подготовка виртуального сервера (VPS) ===
=== Подготовка виртуального сервера (VPS) ===
==== Настройка хост-системы. ====
 
==== Настройка хост-системы ====
 
Прежде всего, подготовим хост-систему. Отредактируем файл '''/etc/vz/dists/scripts/functions''' и укажем в нем правильные значения для переменных '''$FAKEGATEWAY''' и '''$FAKEGATEWAYNET'''. Значения этих переменных зависят от настроек вашей сети.
Прежде всего, подготовим хост-систему. Отредактируем файл '''/etc/vz/dists/scripts/functions''' и укажем в нем правильные значения для переменных '''$FAKEGATEWAY''' и '''$FAKEGATEWAYNET'''. Значения этих переменных зависят от настроек вашей сети.
Установите правильные параметры ядра в файле '''/etc/sysctl.conf''' хост-системы (см. '''/usr/share/doc/oracle-preinstall-<versoin>/README''').
Установите правильные параметры ядра в файле '''/etc/sysctl.conf''' хост-системы (см. '''/usr/share/doc/oracle-preinstall-<versoin>/README''').
Отредактируйте файл '''/etc/sysconfig/oracle''' установив правильные значения для переменных '''$ORACLE_BASE''' и '''$ORACLE_HOME'''.
Отредактируйте файл '''/etc/sysconfig/oracle''' установив правильные значения для переменных '''$ORACLE_BASE''' и '''$ORACLE_HOME'''.


==== Создание виртуального сервера ====
==== Создание виртуального сервера ====
Через Web-интерфейс альтератора создаем новый профиль oracle10g-database. В список обязательных пакетов этого профиля добавляем:
Через Web-интерфейс альтератора создаем новый профиль oracle10g-database. В список обязательных пакетов этого профиля добавляем:
----
----
Строка 36: Строка 61:
* xorg-x11-xfs
* xorg-x11-xfs
----
----
Замечу, что профиль для виртуального сервера включает в себя только те пакеты, которые непосредственно используется в процессе установки или работы Oracle. Все остальные пакеты будут установлены по зависимостям вышеперечисленных.
Замечу, что профиль для виртуального сервера включает в себя только те пакеты, которые непосредственно используется в процессе установки или работы Oracle. Все остальные пакеты будут установлены по зависимостям вышеперечисленных.
[[Категория:Enterprise Software]]
На основе получившегося профиля, создайте шаблон с тем же именем oracle10g-database (дабы не путаться). Шаблон представляет из себя полный набор устанавливаемых пакетов, которые остаётся только развернуть в нужном каталоге. Создание шаблона занимает некоторое время и зависит от производительности машины. Вы можете посмотреть текущее состояние шаблона, кликнув на соответствующую ссылку.
На основе получившегося профиля, создайте шаблон с тем же именем oracle10g-database (дабы не путаться). Шаблон представляет из себя полный набор устанавливаемых пакетов, которые остаётся только развернуть в нужном каталоге. Создание шаблона занимает некоторое время и зависит от производительности машины. Вы можете посмотреть текущее состояние шаблона, кликнув на соответствующую ссылку.
Когда шаблон будет готов, создайте новый виртуальный сервер с именем oracle и IP-адресом отличающимся от адреса хост-системы.
Когда шаблон будет готов, создайте новый виртуальный сервер с именем oracle и IP-адресом отличающимся от адреса хост-системы.
Отредактируйте таблицу системных ресурсов своего виртуального сервера. Ниже приведены минимальные значения некоторых параметров:
Отредактируйте таблицу системных ресурсов своего виртуального сервера. Ниже приведены минимальные значения некоторых параметров:
----
----
* PRIVVMPAGES="1050000:1145430"
* PRIVVMPAGES="1050000:1145430"
Строка 52: Строка 83:
* DISKSPACE="2097152:2306868"
* DISKSPACE="2097152:2306868"
----
----
Теперь запустите VPS
Теперь запустите VPS
<tt> # vzctl start 101</tt>
<pre>
# vzctl start 101
</pre>
 
<blockquote>Примечание.
<blockquote>Примечание.
В процессе создания шаблона VPS мы получили пустой каталог пользователя oracle. Это не совсем удобно. Поэтому, чтобы иметь более комфортное окружение, можете скопировать настройки bash из домашнего каталога пользователя root.
В процессе создания шаблона VPS мы получили пустой каталог пользователя oracle. Это не совсем удобно. Поэтому, чтобы иметь более комфортное окружение, можете скопировать настройки bash из домашнего каталога пользователя root.
<tt> # cp -a /root/.bash* /root/.i18n oracle/</tt>
<pre>
<tt> # chown oracle:oinstall /home/oracle/.bash* /home/oracle/.i18n</tt></blockquote>
# cp -a /root/.bash* /root/.i18n oracle/
# chown oracle:oinstall /home/oracle/.bash* /home/oracle/.i18n
</pre>
</blockquote>


==== Подготовка сервера VNC ====
==== Подготовка сервера VNC ====
При установке и настройке Oracle нам понадобится X-сервер для запуска некоторых графических утилит. В этом случае мы можем воспользоваться либо X-сервером рабочей станции, подключившись к серверу через ssh с ключиком -X, либо установив X-сервер прямо внутри VPS. Удалённый доступ к такому X-серверу можно будет обеспечить с помощью VNC. Опишем второй вариант так как вариант с ssh во-первых, не требует дополнительных действий, а во-вторых, он применим только если у вас есть достаточно надёжное соединение с сервером. Например локальная сеть.
При установке и настройке Oracle нам понадобится X-сервер для запуска некоторых графических утилит. В этом случае мы можем воспользоваться либо X-сервером рабочей станции, подключившись к серверу через ssh с ключиком -X, либо установив X-сервер прямо внутри VPS. Удалённый доступ к такому X-серверу можно будет обеспечить с помощью VNC. Опишем второй вариант так как вариант с ssh во-первых, не требует дополнительных действий, а во-вторых, он применим только если у вас есть достаточно надёжное соединение с сервером. Например локальная сеть.
Таким образом, мы можем обойтись одним только сервером VNC не устанавливая SSH внутри виртуального сервера, что и было отмечено на этапе подготовки профиля VPS.
Таким образом, мы можем обойтись одним только сервером VNC не устанавливая SSH внутри виртуального сервера, что и было отмечено на этапе подготовки профиля VPS.
Внутри VPS получите права пользователя oracle и создайте конфигурацию для VNC
 
<tt> # su - oracle</tt>
Внутри VPS получите права пользователя oracle и создайте конфигурацию для VNC:
<tt> $ vncserver</tt>
 
<tt> You will require a password to access your desktops.</tt>
<pre>
<tt> Password: </tt>
# su - oracle
<tt> Verify:  </tt>
$ vncserver
<tt> xauth:  creating new authority file /home/oracle/.Xauthority</tt>
You will require a password to access your desktops.
<tt> New 'X' desktop is database.example.net:1</tt>
Password:  
<tt> Creating default startup script /home/oracle/.vnc/xstartup</tt>
Verify:   
<tt> Starting applications specified in /home/oracle/.vnc/xstartup</tt>
xauth:  creating new authority file /home/oracle/.Xauthority
<tt> Log file is /home/oracle/.vnc/db.example.org:1.log</tt>
New 'X' desktop is database.example.net:1
Creating default startup script /home/oracle/.vnc/xstartup
Starting applications specified in /home/oracle/.vnc/xstartup
Log file is /home/oracle/.vnc/db.example.org:1.log
</pre>
 
Конфигурация готова. Остановите VNC-сервер. В дальнейшем мы будем запускать его только как сервис
Конфигурация готова. Остановите VNC-сервер. В дальнейшем мы будем запускать его только как сервис
<tt> $ vncserver -kill :1</tt>
 
<tt> $ exit</tt>
<pre>
$ vncserver -kill :1
$ exit
</pre>
 
Отредактируйте файл '''/etc/sysconfig/vncservers''' примерно таким образом:
Отредактируйте файл '''/etc/sysconfig/vncservers''' примерно таким образом:
<pre>
VNCSERVERS="1:oracle"
VNCSERVERS="1:oracle"
</pre>
Запустите сервисы xfs и vncserver
Запустите сервисы xfs и vncserver
<tt> # service xfs start</tt>
 
<tt> # service vncserver start</tt>
<pre>
# service xfs start
# service vncserver start
</pre>
 
Включайте эти сервисы только когда вам нужно воспользоваться графическими утилитами Oracle. В штатном режиме эксплуатации эти сервисы не нужны и их можно выключать.
Включайте эти сервисы только когда вам нужно воспользоваться графическими утилитами Oracle. В штатном режиме эксплуатации эти сервисы не нужны и их можно выключать.
Подключитесь к имеющемуся серверу с помощью vncviewer с соответствующим паролем.
Подключитесь к имеющемуся серверу с помощью vncviewer с соответствующим паролем.
<tt> $ vncviewer db.example.org:1</tt>
 
<tt> Connected to RFB server, using protocol version 3.3</tt>
<pre>
<tt> Performing standard VNC authentication</tt>
$ vncviewer db.example.org:1
<tt> Password: </tt>
Connected to RFB server, using protocol version 3.3
<tt> Authentication successful</tt>
Performing standard VNC authentication
Password:  
Authentication successful
</pre>


=== Запуск Oracle ===
=== Запуск Oracle ===
==== Установка базы данных ====
==== Установка базы данных ====
В процессе установки у вас обязательно возникнет ошибка линковки. Не пугайтесь, к сожалению это нормально. Данная ошибка связана с тем, что Oracle не обеспечивает правильный порядок линковки, что по умолчанию запрещено в дистрибутивах ALT начиная с v4.0. Мы не будем исправлять ошибки Oracle а просто обойдём их, разрешив сборку в неправильной последовательности. Для этого нам необходимо передать линковщику параметр '''--no-as-needed'''. Очевидно было бы использовать для этого переменную '''$LDFLAGS'''. Однако тут проявляется ещё одна особенность Oracle. Во всех make-файлах переменная '''$LDFLAGS''' переопределяется без учёта предыдущего значения. Таким образом, этой переменной воспользоваться не получится. Мне удалось вычислить что переменная '''$COMPSOBJS''' нигде не инициализируется. Поэтому нужный нам параметр мы можем передать через эту переменную, что мы и сделаем перед запуском инсталятора. Только в одном месте это не будет работать — в скрипте '''$ORACLE_HOME/bin/genorasdksh'''. Вот здесь-то инсталятор и выдаст ошибку. Это место придётся исправлять на ходу. Патч с исправлениями есть в документации к пакету oracle-preinstall.
 
В процессе установки у вас обязательно возникнет ошибка линковки. Не пугайтесь, к сожалению это нормально. Данная ошибка связана с тем, что Oracle не обеспечивает правильный порядок линковки, что по умолчанию запрещено в дистрибутивах ALT начиная с v4.0.
 
Мы не будем исправлять ошибки Oracle а просто обойдём их, разрешив сборку в неправильной последовательности. Для этого нам необходимо передать линковщику параметр '''--no-as-needed'''. Очевидно было бы использовать для этого переменную '''$LDFLAGS'''. Однако тут проявляется ещё одна особенность Oracle. Во всех make-файлах переменная '''$LDFLAGS''' переопределяется без учёта предыдущего значения. Таким образом, этой переменной воспользоваться не получится. Мне удалось вычислить что переменная '''$COMPSOBJS''' нигде не инициализируется. Поэтому нужный нам параметр мы можем передать через эту переменную, что мы и сделаем перед запуском инсталятора.
 
Только в одном месте это не будет работать — в скрипте '''$ORACLE_HOME/bin/genorasdksh'''. Вот здесь-то инсталятор и выдаст ошибку. Это место придётся исправлять на ходу. Патч с исправлениями есть в документации к пакету oracle-preinstall.
 
Прежде всего необходимо определить переменные '''$ORACLE_BASE''' и '''$ORACLE_HOME'''. Возьмём их значения из файла '''/etc/sysconfig/oracle'''
Прежде всего необходимо определить переменные '''$ORACLE_BASE''' и '''$ORACLE_HOME'''. Возьмём их значения из файла '''/etc/sysconfig/oracle'''
<tt> $ . /etc/sysconfig/oracle</tt>
 
<tt> $ export ORACLE_BASE ORACLE_HOME</tt>
<pre>
$ . /etc/sysconfig/oracle
$ export ORACLE_BASE ORACLE_HOME
</pre>
 
Для правильной работы gcc установите переменную '''$COMPSOBJS''':
Для правильной работы gcc установите переменную '''$COMPSOBJS''':
<tt> $ export COMPSOBJS="-Wl,--no-as-needed&quot;</tt>
 
<pre>
$ export COMPSOBJS="-Wl,--no-as-needed"
</pre>
 
Запустите инсталятор Oracle и выполняйте установку в соответствии с документацией. После заполнения всех форм, начнётся процесс копирования файлов и затем линковки. В процессе линковки возникнет ошибка приблизительно следующего содержания:
Запустите инсталятор Oracle и выполняйте установку в соответствии с документацией. После заполнения всех форм, начнётся процесс копирования файлов и затем линковки. В процессе линковки возникнет ошибка приблизительно следующего содержания:
<div style="display: inline; color: red;">Error in invoking target 'all_no_orcl' of makefile $ORACLE_HOME/rdbms/lib/ins_rdbms.mk. See log file for details.</div>
<div style="display: inline; color: red;">Error in invoking target 'all_no_orcl' of makefile $ORACLE_HOME/rdbms/lib/ins_rdbms.mk. See log file for details.</div>
При появлении этого сообщения поправьте файл '''$ORACLE_HOME/bin/genorasdksh''' воспользовавшись редактором или утилитой patch.
При появлении этого сообщения поправьте файл '''$ORACLE_HOME/bin/genorasdksh''' воспользовавшись редактором или утилитой patch.
<tt> $ cd $ORACLE_HOME</tt>
 
<tt> $ patch -p0 < /usr/share/doc/oracle-preinstall-&lt;version&gt;/Oracle10g_ALT40.patch</tt>
<pre>
$ cd $ORACLE_HOME
$ patch -p0 < /usr/share/doc/oracle-preinstall-&lt;version&gt;/Oracle10g_ALT40.patch
</pre>
 
После этого вернитесь в программу установки и нажмите кнопку Retry.
После этого вернитесь в программу установки и нажмите кнопку Retry.


==== Дальнейшие действия ====
==== Дальнейшие действия ====
После установки сервера Oracle необходимо настроить listener с помощью программы '''netca''' и потом создать базу данных программой '''dbca'''. Последним шагом будет редактирование файла '''/etc/oratab''' где в соответствующей строке нужно будет последним параметром указать Y. Это будет означать что данную базу данных нужно запускать при старте системы.
После установки сервера Oracle необходимо настроить listener с помощью программы '''netca''' и потом создать базу данных программой '''dbca'''. Последним шагом будет редактирование файла '''/etc/oratab''' где в соответствующей строке нужно будет последним параметром указать Y. Это будет означать что данную базу данных нужно запускать при старте системы.
Когда это будет сделано, можно стартовать базу данных и listener
Когда это будет сделано, можно стартовать базу данных и listener
<tt> # service oracle-db start</tt>
 
<tt> # service oracle-lsnr start</tt>
<pre>
# service oracle-db start
# service oracle-lsnr start
</pre>
 
При необходимости включите эти сервисы в начальную загрузку системы
При необходимости включите эти сервисы в начальную загрузку системы
<tt> # chkconfig oracle-db on</tt>
 
<tt> # chkconfig oracle-lsnr on</tt>
<pre>
# chkconfig oracle-db on
# chkconfig oracle-lsnr on
</pre>
 
=== ALT Linux KDesktop 6.0.1 + Oracle Database 11g Release 2 (11.2.0.1.0)===
после всех манипуляций и установок, у вас может не запускаться DBConsole. Это связано с тем, что не совпадают временные зоны.
Для того, чтобы это исправить необходимо проделать следующие манипуляции:
1. Установить последний "[http://www.oracle.com/technetwork/java/javase/tzupdater-readme-136440.html Timezone Updater Tool]" на используемую Oracle'ом Java;
2. Установить патч 12949905 на сервер Oracle;
 
 
{{Category navigation|title=Версия 4.0|category=Версия 4.0}}
{{Category navigation|title=ALT Linux Office Server|category=ALT Linux Office Server}}
{{Category navigation|title=Oracle|category=Oracle}}
{{Category navigation|title=ПО уровня предприятия|category=Enterprise Software|sortkey={{SUBPAGENAME}}}}
[[Категория:Admin]]
{{Category navigation|title=Системному администратору|category=Admin|sortkey={{SUBPAGENAME}}}}

Текущая версия от 08:23, 8 апреля 2022

Текущая версия Oracle 11.2 на ALT 8.0 (8.1) Server и ALT Linux 7.0 СПТ

После загрузки rpm пакета с сайта Oracle выполнить установку следующим образом:

# apt-get install oracle-xe-11.2.0-1.0.x86_64.rpm

Возможно нужно будет установить зависимость - пакет libnsl1

Далее всё настраивается по инструкции Oracle как для RedHat/CentOS





Установка Oracle DBMS на ALT Linux Server 4.0 VPS (ALT Linux KDesktop 6.0.1)

В этой статье рассказывается про установку 32-х битной версии Oracle в 32-х битную систему (или OpenVZ контейнер). При установке 64-х битной версии Oracle в 64-х битную систему понадобятся 32-х битные пакеты. Как их приготовить рассказано здесь.

Проверялись версии:

  • Oracle Database 11g Release 2 (11.2.0.1.0) (см. замечания)
  • Oracle Database 11g Release 1 (11.1.0.6.0)
  • Oracle Database 10g Release 2 (10.2.0.1.0)
Предупреждение! Данный вариант установки СУБД Oracle не может быть рекомендован для рабочих серверов. Цель данного HOWTO выявить все необходимые зависимости ПО от Oracle и возможные «подводные камни» при его установке. Поэтому весь процесс установки сделан в изолированной среде виртуального сервера с минимально возможным набором установленных пакетов.
Исходные данные: установленный и настроенный ALT Linux Server 4.0 (ALT Linux KDesktop 6.0.1) со всеми официальными обновлениями. Дистрибутив Oracle Database 10g или 11g доступный для скачивания на Oracle Technology Network.
Рекомендуется использовать пакет oracle-preinstall версии не ниже чем 0.4-alt7 (git пакета).

Подготовка виртуального сервера (VPS)

Настройка хост-системы

Прежде всего, подготовим хост-систему. Отредактируем файл /etc/vz/dists/scripts/functions и укажем в нем правильные значения для переменных $FAKEGATEWAY и $FAKEGATEWAYNET. Значения этих переменных зависят от настроек вашей сети.

Установите правильные параметры ядра в файле /etc/sysctl.conf хост-системы (см. /usr/share/doc/oracle-preinstall-<versoin>/README). Отредактируйте файл /etc/sysconfig/oracle установив правильные значения для переменных $ORACLE_BASE и $ORACLE_HOME.

Создание виртуального сервера

Через Web-интерфейс альтератора создаем новый профиль oracle10g-database. В список обязательных пакетов этого профиля добавляем:


  • altlinux-release
  • apt
  • apt-conf-server
  • etcnet
  • libstdc++
  • net-tools
  • openssh-server (опционально)
  • oracle-preinstall
  • rootfiles (опционально)
  • startup
  • twm (выбран как наиболее простой оконный менеджер с минимумом зависимостей)
  • vnc-server
  • xorg-x11-server-common
  • xorg-x11-xfs

Замечу, что профиль для виртуального сервера включает в себя только те пакеты, которые непосредственно используется в процессе установки или работы Oracle. Все остальные пакеты будут установлены по зависимостям вышеперечисленных. На основе получившегося профиля, создайте шаблон с тем же именем oracle10g-database (дабы не путаться). Шаблон представляет из себя полный набор устанавливаемых пакетов, которые остаётся только развернуть в нужном каталоге. Создание шаблона занимает некоторое время и зависит от производительности машины. Вы можете посмотреть текущее состояние шаблона, кликнув на соответствующую ссылку.

Когда шаблон будет готов, создайте новый виртуальный сервер с именем oracle и IP-адресом отличающимся от адреса хост-системы.

Отредактируйте таблицу системных ресурсов своего виртуального сервера. Ниже приведены минимальные значения некоторых параметров:


  • PRIVVMPAGES="1050000:1145430"
  • SHMPAGES="65536:65536"
  • NUMPROC="192:192"
  • PHYSPAGES="0:2147483647"
  • VMGUARPAGES="6144:2147483647"
  • OOMGUARPAGES="6144:2147483647"
  • TCPSNDBUF="327680:532480"
  • TCPRCVBUF="638976:1048576"
  • NUMFILE="2048:2048"
  • DISKSPACE="2097152:2306868"

Теперь запустите VPS

# vzctl start 101

Примечание.

В процессе создания шаблона VPS мы получили пустой каталог пользователя oracle. Это не совсем удобно. Поэтому, чтобы иметь более комфортное окружение, можете скопировать настройки bash из домашнего каталога пользователя root.

# cp -a /root/.bash* /root/.i18n oracle/
# chown oracle:oinstall /home/oracle/.bash* /home/oracle/.i18n

Подготовка сервера VNC

При установке и настройке Oracle нам понадобится X-сервер для запуска некоторых графических утилит. В этом случае мы можем воспользоваться либо X-сервером рабочей станции, подключившись к серверу через ssh с ключиком -X, либо установив X-сервер прямо внутри VPS. Удалённый доступ к такому X-серверу можно будет обеспечить с помощью VNC. Опишем второй вариант так как вариант с ssh во-первых, не требует дополнительных действий, а во-вторых, он применим только если у вас есть достаточно надёжное соединение с сервером. Например локальная сеть.

Таким образом, мы можем обойтись одним только сервером VNC не устанавливая SSH внутри виртуального сервера, что и было отмечено на этапе подготовки профиля VPS.

Внутри VPS получите права пользователя oracle и создайте конфигурацию для VNC:

# su - oracle
$ vncserver
You will require a password to access your desktops.
Password: 
Verify:   
xauth:  creating new authority file /home/oracle/.Xauthority
New 'X' desktop is database.example.net:1
Creating default startup script /home/oracle/.vnc/xstartup
Starting applications specified in /home/oracle/.vnc/xstartup
Log file is /home/oracle/.vnc/db.example.org:1.log

Конфигурация готова. Остановите VNC-сервер. В дальнейшем мы будем запускать его только как сервис

$ vncserver -kill :1
$ exit

Отредактируйте файл /etc/sysconfig/vncservers примерно таким образом:

VNCSERVERS="1:oracle"

Запустите сервисы xfs и vncserver

# service xfs start
# service vncserver start

Включайте эти сервисы только когда вам нужно воспользоваться графическими утилитами Oracle. В штатном режиме эксплуатации эти сервисы не нужны и их можно выключать. Подключитесь к имеющемуся серверу с помощью vncviewer с соответствующим паролем.

$ vncviewer db.example.org:1
Connected to RFB server, using protocol version 3.3
Performing standard VNC authentication
Password: 
Authentication successful

Запуск Oracle

Установка базы данных

В процессе установки у вас обязательно возникнет ошибка линковки. Не пугайтесь, к сожалению это нормально. Данная ошибка связана с тем, что Oracle не обеспечивает правильный порядок линковки, что по умолчанию запрещено в дистрибутивах ALT начиная с v4.0.

Мы не будем исправлять ошибки Oracle а просто обойдём их, разрешив сборку в неправильной последовательности. Для этого нам необходимо передать линковщику параметр --no-as-needed. Очевидно было бы использовать для этого переменную $LDFLAGS. Однако тут проявляется ещё одна особенность Oracle. Во всех make-файлах переменная $LDFLAGS переопределяется без учёта предыдущего значения. Таким образом, этой переменной воспользоваться не получится. Мне удалось вычислить что переменная $COMPSOBJS нигде не инициализируется. Поэтому нужный нам параметр мы можем передать через эту переменную, что мы и сделаем перед запуском инсталятора.

Только в одном месте это не будет работать — в скрипте $ORACLE_HOME/bin/genorasdksh. Вот здесь-то инсталятор и выдаст ошибку. Это место придётся исправлять на ходу. Патч с исправлениями есть в документации к пакету oracle-preinstall.

Прежде всего необходимо определить переменные $ORACLE_BASE и $ORACLE_HOME. Возьмём их значения из файла /etc/sysconfig/oracle

$ . /etc/sysconfig/oracle
$ export ORACLE_BASE ORACLE_HOME

Для правильной работы gcc установите переменную $COMPSOBJS:

$ export COMPSOBJS="-Wl,--no-as-needed"

Запустите инсталятор Oracle и выполняйте установку в соответствии с документацией. После заполнения всех форм, начнётся процесс копирования файлов и затем линковки. В процессе линковки возникнет ошибка приблизительно следующего содержания:

Error in invoking target 'all_no_orcl' of makefile $ORACLE_HOME/rdbms/lib/ins_rdbms.mk. See log file for details.

При появлении этого сообщения поправьте файл $ORACLE_HOME/bin/genorasdksh воспользовавшись редактором или утилитой patch.

$ cd $ORACLE_HOME
$ patch -p0 < /usr/share/doc/oracle-preinstall-<version>/Oracle10g_ALT40.patch

После этого вернитесь в программу установки и нажмите кнопку Retry.

Дальнейшие действия

После установки сервера Oracle необходимо настроить listener с помощью программы netca и потом создать базу данных программой dbca. Последним шагом будет редактирование файла /etc/oratab где в соответствующей строке нужно будет последним параметром указать Y. Это будет означать что данную базу данных нужно запускать при старте системы. Когда это будет сделано, можно стартовать базу данных и listener

# service oracle-db start
# service oracle-lsnr start

При необходимости включите эти сервисы в начальную загрузку системы

# chkconfig oracle-db on
# chkconfig oracle-lsnr on

ALT Linux KDesktop 6.0.1 + Oracle Database 11g Release 2 (11.2.0.1.0)

после всех манипуляций и установок, у вас может не запускаться DBConsole. Это связано с тем, что не совпадают временные зоны. Для того, чтобы это исправить необходимо проделать следующие манипуляции: 1. Установить последний "Timezone Updater Tool" на используемую Oracle'ом Java; 2. Установить патч 12949905 на сервер Oracle;