Установка Oracle v9 на ASPLinux 10  
  Содержание  


Эти материалы являются объектом авторского права и защищены законами РФ и международными соглашениями о защите авторских прав. Перед использованием материалов вы обязаны принять условия лицензионного договора на использование этих материалов, или же вы не имеете права использовать настоящие материалы

Авторская площадка "Наши орбиты" состоит из ряда тематических подразделов, являющихся моими лабораторными дневниками, содержащими записи за разное, иногда продолжительно отличающееся, время. Эти материалы призваны рассказать о прошедшем опыте, они никого ни к чему не призывают и совершенно не обязательно могут быть применимы кем-то ещё. Это только лишь истории о прошлом


  • Введение
  • Установка Oracle
  • Простые приемы работы

 
  Введение  

В этой статье тезисно описан процесс установки Oracle v9 на ASPLinux 10. Установка проводилась на основании статьи, расположенной по адресу http://www.puschitz.com/InstallingOracle9i.shtml. В процессе установки предпринимались попытки упростить ее, которые, в конечном итоге показали, что упрощать некуда и все описанное должно быть применено


 
  Установка Oracle  

Последовательность установки такова:

  • Подготовка: установка требуемых пакетов Linux, изменение системных переменных, создание пользователя oracle, группы dba, наложение требуемого патча, переименование компиляторов
  • Собственно установка Oracle
  • Восстановление системных настроек - возвращением имен компиляторам

Поехали

установка требуемых пакетов Linux Проверьте наличие установленных в системе rpm-пакетов: compat-db, compat-gcc, compat-gcc-c++, compat-libstdc++, compat-libstdc++-devel, openmotif21, setarch, tcl. Если пакеты не установленны, их нужно доустановить

переименование компиляторов В процессе установки используется более ранняя версия компилятора, чем установленная в системе по умолчанию. Попытки автора "забыть" этот шаг не позволили поставить Oracle, так что он нужен. Для установки нужно переименовать компиляторы, выполнив следующие команды из под root:
# mv /usr/bin/gcc /usr/bin/gcc333
# ln -s /usr/bin/gcc296 /usr/bin/gcc
# mv /usr/bin/g++ /usr/bin/g++333
# ln -s /usr/bin/g++296 /usr/bin/g++

После установки потребуется "откатить" переименование - ведь для всего остального может потребоваться "родной" компилятор. Если же ставится выделенный сервер Oracle, возможно имеет смысл оставить переименование в силе ...

изменение системных переменных Oracle требует увеличения размера разрешенной разделяемой памяти, для чего необходимо выполнить следующую команду:
# echo `expr 1024 \* 1024 \* 1024` > /proc/sys/kernel/shmmax

Кроме того, необходимо выставить системные переменные для пользователя oracle, для чего в файл .profile домашнего каталога пользователя нужно добавить следующие строки:
export LD_ASSUME_KERNEL=2.4.1 # for RH 9 and RHEL AS 3
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0
export ORACLE_SID=test
export ORACLE_TERM=xterm
export NLS_LANG=AMERICAN;
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
export PATH=$PATH:$ORACLE_HOME/bin

создание группы dba и пользователя oracle Для создания требуемых пользователя и группы, под котоми будет работать Oracle, необходимо выполнить следующие команды:
# groupadd dba
# useradd -g dba -h /oracle oracle

При необходимости домашний каталог можно создать в другом месте, вынеся в корень ссылку на него. Можно заморачиваться с путями еще глубже, но это отдельная нетиповая задача, довольно тривиальная и потому оставляемая на откуп жаждущим

наложение требуемого до установки патча Ядро 2.6 имеет отличие от старых ядер, оно не реализует в стандартных библиотеках вызов __libc_wait, что влечет невозможность установки Oracle. Для решения проблемы производитель рекомендует наложить доступный на сайте тех. поддержки http://metalink.oracle.com патч p3006854_9204_LINUX.zip (копия патча). Данный патч просто компилирует библиотеку, содержащую данный вызов и укладывает ее в каталог /etc. Для применения патча нужно выкачать его и выполнить следующие команды пользователем root:
# cd 3006854
# sh rhel3_pre_install.sh

Возможно, в случае недоступности вызова, потребуется также выполнить команду
# rm /etc/ld.so.preload

установка Oracle Процесс установки ничем не примечателен. Нужно не забыть разрешить запуск X-приложения, для чего дать команду
xhost +localhost

В процессе установки инсталлятор выдает следующие ошибки:
Error in invoking target install of makefile /u01/app/oracle/product/9.2.0/network/lib/ins_oemagent.mk.
Error in invoking target install of makefile /u01/app/oracle/product/9.2.0/ctx/lib/ins_ctx.mk.
это известные ошибки, которые необходимо игнорировать (выбрать - Ignore) на данном этапе. В процессе дальнейшего обновления (пропатчивания) ошибки будут исправлены накладываемым патчем

восстановление имен компилятора После установки можно восстановить ранее переименованные компиляторы, для чего необходимо выполнить команды пользователем root:
# ln -s /usr/bin/gcc333 /usr/bin/gcc
# ln -s /usr/bin/g++333 /usr/bin/g++


 
  Простые примеры  

Пример 1. Запуск и тушение экземпляра Собственно команды запуска и тушения экземпляра могут выполнятся из оболочкиsqlplus (svrmgrl не поддрживается более) следующим образом:
oracle$ sqlplus /nolog
SQL> connect / as sysdba
SQL> startup

Альтернативным методом являются поставляемые в составе Oracle скрипты ($ORACLE_HOME/bin/dbstart и $ORACLE_HOME/bin/dbshut), которые позволяют запускать и тушить экземпляр БД. Особенностью использования скриптов является необходимость создания ссылки на конфигурационный файл экземпляра в каталог ~/product/9.2.0/dbs

Например, для базы test конфигурационный файл расположен в ~/admin/test/pfile/inittest.ora.017200617561, а ссылку необходимо назвать ~/product/9.2.0/dbs/inittest.ora. Кроме того, в файле /etc/oratab необходимо поменять значение последнего поля с "N" на "Y" (test:/oracle/product/9.2.0:Y), что позволит скриптам обрабатывать данный экземпляр

Пример 2. Использование в пакетном режиме посредством shell-скрипта:
###############################################################
#!/bin/bash

sqlplus -s /NOLOG <connect system/systemdba
set pagesize 0 head off feed off trimspool on line 2400
spool qqq.out
select * from mytest1 ;
spool off
EOF
###############################################################

Белонин С.С.
март 2003 г., Брянск

(даты последующих модификаций не фиксируются)


        
   
    Нравится     

(C) Белонин С.С., 2000-2024. Дата последней модификации страницы:2019-12-04 00:43:28