| |||||||||||||||||||||
Ключевые слова: oracle, freebsd, install, (найти похожие документы)
From: Grigory V. Staricov <hipsis_wb at centrogas.ru> Newsgroups: email Date: Mon, 14 Jan 2004 14:31:37 +0000 (UTC) Subject: Установка Oracle 9i на FreeBSD Оригинал на английском языке: http://ezine.daemonnews.org/200402/oracle.html Перевод и дополнения: Стариков Григорий Валерьевич 1. Oracle 9i при установке на FreeBSD вам понадобится следуйщие пэкеджи вы можете их поставить из портов или ручками: emulators/linux_base java/linux-sun-jdk13 devel/linux_devtools-7 2. После установки вам нужно распаковать дистрибутив Oracle. Сам дистрибутив вы можете свободно скачать с сайта otn.oracle.com. Для простоты установки советую создать так: # mkdir /usr/u01 /usr/u02 # ln -s /usr/u01 /u01 # ln -s /usr/u02 /u02 # mkdir -p /u01/stage /u01/app/oracle /u02/oradata После этого делаем саму распаковку: # cd /u01/stage # gzcat /path/to/ship_9204_linux_disk1.cpio.gz | cpio -idmv # gzcat /path/to/ship_9204_linux_disk2.cpio.gz | cpio -idmv # gzcat /path/to/ship_9204_linux_disk3.cpio.gz | cpio -idmv 3. После распаковки начнем настройку эмулятора Linux # cat /etc/fstab | grep -v '^#' | grep -v cd9660 | \ grep -v proc | grep -v swap | grep -v devfs > \ /compat/linux/etc/mtab # ln -s /usr/bin/awk /compat/linux/bin/awk # ln -s /usr/bin/sed /compat/linux/bin/sed # ln -s /usr/sbin/chown /compat/linux/sbin/chown # cat > /compat/linux/bin/arch #!/compat/linux/bin/bash echo i686 ^D # chmod +x /compat/linux/bin/arch # cd /usr/src/sys/i386/conf # cp GENERIC ORA9 # cat >> ORA9 options SEMMAP=128 options SEMMNI=128 options SEMMNS=32000 options SEMOPM=250 options SEMMSL=250 options SHMMAXPGS=65536 options SHMMNI=4096 options SHMSEG=4096 options MAXDSIZ="(1024*1027*1024)" options MAXSSIZ="(1024*1024*1024)" options DFLDSIZ="(1024*1024*1024)" options SHMMAX=2147483647 options SHMALL=2097152 ^D # make buildkernel KERNCONF=ORA9 # make installkernel KERNKONF=ORA9D # shutdown -r now 4. Создаем пользователя необходимые группы и пользователя oracle # cat >> /etc/group oraoper:*:97:oracle oradba:*:98:oracle oracle:*:99: # adduser Username: oracle Full name: Oracle Superuser Uid (Leave empty for default): 99 Login group [oracle]: <enter> Login group is oracle. Invite oracle into other groups? []: <enter> Login class [default]: <enter> Shell (sh csh tcsh ksh mudsh) [sh]: <enter> Home directory [/home/oracle]: <enter> Use password-based authentication? [yes]: <enter> Use an empty password? (yes/no) [no]: <enter> Use a random password? (yes/no) [no]: no Enter password: <some password> Enter password again: <some password> Lock out the account after creation? [no]: no ... OK? (yes/no): yes adduser: INFO: Successfully added (oracle) to the user database. Add another user? (yes/no): no Goodbye! # cat > /home/oracle/.profile ORACLE_BASE=/u02/oradata/ORA9D ORACLE_HOME=/u01/app/oracle/product/9.2.0.4 LD_LIBRARY_PATH=$ORACLE_HOME/lib ORACLE_SID=ORA9D CLASSPATH=$ORACLE_HOME/jdbc/lib/classes111.zip PATH=/compat/linux/bin:/compat/linux/sbin:/compat/linux/usr/bin:/compat/linux/usr/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:$ORACLE_HOME/bin; PS1='oracle-bsd>' NLS_LANG=RUSSIAN_CIS.RU8PC855 ORACLE_TERM=vt220; export ORACLE_TERM ORA_NLS=/u01/app/oracle/product/9.2.0.4/ocommon/nls/admin/data ORA_NLS32=/u01/app/oracle/product/9.2.0.4/ocommon/nls/admin/data export PS1 ORACLE_SID PATH NLS_LANG CLASSPATH ORACLE_TERM LD_LIBRARY_PATH ORACLE_HOME ORACLE_BASE ORA_NLS ORA_NLS32 ^D # chown oracle /home/oracle/.profile 5. Запуск установщика Для удобства я не устанавливал X11 т.к. у меня X-ы стоят на другой машине c IP 192.168.1.121. Для того чтобы экспортировать дисплей вам необходимо запустить X-ы, чтобы сервер слушал TCP # startx -listen_tcp Далее разрешим коннектиться к X-серверу (на стороне X сервера соответственно) # xhost +192.168.1.146 (IP адрес машины с будущим Oracle) После этого на машине с будущим Oracle # ee /u01/stage/Disk1/runInstaller Убираем строчки: if [ -f "/etc/redhat-release" ] then RHVER=`/bin/rpm -qf /etc/redhat-release --qf "%{VERSION}\n" 2> /dev/null` Check1=3*AS Check2=3*ES if [[ ($RHVER = $Check1) || ($RHVER = $Check2) ]]; then export LD_ASSUME_KERNEL=2.4.19 fi fi # su - oracle oracle-bsd> export DISPLAY=192.168.1.121:0.0 oracle-bsd> cd /u01/stage/Disk1 oracle-bsd> ee /u01/stage/Disk1/runInstaller Убираем строчки, находящиеся почти в самом конце: if [ -f "/etc/redhat-release" ] then RHVER=`/bin/rpm -qf /etc/redhat-release --qf "%{VERSION}\n" 2> /dev/null` Check1=3*AS Check2=3*ES if [[ ($RHVER = $Check1) || ($RHVER = $Check2) ]]; then export LD_ASSUME_KERNEL=2.4.19 fi fi oracle-bsd> ./runInstaller Советую оставить рутовый шелл на машине с будущим Oracle т.к. в процессе установки вам понадобится запустить 2-а скрипта (/tmp/orainstRoot.sh и $ORACLE_HOME/oracle/root.sh) из под root. 6. На той машине куда вы экспортировали дисплей появится универсальный установщик Oracle http://ezine.daemonnews.org/200402/screen-welcome.png После этого, если вы запускаете installer в первый раз, Вам будет предложено выбрать куда будет установлен Oracle Inventory: http://ezine.daemonnews.org/200402/screen-inventory.png Выберите группу пользвавателей для Oracle installer http://ezine.daemonnews.org/200402/screen-install-group.png После указания группы вам будет предложено запустить скрипт из под root /tmp/orainstRoot.sh http://ezine.daemonnews.org/200402/dialog-run-orainstroot.png # /compat/linux/bin/bash /tmp/orainstRoot.sh Укажите путь для вашего ORACLE_HOME http://ezine.daemonnews.org/200402/screen-orahome.png После этого вам предложат выбрать продукт для установки. Выбираем "Oracle Database" и нажимаем next. Так как вы ставите Oracle для Linux советую ставить только сам Oracle без каких-либо дополнительных компонентов. http://ezine.daemonnews.org/200402/screen-minimal.png Когда установщик попросит Вас указать привелегированные группы ввдедите "oradba" для OSDBA и "oraoper" для OSOPER. Пользователи, которые состоят в группе "oradba" могут запускать и останавливать oracle, а пользователи из группы "oraoper" имеют урезанные права. http://ezine.daemonnews.org/200402/screen-groups.png Когда установщик спросит про создание базы данных вы можете создать ее в процессе установки или потом самостоятельно. После этого начнется сам процесс установки как таковой http://ezine.daemonnews.org/200402/screen-summary.png В процессе установки вас попросят запустить 2-ой скрипт # /compat/linux/bin/bash \ /u01/app/oracle/product/9.2.0.1.0/root.sh Когда Вас спросят Enter the full pathname of the local bin directory: [/usr/local/bin]: <согласитесь с этим ENTER> После запуска root.sh запустятся постустановочные процессы в "Oracle Network Configuration Assistant" советую выбрать "Perform typical configuration" и давить next http://ezine.daemonnews.org/200402/screen-netca.png После "Oracle Network Configuration Assistant" установщик запустит "Database Configuration Assistant" , но только в том случае, если вы выбрали создать базу данных. На этом установка Oracle будет завершена http://ezine.daemonnews.org/200402/screen-whew.png 7. Запуск и создание базы данных Для запуска вам необходимо подправить файл $ORACLE_HOME/dbs/init.ora Добавив или изменив такие параметры control_files = (/db2/adpdb/control01.ctl, /redolog1/adpdb/control02.ctl, /redolog2/adpdb/control03.ctl) undo_management = auto compatible = 9.2.0 db_name = ORA9D oracle-bsd> sqlplus '/ as sysdba' SQL*Plus: Release 9.2.0.4.0 - Production on щтЁ с=╔ 31 15:48:59 2004 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. Connected to: Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production JServer Release 9.2.0.4.0 - Production SQL> Если у вас все так то вы все сделали правильно. Теперь создадим саму базу данных (если вы ее не создали при установке) SQL> STARTUP NOMOUNT PFILE = $ORACLE_HOME/dbs/init.ora SQL> CREATE DATABASE ORA9D LOGFILE group 1 ('/u02/oradata/ORA9D/redolog1a.dbf','/u02/oradata/ORA9D/redolog1b.dbf' ) SIZE 10M, group 2 ('/u02/oradata/ORA9D/redolog2a.dbf','/u02/oradata/ORA9D/redolog2b.dbf' ) SIZE 10M, group 3 ('/u02/oradata/ORA9D/redolog3a.dbf','/u02/oradata/ORA9D/redolog3b.dbf' ) SIZE 10M DATAFILE '/u02/oradata/ORA9D/system.dbf' SIZE 400M CHARACTER SET RU8PC855 national character set utf8 EXTENT MANAGEMENT LOCAL undo tablespace ts_undo datafile '/u02/oradata/ORA9D/undo.dbf' size 50M default temporary tablespace ts_temp tempfile '/u02/oradata/ORA9D/temp01.dbf' size 50M autoextend on next 50M maxsize 300M; После создания базы данных необходимо запустить несколько sql скриптов. SQL>@?/rdbms/admin/catalog.sql SQL>@?/rdbms/admin/catproc.sql SQL>@?/rdbms/admin/caths.sql После этого завершаем работу с oracle и останавливаем сервер SQL> shutdomn immediate 8. Скопируйте $ORACLE_HOME/dbs/init.ora $ORACLE_HOME/dbs/initORA9D.ora. Для того чтобы вы могли коннектиться удалленно к серверу вам необходимо сощдать файл с паролями oracle-bsd> orapwd file=/u01/app/oracle/product/9.2.0.4/dbs/orapwORA9D password=oracle После этого настроим автозапуск сервера Oracle создадим такой файл # touch /usr/local/etc/rc.d/oracle.sh /usr/local/etc/rc.d/orastart.sql /usr/local/etc/rc.d/orashut.sql # cat /usr/local/etc/rc.d/oracle.sh #!/bin/sh case "$1" in start) echo -n ' oracle ' su -l oracle -c 'sqlplus @/usr/local/etc/rc.d/orastart.sql; exec tnslsnr' & sleep 10 ;; stop) echo -n ' oracle ' su -l oracle -c 'killall tnslsnr; sqlplus @/usr/local/etc/rc.d/orashut.sql; rm $ORACLE_HOME/dbs/lk*' & sleep 10 ;; *) echo >&2 "usage: $0 start|stop" ;; esac ^D # cat /usr/local/etc/rc.d/orastart.sql connect / as sysdba startup quit ^D # cat /usr/local/etc/rc.d/orashut.sql connect / as sysdba shutdown immediate quit ^D # chown oracle:oracle /usr/local/etc/rc.d/oras*.sql После этого создайте в /etc файл oratab oracle-bsd> touch /etc/oratab oracle-bsd> cat /etc/oratab ORA9D:/usr/u01/app/oracle/product/9.2.0.4:Y ^D Настройте listener oracle-bsd> touch /etc/listener.ora oracle-bsd> cat /etc/listener.ora LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.146)(PORT = 1521)) ) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = ORA9D) (ORACLE_HOME = /usr/u01/app/oracle/product/9.2.0.4) (PROGRAM = extproc) ) ) ^D oracle-bsd> cat $ORACLE_HOME/network/admin/tnsnames.ora ORA9D = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.146)(PORT = 1521)) ) (CONNECT_DATA = (SID = ORA9D) ) ) ^D 9. После этого все готово к работе. Можно смело запускать /usr/local/etc/rc.d/oracle.sh start
| |||||||||||||||||||||
|
|