Как стать автором
Обновить

Инсталяция 10.2.0.1 x86_64 на CentOS 5.1 x86_64

Время на прочтение4 мин
Количество просмотров2.8K
Это рабочая инструкция укомплектованная всеми скриптами необходимыми для полноценной работы, в т.ч. для автостарта базы и дополнительных сервисов.
Инструкция не содержит непосредственного описания действий в OracleInstaller т.к. специалист устанавливающий данную конфигурацию уже явно знает, что делать.

Статья не моя, автору необходим инвайт, но по каким то причинам статья не постится в песочницу.


1. cоздаем пользователей и группы

делаем под рутом

groupadd oinstall
useradd -g oinstall oracle
passwd oracle


# определимся с директориями для инсталяции

традиционно массивы или разделы для oracle
монтируют в корень
/u00
/u01


в нашем случае:
/u00 — раздел под БД Oracle
/u01 — раздел под http
/u02 — директория для самого Oracle

СУБД ставиться на /u02 а таблспейсы создаем на /u00
на остальные разделы кидаем только контролфайлы

mkdir -p /u02/app/oracle/product/10.2.0/db_1
chown -R oracle.oinstall /u02
mkdir -p /u00/oradata
chown -R oracle.oinstall /u00
mkdir -p /u01/oradata
chown -R oracle.oinstall /u01


2. Обманка инсталятора
делаем копию файла /etc/redhat-release
cp redhat-release redhat-release1
делаем обманку — иначе не запустится инсталятор
echo redhat-4 >redhat-release

3. Настройка лимитов

добавим в /etc/security/limits.conf
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536


4. добавим в /etc/pam.d/login
session required /lib/security/pam_limits.so

5. доставим пакеты:
compat-db-4.2.52-5.1.i386.rpm
compat-db-4.2.52-5.1.x86_64.rpm
compat-gcc-34-3.4.6-4.x86_64.rpm
"compat-gcc-34-c++-3.4.6-4.x86_64.rpm"
"compat-libstdc++-33-3.2.3-61.i386.rpm"
"compat-libstdc++-33-3.2.3-61.x86_64.rpm"
gcc-4.1.2-14.el5.x86_64.rpm
glibc-2.5-18.i686.rpm
glibc-2.5-18.x86_64.rpm
libaio-0.3.106-3.2.i386.rpm
libaio-0.3.106-3.2.x86_64.rpm
libXp-1.0.0-8.1.el5.i386.rpm
libXp-1.0.0-8.1.el5.x86_64.rpm
make-3.81-1.1.x86_64.rpm
openmotif22-2.2.3-18.i386.rpm
openmotif22-2.2.3-18.x86_64.rpm
setarch-2.0-1.1.x86_64.rpm


6. устанавливаем прараметры ядра
Добавим в /etc/sysctl.conf — #for oracle
kernel.shmmni = 4096
#semaphores: semmsl semmns semopm semmni
kernel.sem = 250 32000 100 128
fs.file-max = 65535
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144

проверим

# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144

7. установить .bash_profile для пользователя oracle
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

ORACLE_HOME=/u02/app/oracle/product/10.2.0/db_1 ; export ORACLE_HOME
ORACLE_BASE=/u00/oradata ; export ORACLE_BASE
ORACLE_TERM=xterm ; export ORACLE_TERM
ORACLE_SID=имя_базы ; export ORACLE_SID

TNS_ADMIN=$ORACLE_HOME/network/admin ; export TNS_ADMIN
ORACLE_DOC=$ORACLE_HOME/doc ; export ORACLE_DOC
ORACLE_SID=имя_базыl ; export ORACLE_SID
NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251 ; export NLS_LANG

PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:ORACLE_HOME/lib

TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

export PATH
unset USERNAME


предварительно заменить имя_базы — на SID

8. непосредственно инсталяция
заходим в Х под пользователем оracle и запускаем инсталяцию
/в данной инструкции не освещается работа в самом инсталяторе ибо она проста и прозрачна/

sh runInstaller

инсталируем
advanced
custom

выбираем компоненты
инсталируем
выполняем под рутом скрипты
готово.

9. Создание скриптов создания базы

если есть шаблоны базы для DBCA то их надо положить в
/assistants/dbca/templates

запустить в X-ах dbca
и создать скрипты генерации базы

Обращаю внимание:
надо установить верную кодировеку
те к примеру CL8MSWIN1251
и национальную AL16UTF16

10.для избежания ошибки проверим
$ sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 — Production on Sun Jul 29 10:32:44 2007

Copyright © 1982, 2005, Oracle. All rights reserved.

SQL> conn sys as sysdba
Enter password:
oraclemerl: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
ERROR:
ORA-12547: TNS:lost contact

надо поставить
libaio-0.3.103-3.X86_64.RPM
или старше

11 запуск создания

11.1 запустить скрипты создания базы

11.2 проверить наличие файлов листенера
sqlnet.ora
tnsnames.ora

примеры файлов

sqlnet.ora

NAMES.DIRECTORY_PATH= (TNSNAMES)


tnsnames.ora

имя_базы =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ip_базы)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = имя_базы)
)
)


имя_базы заменить на SID, ip_базы — ip интерфейса сервера с которого будет доступна база

если файлов нет — их можно создать ручками или мастером ./netmgr

12. делаем автостарт базы

12.1 cкопировать в /etc/ файл oratab и поправить в нем имя и путь к базе

пример файла oratab

имя_базы:/u02/app/oracle/product/10.2.0/db_1:Y

12.2 скопировать файл oracle в /etc/init.d/
12.3 проверьте наличие dbstart (должен лежать в /bin/)
12.4 проверить команды serivce oracle start/stop
12.5 сделать линки:
ln -s /etc/init.d/oracle /etc/rc2.d/S99oracle
ln -s /etc/init.d/oracle /etc/rc3.d/S99oracle
ln -s /etc/init.d/oracle /etc/rc4.d/S99oracle
ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle
ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle
12.6 проверить как стартует при загрузке/остановке сервера
логи смореть в /var/log/oracle

13. Oracle iSQL*plus

старт ручной — isqlplusctl start
стоп ручной — isqlplusctl stop

установка сервисом
скопировать файл oraisql в /etc/init.d/
управлять сервисом — service oraisql start|stop|restart
cмотреть на порту 5561
те имя_сервера:5561/isqlplus/ иhttp://имя_сервера:5561/isqlplus/dba.uix

автостарт-стоп сервиса
сделать линки
ln -s /etc/init.d/oraisql /etc/rc2.d/S99oraisql
ln -s /etc/init.d/oraisql /etc/rc3.d/S99oraisql
ln -s /etc/init.d/oraisql /etc/rc4.d/S99oraisql
ln -s /etc/init.d/oraisql /etc/rc0.d/K01oraisql
ln -s /etc/init.d/oraisql /etc/rc6.d/K01oraisql

14. Oracle Enterprise Manager

старт ручной
emctl start dbconsole
стоп ручной
emctl stop dbconsole

установка сервисом
скопировать файл oraemc в /etc/init.d/
управлять сервисом — service oraemc start|stop|restart

cмотреть на имя_сервера:1158/em/

автостарт-стоп сервиса
сделать линки
ln -s /etc/init.d/oraemc /etc/rc2.d/S99oraemc
ln -s /etc/init.d/oraemc /etc/rc3.d/S99oraemc
ln -s /etc/init.d/oraemc /etc/rc4.d/S99oraemc
ln -s /etc/init.d/oraemc /etc/rc0.d/K01oraemc
ln -s /etc/init.d/oraemc /etc/rc6.d/K01oraemc

Теги:
Хабы:
Всего голосов 12: ↑9 и ↓3+6
Комментарии7

Публикации

Истории

Работа

Ближайшие события

15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань