Инсталляция Oracle Developer 6i release 2 на RedHat 8.0

Введение

В этом документе описана установка Oracle Developer 6i release 2 на RedHat 8.0. Developer ставится на туже машину, где стоит Oracle 8i. Описание установка Oracle 8i release 3 (версия 8.1.7) находится по адресу www.opennet.ru/docs/RUS/inst_oracle/index.html.

Несколько слов об установке RedHat

Во время инсталляции я выбрал вариант Рабочая станция, графический интерфейс Gnome, создал два дополнительных раздела по 2 G каждый: ora01 для инсталляции Oracle и ora_dev для инсталляции Developer.

# df -h Filesystem Size Used Avail Use% Mounted on /dev/hda9 3.7G 1.7G 1.9G 46% / /dev/hda7 99M 9.3M 84M 10% /boot /dev/hda8 1.9G 1.6G 264M 86% /ora01 /dev/hda11 2.0G 1.3G 722M 64% /ora_dev none 120M 0 120M 0% /dev/shm /dev/hda1 2.0G 791M 1.2G 39% /mnt/Win98SE
Другие характеристики:
# cat /proc/meminfo | grep MemTotal MemTotal: 246612 kB # /sbin/swapon -s Filename Type Size Used Priority /dev/hda10 partition 1020088 0 -1 # uname -a Linux arkady 2.4.18-14 #1 EDT 2002 i686 i686 i386 GNU/Linux # hostname arkady #domainname <none>

Все работы выполнялись в графическом интерфейсе.

Для решения проблемы переключения на русский и правильного отображения некоторых символов пришлось откорректировать файл /etc/X11/XF86Config.

Строку

Option "XkbModel" "pc104"
заменяем строкой
Option "XkbModel" "microsoft"
см. файл /etc/X11/xkb/rules/xfree86.lst

Строку

Option "XkbVariant" "basic"
заменяем строкой
Option "XkbVariant" "winkeys"
см. файл /etc/X11/xkb/symbols/ru

Строку

Option "XkbOptions" ""
заменяем строкой
Option "XkbOptions" "grp:alt_shift_toggle"
(включает переключатель лат/рус клавишей left_alt + left_shift)
см. файл /etc/X11/xkb/rules/xfree86.lst

Некоторые изменяемые строки могут быть помечены знаком комментария. Не забудьте убрать комментарии. Этот вопрос подробно изложен в прекрасной статье www.tsu.ru/~pascal/other/xkb/.

Документация

  • Installaton Guide: если вы ставите Developer первый раз, возможно, вам следует посмотреть руководство по инсталляции. После распаковки дистрибутива вы найдете его в .../unixdoc/Developer/Output/linux_dev.pdf или .../unixdoc/Developer/Output/title.htm.

  • Readme: это тоже желательно прочесть. См. .../orainst/README.FIRST.
К сожалению, мне не удалось найти в Интернете другие руководства по инсталляции.

Программное обеспечение

  • Developer можно найти по адресу ftp.oracle.com/otn/linux/forms . Обьем файла d2k6irelease2.tar составляет 627 МБ.

  • Файлы (2,94 МБ)
  • openmotif-2.1.30-4_MLI.i386.rpm openmotif-devel-2.1.30-4_MLI.i386.rpm
    можно взять на страничке www.metrolink.com/products/motif/download.

    Если какие-либо из указанных здесь ссылок окажутся устаревшими, попробуйте зайти на www.google.com и указать полное имя файла в окне поиска. В полученном списке вы наверняка найдете сайт, на котором есть искомый файл.

Подготовка Developer и дополнительных программ

  • Developer: Дистрибутив d2k6irelease2.tar я распаковал в каталог /temp/dev:
  • # whoami root # md /temp/dev # cd /temp/dev # tar xvf /mnt/cdrom/d2k6irelease2.tar
  • OpenMotif: Oracle Developer требует установки OpenMotif. RedHat 8 поставляется с OpenMotif версии 2.2.2-12, но Developer с ним не работает. Поэтому версию 2.2 следует удалить и установить версию 2.1:
  • # whoami root # rpm -e openmotif-devel # rpm -e openmotif # cd /mnt/cdrom # rpm -i openmotif-2.1.30-4_MLI.i386.rpm # rpm -i openmotif-devel-2.1.30-4_MLI.i386.rpm
    Проверяем наличие библиотек:
    # whoami root # cd /usr/X11R6/lib # find libX11.so libX11.so # find libX11.so libX11.so # find libXext.so libXext.so # find libXmu.so libXmu.so # find libXp.so libXp.so # find libXpm.so libXpm.so # find libXt.so libXt.so # find libXtst.so libXtst.so

Пользователи и группы

Создаем

  • группу osdba и пользователя develop для инсталляции.
  • группу usrdev и пользователя grpdev для работы с developer.
# whoami root # groupadd osdba # groupadd grpdev # useradd develop -g osdba # useradd usrdev -g grpdev # passwd develop Changing password for user develop New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully # passwd usrdev Changing password for user usrdev New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully

Точки монтирования

При установке Developer и Oracle на одну машину руководство по инсталляции рекомендует устанавливать их в разные ORACLE_HOME. Oracle у нас установлен в /ora01, а Developer мы будем ставить /ora_dev. Меняем владельца /ora_dev:

# whoami root # chown develop.osdba /ora_dev # chmod 755 /ora_dev
На время инсталляции следует разрешить запись в /etc/tab:
# whoami root # chmod 777 /etc/oratab

Проверка записанных обьектов

Во время установки программа инсталляции записывает в базу данных обьекты базы данных. Если они уже установлены, то ставить их повторно не нужно. Поэтому следует проверить их наличие в базе данных:

$ whoami oracle $ dbstart $ sqlplus system/manager SQL> SELECT table_name 2 FROM dba_tables 3 WHERE table_name LIKE 'ИМЯ ТАБЛИЦЫ';

'ИМЯ ТАБЛИЦЫ' замените на 'BROWSER%', 'FRM50%', 'GO%', 'SRW2%'.

Пользовательские переменные окружения

Добавляем следующие строки в /home/develop/.bash_profile.

TNS_ADMIN=/ora01/app/oracle/product/8.1.7/network/admin export TNS_ADMIN ORACLE_BASE=/develop/app/develop; export ORACLE_BASE ORACLE_HOME=${ORACLE_BASE}/product/6i export ORACLE_HOME LD_LIBRARY_PATH=${ORACLE_HOME}/lib export LD_LIBRARY_PATH ORACLE_AUTOREG=${ORACLE_HOME}/guicommon6/tk60/admin export ORACLE_AUTOREG TWO_TASK=ORADB; export TWO_TASK ORACLE_SID=oradev; export ORACLE_SID
Во время установки программа инсталляции записывает обьекты в базу данных. Переменная окружения TNS_ADMIN указывает путь к TNSNAMES.ORA. TWO_TASK определяет алиас из TNSNAMES.ORA. Ниже приведен фрагмент этого файла:
ORADB = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = arkady)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = oradb.localdomain) ) )

При установке Developer и Oracle на одну машину руководство по инсталляции рекомендует использовать разные ORACLE_SID. Для Oracle мы использовали oracledb, для Developer - oradev.

Инсталляция

Если во время инсталляции что-то пойдет не так, то, возможно, вы захотите начать все с начала. Перед этим неплохо было бы убрать все, что installer успел наделать. Сделать это можно так:

$ whoami develop $ cd /ora_dev $ rm -rf app

Из файла /etc/oratab удалите строку

$ oradev: /ora_dev/app/develop/product/6i:N

Неплохо еще почистить корзину, иначе при следующей инсталляции можно столкнуться с нехваткой места на диске.

Прежде, чем начать установку, проверим еще раз переменные окружения:

$ whoami develop $ env | grep ORA TWO_TASK=ORADB ORACLE_SID=oradev ORACLE_BASE=/ora_dev/app/develop ORACLE_AUTOREG=/ora_dev/app/develop/product/6i/guicommon6/tk60/admin ORACLE_HOME=/ora_dev/app/develop/product/6i $ env | grep TNS TNS_ADMIN=/ora01/app/oracle/product/8.1.7/network/admin $ env | grep LD LD_LIBRARY_PATH=/ora_dev/app/develop/product/6i/lib
Cтартуем Oracle, Listener и программу инсталляции:
$ whoami oracle $ dbstart $ lsnrctl start $ su - develop $ cd/temp/dev/orainst $ . orainst
  1. Появится окно Install Type. Выберите Default Install, перейдите на OK и нажмите Enter (далее просто "нажмите OK"). Используйте Tab для перехода по полям и Space - для переключения флажков.

  2. В окне preamble.txt нажмите OK.

  3. В окне /tmp/devel/orainst/readme.first нажмите OK.

  4. В окне Installation Activity Choice выберите
    Install, Upgrade or De-Istall Software
  5. Нажмите OK.

  6. В окне Installation Options выберите
    Install New Product - Create DB Object
    Нажмите ОК.

  7. В окне Enviroment Variables должно стоять строки:
    ORACLE_BASE: /ora_dev/app/developer ORACLE_HOME: /ora_dev/app/developer/producct/6i ORACLE_SID: oradev
    Нажмите ОК.

  8. В окне TWO_TASK нажмите ОК.

  9. В окне The following values will be used ... нажмите кнопку ОК.

  10. В окне Software Asset Manager необходимо отметить устанавливаемые продукты. Нажмите Space, Стрелку Вниз, затем снова Пробел и т.д. пока не будут выбраны все продукты. С помощью Tab перейдите на Install и нажмите Enter. При выполнении этих действий будьте внимательны: графический интерфейс работает не совсем адекватно.

  11. В окне X Libraries должно быть
    /usr/X11R6/lib
    нажмите OK.

  12. В окне Motif Library должно быть
    /usr/X11R6/lib
    нажмите ОК.

  13. В окне Enter the password for the SYS userid напишите пароль. Если вы его не меняли, то это change_on_install. Нажмите ОК.

  14. В окне Enter the password again to confirm повторите пароль. Нажмите ОК.

  15. В окне GUI choice отметьте все пункты:
    [x] Motif Bitmapped Interface [x] Grafics Designer Executables [x] Web Grapfics Interface
    Нажмите ОК. В этом и следующих двух пунктах при нажатии на Tab и Space на экране ничего не отображается, так что работать приходится в слепую.

  16. В окне Component Selection (for Forms) выберите все пункты кроме первого:
    [ ] Form Server for Web deployment [x] Motif Bitmapped Interface [x] Designer and Generater Executables [x] Character Mode Interface
    Нажмите OK.

  17. В окне Component Selection (for Reports) выберите все пункты кроме первого:
    [ ] Reports Multitier Server for Web deployment [x] Motif Bitmapped Interface [x] Report Designer and Converter Executables [x] Character Mode Interface
    Нажмите OK.

  18. Появляется окно Installing и начинается копирование файлов. Это займет некоторое время.

  19. В окне Installer Actions Completed предлагается выполнить скрипт root.sh. Мне не удалось его найти, поэтому я нажал OK.

  20. Программа возвращается в окно Software Asset Manager. Переходим на Exit и нажимаем на Enter.

  21. Завершаем работу Lestener и Oracle:
    $ whoami oracle $ lsnrctl stop $ dbshut
    Восстанавливает характеристики /etc/tab:
    # whoami root # chmod 755 /etc/oratab

Настройка графического интерфейса пользователя.

  1. Файл описания клавиш.

    С помощью текстового редактора запишите содержимое файла

    /ora_dev/app/develop/product/6i/guicommon6/tl60/admin/XKeysymDB

    в конец файла

    /usr/X11R6/lib/X11/XKeysymDB


  2. Конфигурация Motif.

    Внесите изменения в файл

    /ora_dev/app/develop/product/6i/guicommon6/tl60/admin/Tk2Motif.rgb

    Мне больше понравилась схема gray, поэтому я взял ее за основу:
    $ whoami develop $ cd /ora_dev/app/develop/product/6i/guicommon6/tk60/admin $ mv Tk2Motif.rgb Tk2Motif.skyblu $ mv Tk2Motif.gray Tk2Motif.rgb
    Для установки соответствия между наборами символов Х и Oracle в файле Tk2Motif.rgb необходимо настроить соответствующим образом компонент Tk2Motif*fontMapCs. Для работы в кодировке koi8:
    Tk2Motif*fontMapCs: koi8-r=CL8KOI8R
    Если же вы предпочитаете кодировку iso8859-5:
    Tk2Motif*fontMapCs: iso8859-5=CL8ISO8859P5
    Кроме того следует указать шрифт по умолчанию. Подходящий шрифт можно выбрать из списка, выдаваемого командой:
    # whoami root # xlsfonts | grep koi8-r # xlsfonts | grep iso8859-5
    Далее настройте компонент Tk2Motif*fontList. Например, для работы в кодировке koi8 (одной строкой):
    Tk2Motif*fontList: ¬ -cronyx-helvetica-bold-r-normal--14-100-100-100-p-56-koi8-r=1 Для iso8859-5 (одной строкой):
    Tk2Motif*fontList: -misc-fixed-bold-r-normal--13-120-75-75-c-80-iso8859-5=1

Переменные окружения для Forms

Скопируйте файл forms60.sh в домашнюю папку пользователя usrdev:

$ cp /ora_dev/app/develop/product/6i/forms60.sh /home/usrdev/
Строки
DISPLAY=< your unix machine name:0.0 >; export DISPLAY ORACLE_HOME=< oracle home >; export ORACLE_HOME
замените строками (arkady - это то, что выдается по команде hostname)
DISPLAY=arkady:0.0; export DISPLAY ORACLE_HOME=/ora_dev/app/develop/product/6i; export ORACLE_HOME
Строки
TNS_ADMIN=< tnsadmin directory >; export TNS_ADMIN TWO_TASK=< two task name >; export TWO_TASK ORACLE_SID=< ORACLE SID >; export ORACLE_SID
замените строками (ORADB - алиас из TNSNAMES.ORA, oracledb - было использовано при установке Oracle)
TNS_ADMIN=/ora01/app/oracle/product/8.1.7/network/admin export TNS_ADMIN TWO_TASK=ORADB; export TWO_TASK ORACLE_SID=oracledb; export ORACLE_SID
Удалите все строки из секции "## setting for Forms Server":
HOSTNAME=`hostname`; export HOSTNAME OWSPORT=< listner port no >; export OWSPORT FORMS60_UNKNOWN=$ORACLE_HOME/guicommon6/tk60/admin/Tk2Motif.rgb export FORMS60_UNKNOWN FORMS60_OUTPUT=/tmp; export FORMS60_OUTPUT FORMS60_MAPPING=http://`hostname`:$OWSPORT/web_temp export FORMS60_MAPPING FORMS60_REPFORMAT=html; export FORMS60_REPFORMAT
Если вы собираетесь работать в кодировке koi8, то добавьте строки
NLS_LANG=RUSSIAN_CIS.CL8KOI8R; export NLS_LANG NLS_OLD=NLS; export NLS_OLD NLS="ru_RU.KOI8-R" ; export NLS
Для работы в кодировке iso5988-5 добавьте строки
NLS_LANG=RUSSIAN_CIS.CL8ISO5988P5 NLS_OLD=NLS; export NLS_OLD NLS="ru_RU.ISO5988-5"
В конце добавьте вызов Forms:
f60desm NLS=NLS_OLD; export NLS

Переменные окружения для Reports

Скопируйте файл repors60.sh в домашнюю папку пользователя usrdev:

$ cp /ora_dev/app/develop/product/6i/reports60.sh /home/usrdev/
Строки
DISPLAY=< your unix machine name:0.0 >; export DISPLAY ORACLE_HOME=< oracle home > export ORACLE_HOME LD_LIBRARY_PATH=$ORACLE_HOME/lib:${LD_LIBRARY_PATH}:\ $ORACLE_HOME/network/jre11/lib/sparc/native_threads
замените строками (arkady - это то, что выдается по команде hostname)
DISPLAY=arkady:0.0; export DISPLAY ORACLE_HOME=/ora_dev/app/develop/product/6i export ORACLE_HOME LD_LIBRARY_PATH=$ORACLE_HOME/lib:${LD_LIBRARY_PATH}: $ORACLE_HOME/network/jre11/lib/linux/native_threads
Строки
TNS_ADMIN=< tnsadmin directory >; export TNS_ADMIN TWO_TASK=< two task name >; export TWO_TASK ORACLE_SID=< ORACLE SID >; export ORACLE_SID
замените строками (ORADB - алиас из TNSNAMES.ORA, oracledb - было использовано при установке Oracle)
TNS_ADMIN=/ora01/app/oracle/product/8.1.7/network/admin export TNS_ADMIN TWO_TASK=ORADB; export TWO_TASK ORACLE_SID=oracledb; export ORACLE_SID
Если вы собираетесь работать в кодировке koi8, то добавьте строки
NLS_LANG=RUSSIAN_CIS.CL8KOI8R NLS_OLD=NLS; export NLS_OLD NLS="ru_RU.KOI8-R"
Для работы в кодировке iso5988-5 добавьте строки
NLS_LANG=RUSSIAN_CIS.CL8ISO5988P5 NLS_OLD=NLS; export NLS_OLD NLS="ru_RU.ISO5988-5"
В конце добавьте вызов Reports:
rwbld60 NLS=NLS_OLD; export NLS

Старт Forms

Oracle Forms Builder позволяет разрабатывать формы. Для старта Forms выполните:
$ whoami oracle $ dbstart $ lsnrctl start $ su - usrdev $ . forms60
Если появится сообщение об ошибке
Xlib: connection to "arkady:0.0" refused by server Xlib: Client is not authorized to connect to server
то перед стартом Forms нужно выполнить команду
# whoami root # xhost + arkady arkady being added to access control list
(arkady - это то, что выдается по команде hostname)

Старт Reports

Oracle Reports Builder позволяет разрабатывать отчеты. Для старта Reports выполните:

$ whoami oracle $ dbstart $ lsnrctl start $ su - usrdev $ . reports60

Аркадий Старцев.

февраль 2003 года.