Сегодня доделал доку по установке ArcSDE&Oracle9i на Linux. Делал, естественно не с нуля, а правил описание Дрезюля Дмитрия (классное описание, но меня что-то не устроило, что-то просто не работало). В общем, получайте. Копия скоро появится в тех. поддержке
Установка Oracle 9i и ArcSDE 8.3 на Linux RedHat 8.0 |
У меня имелся следующий сервер:
Процессор P4 2.26 ГГц
Винчестер: 7 Гб (Виртуальная машина под XP, 6ГБ не хватает)
Память 272 Мб DDR (Виртуальная машина под XP)
Качаю дистрибутив линукса отсюда ftp.uib.no/pub/linux/iso-images/
Скачал следйющие диски:
Redhat80-i386-disc1.iso
Redhat80-i386-disс2.iso
Redhat80-i386-disс3.iso (остальные не требуются)
Для инсталятора оракла нужен Sun JDK 1.3.1 для замены стандартного
jre который идет в поставке с ораклом. Качаю его c сайта www.sun.com
j2sdk-1_3_1_08-linux-i586.bin
Это самораспаковывающийся архив.
Далее с сервера www.oracle.com скачиваю дистрибутив оракла под линукс
для этого нужно зарегестрироваться на сайте:
lnx_920_disc1.cpio.gz
lnx_920_disc2.cpio.gz
lnx_920_disc3.cpio.gz
Создаю диски и iso имиджей Линукса.
Инсталирую Линукс в варианте Server, вполне можно ставить в оконном режиме.
Так получается даже удобнее.
Не забываем поставить mc - линуксовый вариант NC.
При инсталяции идем в авторазбиение и изменяем разделы так:
/boot 75Mb
/usr 1800 Mb
/ 750 Mb (можно и меньше, но там ведь темповый каталог)
swap 650 Mb
/opt - все остальное (3.88 Gb)
Настройка Linux.
1. Не забываю задать IP-адрес (динамический по каким-то причинам не работал) и реальное имя машине.
Открываю (в gedit) файл /etc/profile и вставляю в него записи переменных
окружения это общий profile файл поэтому эти переменные будут
у всех пользователей.
ORACLE_BASE=/opt/vendor/oracle
ORACLE_HOME=/opt/vendor/oracle/9.2.0.1.0
ORACLE_SID=orcl
SDEHOME=/opt/vendor/esri/sdeexe83
NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251
TNS_ADMIN=/opt/vendor/oracle/9.2.0.1.0/network/admin/tnsnames.ora
ESRI_ARCSDE_LICENSE_FILE <номер_порта>@<имя_лиц_сервера> (Имя лиц_сервера надо прописать в /etc/hosts)
export ORACLE_BASE ORACLE_HOME ORACLE_SID SDEHOME TNS_ADMIN ESRI_ARCSDE_LICENSE_FILE NLS_LANG
PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/lib:$ORACLE_HOME/network/lib:$SDEHOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/lib:$SDEHOME/lib:/lib/usr:/lib:/usr/local/lib
export PATH LD_LIBRARY_PATH
Здесь экспортируются домашния директория оракла, путь к базам данных оракла
и название базы данных которая создастся при установке (с другим названием базы были
проблемы вроде "файл не найден").
2. Копирую j2sdk-1_3_1_08-linux-i586.bin в каталог /usr/local и запускаю:
#sh j2sdk-1_3_1_08-linux-i586.bin
В итоге получаю такую директорию: jdk1.3.1_08
Делаю символическую ссылку на нее:
#ln -fs ./jdk1.3.1_08 ./jdk
Далее в дистрибутиве оракла надо будет изменить путь к jdk.
3. Cо дисков RedHat инсталлирую следующие пакеты необходимые для
запуска инсталятора Оракла:
glibc-common-2.2.93-5.i386.rpm (disk1)
glibc-2.2.93-5.i386.rpm (disk1)
glibc-2.2.93-5.i686.rpm (disk1)
glibc-common-2.2.93-5.i386.rpm (disk1)
glibc-kernelheaders...rpm (disk1)
libstdc++-devel-3.2.7.i386.rpm (disk1)
compat-libstdc++-7.3-2.9.6.110.i386.rpm (disk2)
compat-libstdc++-devel-7.3-2.9.6.110.i386.rpm (disk2)
compat-gcc-7.3-2.96.110.i386.rpm (disk2)
compat-libgcj-7.3-2.96.110.i386.rpm (disk2)
compat-libgcj-devel-7.3-2.96.110.i386.rpm (disk3)
nss_db-compat-2.2-17.i386.rpm (disk3)
pdksh-5.2.14-19.i386.rpm (disk3)
Кроме того, ставим Developer Tools (по умолчанию + gcc-objc), это 200-300 мегов, но без чего-то
из этого набора Oracle ставиться отказывается.
Если этого действия не выполнить то при запуске инсталятора будет
выдаваться ошибка.
Устанавливать можно из графич интерфейса (мне кажется - так удобнее),
а можно и из командной строки:
#rpm -I compat-libstdc++-7.3-2.9.6.110.i386.rpm
4. Меняю настройки ядра.
echo 250 32000 100 100 > /proc/sys/kernel/sem
echo 2147483648 > /proc/sys/kernel/shmmax
echo 4096 > /proc/sys/kernel/shmmni
echo 2097152 > /proc/sys/kernel/shmall
echo 65536 > /proc/sys/fs/file-max
echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range
Для того чтоб эти настройки оставались и после перезагрузки добавляю их в файл
/etc/rc.d/rc.local (в gedit)
Мой файл выглядит таким образом:
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don\'t
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
echo 250 32000 100 100 > /proc/sys/kernel/sem
echo 2147483648 > /proc/sys/kernel/shmmax
echo 4096 > /proc/sys/kernel/shmmni
echo 2097152 > /proc/sys/kernel/shmall
echo 65536 > /proc/sys/fs/file-max
echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range
5. Создаю пользователя oracle и группу dba.
#groupadd dba
#useradd -g dba oracle
Это же можно сделать и из графического интерфейса
6. Создаю директорию vendor в директории /opt и даю всем пользователям права на
запись в нее.
#chmod 777 /opt/vendor
7. Копирую три файла с дистрибутивом оракла в каталого /home/oracle и
распаковыйваю его.
#su oracle
#gzip -d lnx_920_disk1.cpio.gz
#gzip -d lnx_920_disk2.cpio.gz
#gzip -d lnx_920_disk3.cpio.gz
#cpio -idmv < lnx_920_disk1.cpio
#cpio -idmv < lnx_920_disk2.cpio
#cpio -idmv < lnx_920_disk3.cpio
В итоге получаю три директории Disk1 Disk2 и Disk3.
Можно сделать дистрибутивы на CD (диски должны содержать содержимое каталогов Disk1 Disk2 и Disk3),
метки дисков должны быть orcl920 (по крайней мере, у второго и третьего).
На втором и тертьем дисках не должно быть ни одного лишнего файла, только содержимое *.cpio.
8. Внесение изменений в дистрибутив оракла.
В файле /home/oracle/Disk1/install/linux/oraparam.ini
Значение JRE_LOCATION изменяем на /usr/local/jdk.
(в моем дистрибутиве это уже сделано на CD)
9. Все, теперь осталось запустить X-сервер и запустить файл
/home/oracle/Disk1/runInstaller.
Я (Дмитрий) выполнял инсталляцию на удаленной машине поэтому выполнил следующие
действия:
На сервере:
#export DISPLAY=10.0.0.100 #адрес моей рабочей станции с запущеным X сервером
На рабочей станции:
#xhost + # разрешил всем хостам подключатся к моей рабочей станции.
Если ставить локально, да еще и перед этим Linux ставить сразу с XWindow - то эти
действия (п. 9) пропускаем.
10. При установке указываете группу для работы с ораклом - dba.
Не забудьте включить поддержку русского языка в Product languages.
Ставим Oarcle Standart, базу - Custom.
в процессе у меня возникла ошибка:
Непомню как точно но что то про /ctx/lib/ins_ctx.mk
Это происходит в то время когда оракл делает следующее:
/usr/bin/make -f ins_ctx.mk install
ORACLE_HOME=/opt/oracle/product/9.2.0
Для ее устранения надо внести изменения в файл
/opt/vendor/oracle/9.2.0.1.0/ctx/lib/env_ctx.mk
В строке где встречается \"INSO_LINK =\", добавить \"$(LDLIBFLAG)dl\"
Так выглядит исправленная строка:
INSO_LINK = -L$(CTXLIB) $(LDLIBFLAG)m $(LDLIBFLAG)dl $(LDLIBFLAG)sc_ca
$(LDLIBFLAG)sc_fa $(LDLIBFLAG)sc_ex $(LDLIBFLAG)sc_da $(LDLIBFLAG)sc_ut
$(LDLIBFLAG)sc_ch $(LDLIBFLAG)sc_fi $(LLIBCTXHX) $(LDLIBFLAG)c -Wl,-
rpath,$(CTXHOME)lib $(CORELIBS) $(COMPEOBJS)
После этого нажимаю Retry и ошибка исчезает.
Если возникает ошибка по поводу ntcontab.o - не стоят Developer Tools
Все после этого оракл создает базу данных и заканчивает инсталляцию.
При создании базы:
Параметры распределения памяти:
Shared Poll 80MB
Buffer Cache 60Mb
Java Pool 32Mb
Lage Pool 16Mb
PGA 24Mb
Язык:
Character set CL8MSWIN1251
National char set UTF8
|