|
ВНИМАНИЕ ! |
Установка БД Oracle 9.2.0.4.0 и
Oracle Application Server 10g
на RED HAT Enterprise Linux AS 2.1
(Пошаговая инструкция)
| 2005.05.30 |
версия 1.0
|
Данный документ основан на фирменных документациях по инсталляции баз данных Oracle9.2.0.4, а также инструкции от Terek
!! Устанавливаем экземпляр oracle с именем prod, заменить на своё !!
Установка БД Oracle 9.2.0.4.0
Шаг 1.
Минимальные требования к оборудованию согласно официальной документации:
| Физическая память | 512 MB |
| Swap space (раздел подкачки) | 1 GB (дисковый раздел, создается при инсталляции Linux) |
| Disk Space in /tmp | 400 MB (раздел для временных файлов) |
| Disk space for software files | 2,5 GB (минимальный объем дискового пространства для программных файлов) |
| Disk space for database files | 1,2 GB (минимальный объем дискового пространства для файлов баз данных) |
При инсталляции Linux на сервере одним SCSI-диском на 17 Gb я создал следующие разделы:
| /dev/sda1 | /boot |
46 Mb
|
| /dev/sda2 | /swap |
1992 Mb
|
| /dev/sda3 | / |
15551 Mb
|
Выбираем тип инсталляции – Сервер, устанавливаем пакеты по максимуму, кроме мультимедии, игр и дополнений к ядру
Шаг 2.
- Создаем группы и пользователей:
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -g oinstall -G dba oracle
oinstall -> первичная группа
dba -> вторичная группа
- Проверяем существование пользователя oracle:
# id oracle
- Создаем рабочие директории (-p создает недостающие родительские каталоги):
# mkdir -p /oracle/ora92
# mkdir -p /oradata/prod
# mkdir /orapp
# cd /oradata/prod
# mkdir arc bdump cdump ctl dbf log trace udump
- Назначаем права пользователю oracle и группе oinstall на созданные директории:
# chown -R oracle:oinstall /oracle /oradata
- Назначаем разрешения:
# chmod -R 775 /oracle /oradata
Шаг 3.
Конфигурирование параметров ядра(см.рекомендованные параметры):
|
Parameter |
Value |
File |
|
semmsl |
100 |
/proc/sys/kernel/sem |
|
shmall |
2097152 |
/proc/sys/kernel/shmall |
|
shmmax |
Half the size of RAM ( 536 870 912 ) |
/proc/sys/kernel/shmmax |
|
shmmni |
4096 |
/proc/sys/kernel/shmmni |
|
file-max |
65536 |
/proc/sys/fs/file-max |
|
ip_local_port_range |
1024 65000 |
/proc/sys/net/ipv4/ip_local_port_range |
Выполните следующие команды для проверки параметров ядра:
|
Parameter |
Command |
|
semmsl, semmns, |
# /sbin/sysctl -a | grep sem |
|
shmall, shmmax, |
# /sbin/sysctl -a | grep shm |
|
file-max |
# /sbin/sysctl -a | grep file-max |
|
ip_local_port_range |
# /sbin/sysctl -a | grep ip_local_port_range |
The parameters in the following table are the minimum values required to run Oracle9 i with a single-database instance on Linux
Если значения не совпадают с рекомендованными, то используя любой текстовый редактор создайте или отредактируйте файл /etc/sysctl.conf :
kernel.sem = 100 32000 100 100
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.shmall = 2097152
net.ipv4.ip_local_port_range = 1024 65000
Затем перезагрузите систему. Поверьте еще раз параметры ядра командой:
# /sbin/sysctl –p
|
Kernel Parameter |
Setting |
Purpose |
|
SEMMNI |
100 |
Defines the maximum number of semaphore sets in the entire system. |
|
SEMMNS |
256 |
Defines the maximum semaphores on the system. This setting is a minimum recommended value, for initial installation only. |
|
SEMOPM |
100 |
Defines the maximum number of operations for each semop call. |
|
SEMMSL |
100 |
Defines the minimum recommended value, for initial installation only. |
|
SHMMAX |
2147483648 |
Defines the maximum allowable size of one shared memory segment. |
|
SHMMIN |
1 |
Defines the minimum allowable size of a single shared memory segment. |
|
SHMMNI |
100 |
Defines the maximum number of shared memory segments in the entire system. |
|
SHMSEG |
4096 |
Defines the maximum number of shared memory segments one process can attach. |
|
SHMVMX |
32767 |
Defines the maximum value of a semaphore. |
Шаг 4.
- Теперь зайдём пользователем oracle с его профайлом (-)
# su - oracle
- Установим переменную DISPLAY. (The DISPLAY variable specifies the
name, server number, and screen number of the system where the Oracle
Universal Installer displays)
$ DISPLAY=127.0.0.1:0.0
$ export DISPLAY
- следующее необходимо запускать из X’ов, в терминале
$ xhost +127.0.0.1
Добавим следующие строки в файл пользовательского окружения переменных /home/oracle/.bash_profile:
umask 022 # если команда umask выдаёт не 022
export ORACLE_BASE=/oracle
export ORACLE_HOME=/oracle/ora92
export ORACLE_SID=prod # имя экземпляра
export NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251
export PATH=$ORACLE_HOME/bin:$PATH
- Проверим переменную PATH
$ echo $PATH
среди прочего должны быть
$ORACLE_HOME/bin, /usr/bin, /bin, /usr/bin/X11/ и, если существует /usr/local/bin
Шаг 5.
Запускаем runInstaller
Отвечаем на экране File Locations:
Name: ora92
Path: /oracle/ora92
Available Products: Database
Installation Types: Enterprise Edition
Database Configuration: Software Only (т.к. БД будем создавать скриптом)
В Summary проверяем наличие языка Russian и жмём Install.
Шаг 6.
После завершения устанавливаем patch 9.2.0.4
На экране Available Products выбираем Oracle Universal Installer 2.2.0.18.0
По завершению обновления нажимаем Next Install и затем Exit.
Запускаем обновлённый инсталлятор (тот же пусковой файл).
На экране Available Products выбираем Oracle9iR2 Patch Set 3 9.2.0.4.0
Шаг 7.
- Пользователем oracle создаём файл паролей:
$ orapwd file=/oracle/ora92/dbs/orapwprod password=WELCOME entries=5
- Создаём файл /oracle/ora92/dbs/ initprod.ora следующего содержания:
aq_tm_processes=1
background_dump_dest='/oradata/prod/bdump'
compatible='9.2.0.0.0'
control_files='/oradata/prod/ctl/control01.ctl','/oradata/prod/ctl/control02.ctl','/oradata/prod/ctl/control03.ctl'
core_dump_dest='/oradata/prod/cdump'
cpu_count=2
db_block_size=8192
db_cache_size=33554432
db_domain=''
db_file_multiblock_read_count=8
db_name='prod'
dispatchers='(PROTOCOL=TCP) (SERVICE=prodXDB)'
fast_start_mttr_target=300
hash_join_enabled=TRUE
instance_name='prod'
java_pool_size=20971520
job_queue_processes=4
large_pool_size=5242880
#log_archive_dest_1='LOCATION=/oradata/prod/arc MANDATORY REOPEN'
log_archive_start=FALSE #TRUE
max_enabled_roles=100
nls_territory='cis'
open_cursors=1000
oracle_trace_collection_path='/oradata/prod/trace'
oracle_trace_facility_path='/oradata/prod/trace'
pga_aggregate_target=25165824
processes=350
query_rewrite_enabled='FALSE'
remote_login_passwordfile='EXCLUSIVE'
resource_manager_plan='SYSTEM_PLAN'
shared_pool_size=80000000
sort_area_size=1048576
star_transformation_enabled='FALSE'
timed_os_statistics=1
timed_statistics=TRUE
trace_enabled=FALSE
undo_management='AUTO'
undo_retention=10800
undo_tablespace='UNDOTBS1'
user_dump_dest='/oradata/prod/udump'
- Запускаем слушателя
$ lsnrctl start
-
Корректируем пути, имя экземпляра и если нужно кодировку (CHARACTER
SET), но учитывая что она должна совпадать с переменной NLS_LANG в
файле /home/oracle/.bash_profile. Возможные варианты: CL8MSWIN1251, CL8KOI8R, CL8ISO8859P5.
- Запускаем oracl’ом скрипт создания базы данных crt_prod_db.sql, сохраняя все сообщения в соответствующий лог файл:
$ cd /home/oracle
$ sqlplus /nolog @crt_prod_db.sql | tee crt_prod_db.log
-
Если во время запуска скрипта произошёл сбой, то
1) останавливаем экземпляр
SQL> shutdown abort
SQL> exit
2) удаляем все файлы в подкаталогах /oradata/prod
$ rm -rf /oradata/prod
$ mkdir /oradata/prod
$ cd /oradata/prod
$ mkdir arc bdump cdump ctl dbf log trace udump
3) правим что нужно и запускаем снова скрипт. Отчёт об ошибках можно посмотреть в алерт-логе:
$ less /oradata/prodaq/bdump/alert_prod.log
Возможно придётся заново создать файл паролей:
$ orapwd file=/oracle/ora92/dbs/orapwprod password=WELCOME entries=5
Шаг 8.
- Теперь, если слушатель не поднимается, то запускаем ассистент по его настройке:
$ $ORACLE_HOME/bin/netca
и настраиваем по очереди
1. Listener configuration
2. Local Net Service Name configuration
Установка Oracle Application Server 10g
Шаг 1.
Запускаем runInstaller
Отвечаем на экране File Locations:
Name: as10g
Path: /oracle/as10g
Instance Name: prodas
Outgoing Mail Server: 10.0.0.2
По окончании установки запоминаем порты, которые будет прослушивать наш сервер. По умолчанию это:
7777 – для клиента
1810 – для администратора
Шаг 2.
Проверяем запущен ли http-сервер:
$ ps –ax | grep opmn
если нет, то запускаем:
$ /oracle/as10g/opmn/bin/opmnctl start
Шаг 3.
Теперь к серверу можно обращаться по адресу, но лучше создать DNS имя, например: prod.mydomain.ru
Проверяем доступ к стартовой странице сервера приложений. На клиентском месте в браузере набираем:
http://prod.mydomain.ru:7777
Создаём пакетные файлы запуска и останова.
Все файлы создаём пользователем oracle в группе oinstall.
# su - oracle
$ mkdir appadmin
$ cd appadmin
- Создаём файл /home/oracle/appadmin/fullstart.sh:
#/bin/sh
export DISPLAY=:0.0
xclock&
. /home/oracle/.bash_profile
$ORACLE_HOME/bin/namesctl start
$ORACLE_HOME/bin/lsnrctl start
$ORACLE_HOME/bin/sqlplus -s /nolog <<EOF
connect / as sysdba
startup
exit
EOF
. /home/oracle/.as10g_profile
$ORACLE_HOME/Apache/Apache/bin/apachectl start
- Создаём файл /home/oracle/appadmin/fulldown.sh:
#!/bin/sh
. /home/oracle/.as10g_profile
$ORACLE_HOME/Apache/Apache/bin/apachectl stop
. /home/oracle/.bash_profile
$ORACLE_HOME/bin/sqlplus -s /nolog <<EOF
connect / as sysdba
shutdown immediate
exit
EOF
$ORACLE_HOME/bin/lsnrctl stop
$ORACLE_HOME/bin/namesctl stop < /home/oracle/appadmin/yes
- Создаём файл для автоматического согласия на параметры /home/oracle/appadmin/yes:
yes
- Делаем скрипты исполняемыми:
$ chmod +x fulldown.sh fullstart.sh
если нужно изменить группу:
$ chown -R oracle.oinstall *
| Обсудить, спросить на форуме |
Новую версию этого документа можно получить на одном из зеркал сайта: pm4u.opennet.ru, pm4u.narod.ru |