Установка СУБД ORACLE 11gR2 на отдельно стоящий сервер под управлением ОС ORACLE Linux 6

Источник: habrahabr
phozzy

В данной статье описана процедура установки СУБД ORACLE 11gR2 на stand-alone сервер под управлением ОС ORACLE Linux 6.

Предисловие

Если Вы это читаете, то я рекомендую Вам прекратить это. Обратите внимание на другие православные СУБД, такие как PostgreSQL и др. Так же можно рассмотреть дзеновские СУБД, относящиеся к NoSQL. Единственным оправданием для дальнейщего чтения может являться прижатый к виску пистолет (или что-нибудь в этом духе).
Так же считается, что используемый Вами продукт подкреплен соответствующей лицензией. Организация, в которой идёт эта установка, является счастливым обладателем Oracle Standard Edition лицензии, посему будет рассматриваться установка этой версии. Но разница при установке будет только на заключительных этапах.
Данная инструкция писалась в процессе установки СУБД для возможности повторить ее сотрудником с любой квалификацией. В связи с чем я постарался расписать все максимально подробно. Некоторые вещи могут показаться очевидными, что ни в коей мере не ставит под сомнение квалификацию хабражителей.

Предварительные требования к оператору

Понимать написанное здесь. Желательно быть зарегистрированным в Red Hat для полного доступа к документации, ибо ссылок здесь на нее не будет, так как доступна она тольк для подписчиков. Для примера: здесь для подписчиков доступен pdf с инструкцией по установке ORACLE на RHEL6.

Установка ОС ORACLE Linux 6

Устанавливаем ОС Linux ORACLE 6 с дистрибутива, скаченного с e-delivery (Можно использовать любой другой клон RHEL5, для других клонов нужно будет ручками доустановить oracle-rdbms-server-11gR2-preinstall.x86_64 oracleasm-support.x86_64, только для клонов RHEL5). При установке обратить внимание на следующее:

  1. Необходимо, чтобы сервер СУБД ORACLE имел FQDN. Для этого вносим соответствующую запись в свой сервер доменных имен. В нашем случае это будет oracleserver.kontora.ru.
  2. Язык установки для удобства выбираем русский, раскладку клавиатуры американскую.
  3. Разбитие жестких дисков (рекомендуется не использовать логические тома для дисков ASM, кроме всего прочего это дает бонусок в виде возможности использования правил udev вместо библиотеки ASMLib, что позволит оставить SELINUX включенным, но в виду ограниченности ресурсов я их использую):
    1. Раздел /boot, большинство дистрибутивов рекомендуют для него 512MB.
    2. Оставшееся дисковое пространство под PVM (физический раздел для создания группы томов).
    3. Создадим группу томов и присвоим ей имя "vg_oracleserver". Создадим в ней следующие разделы:
      1. swap - для 64-битных систем равно ОЗУ при ОЗУ =< 32 ГБ, или равно 32 ГБ при ОЗУ большого размера (ссылка) с вероятностью близкой к 1 установка идет на данном типе оборудования. [на просторах интернета встречается мнение, что 250 рублей спасут отца Русской Демократии хватит 16 ГБ]
      2. temp - минимум 1 ГБ (можно больше).
      3. 640 КБ хватит всем 32 ГБ должно хватить для корневой директории (саму базу бдем держать в ASM), можно создать, разные блочные устройства для каждой директории, но они не будут отличаться по параметрам монтирования.
      4. Разделы для ASM будут созданы в процессе установки.

    4. Тип установки "Basic server", выбираем настроить список пакетов сейчас:
      1. в базовых пакетах добавляем группу пакетов совместимости с прежними выпусками линукс и группу пакетов совеместимости с юниксами;
      2. в группе серверов выбираем пакеты администрирования и отмечаем пакеты, начинающиеся на oracle* (далее считается, что эти пакеты у Вас установлены, и соответствено связанные с ними параметры уже имеются, при установке на RHEL6 эти пакеты нужно будет доустановить вручную).


После перезагрузки подключиться к серверу через защищенную оболчку
$ ssh root@oracleserver

После установки добавить репозиторий EPEL (опционально, я его использую только из-за bash-completion). Обновить систему (обязательно)!!!
# yum install download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# yum -y upgrade

Пакет oracle-rdbms-server-11gR2-preinstall добавляет системных пользователей и настраивает параметры системы для запуска СУБД ORACLE, но НАМ этого не достаточно, поэтому делаем следующее:

  1. создадим группы пользователей
    # groupadd -g 54321 oinstall (уже есть!!!)
    # groupadd -g 54322 dba (уже есть!!!)
    # groupadd -g 54324 asmadmin
    # groupadd -g 54326 asmdba
    # groupadd -g 54327 asmoper

  2. создадим пользователей и определим их группы
    # usermod -G asmdba,dba oracle
    # useradd -u 54322 -g oinstall -G asmadmin,asmdba,asmoper,dba grid

  3. создадим пароли
    # passwd oracle
    # passwd grid

  4. зададим правила SELINUX
    # vim /etc/selinux/config
    заменим SELINUX=enabled
    на SELINUX=disabled
    Данное действие ужасно, но оно требуется официальной документацией ORACLE. Судя по документации RedHat, этот пункт можно обойти, если использовать udev вместо ASMlib (при наличии железа и времени проверю, но пока что работаем по документации ORACLE).
  5. зададим правла сетевого экрана
    # vim /etc/sysconfig/iptables
    закоментируем запрещающие строки и перезапустим
    # service iptables restart
    Опять же ужасное действие, и опять же требуемое документацией. Хотя после установки можно поэкспериментировать и добиться устойчивой работы.
  6. эти пакеты должны быть установлены (версии могут отличаться!!!):
    binutils-2.20.51.0.2-5.11.el6 (x86_64)
    compat-libcap1-1.10-1 (x86_64)
    compat-libstdc++-33-3.2.3-69.el6 (x86_64)
    compat-libstdc++-33-3.2.3-69.el6.i686
    gcc-4.4.4-13.el6 (x86_64)
    gcc-c++-4.4.4-13.el6 (x86_64)
    glibc-2.12-1.7.el6 (i686)
    glibc-2.12-1.7.el6 (x86_64)
    glibc-devel-2.12-1.7.el6 (x86_64)
    glibc-devel-2.12-1.7.el6.i686
    ksh
    libgcc-4.4.4-13.el6 (i686)
    libgcc-4.4.4-13.el6 (x86_64)
    libstdc++-4.4.4-13.el6 (x86_64)
    libstdc++-4.4.4-13.el6.i686
    libstdc++-devel-4.4.4-13.el6 (x86_64)
    libstdc++-devel-4.4.4-13.el6.i686
    libaio-0.3.107-10.el6 (x86_64)
    libaio-0.3.107-10.el6.i686
    libaio-devel-0.3.107-10.el6 (x86_64)
    libaio-devel-0.3.107-10.el6.i686
    make-3.81-19.el6
    sysstat-9.0.4-11.el6 (x86_64)

  7. устанавливаем пакеты unixODBC и unixODBC-devel обоих разрядностей
  8. устанавливаем и запускаем демона настройки профиля ОС:
    # yum install tuned
    # chkconfig tuned on
    # tuned-adm profile enterprise-storage

    Взято из файла, полученного по подписке Red Hat.
  9. настраиваем 'huge pages' для ORACLE

    1. находим размер одной страницы
      # grep Hugepagesize /proc/meminfo
      в моем случае это было 2048kB
    2. т.е. для создания набора страниц размером 1GB нам понадобится 512 страниц:
      # echo '# Number of hugepages to use' >> /etc/sysctl.conf
      # echo vm.nr_hugepages=512 >> /etc/sysctl.conf
      # echo >> /etc/sysctl.conf
      # sysctl -p

    3. так как статичные 'huge pages' зафиксированы в памяти и не могут быть перенесены в swap пользователям oracle и grid нужны права на использование этой памяти (далее для случая описанного выше в пункте 2):
      # echo '# hugepages access by oracle user' >> /etc/security/limits.conf
      # echo 'oracle hard memlock 1048576' >> /etc/security/limits.conf
      # echo 'oracle soft memlock 1048576' >> /etc/security/limits.conf
      # echo >> /etc/security/limits.conf
      # echo '# huge pages access by grid user.' >> /etc/security/limits.conf
      # echo 'grid hard memlock 1048576' >> /etc/security/limits.conf
      # echo 'grid soft memlock 1048576' >> /etc/security/limits.conf
      # echo >> /etc/security/limits.conf


  10. следующие параметры рекомендованы для контроля частоты обращений к памяти:
    # echo '# These parameters a recommended to control the rate at which virtual memory is reclaimed' >> /etc/sysctl.conf
    # echo vm.swappiness=0 >> /etc/sysctl.conf
    # echo vm.dirty_background_ratio=3 >> /etc/sysctl.conf
    # echo vm.dirty_ratio=15 >> /etc/sysctl.conf
    # echo vm.dirty_expire_centisecs=500 >> /etc/sysctl.conf
    # echo vm.dirty_writeback_centisecs=100 >> /etc/sysctl.conf
    # echo >> /etc/sysctl.conf
    # sysctl -p

  11. создадим ограничения оболочки для пользователя grid аналогично ограничениям оболочки пользователя oracle, созданного выбранными при установке пакетами
    # echo '# grid setting for nofile soft limit is 1024' >> /etc/security/limits.conf
    # echo 'grid soft nofile 1024' >> /etc/security/limits.conf
    # echo '# grid setting for nofile hard limit is 65536' >> /etc/security/limits.conf
    # echo 'grid hard nofile 65536' >> /etc/security/limits.conf
    # echo '# grid setting for nproc soft limit is 2047' >> /etc/security/limits.conf
    # echo 'grid soft nproc 2047' >> /etc/security/limits.conf
    # echo '# grid setting for nproc hard limit is 16384' >> /etc/security/limits.conf
    # echo 'grid hard nproc 16384' >> /etc/security/limits.conf
    # echo '# grid setting for stack soft limit is 10240KB' >> /etc/security/limits.conf
    # echo 'grid soft stack 10240' >> /etc/security/limits.conf
    # echo '# grid setting for stack hard limit is 32768KB' >> /etc/security/limits.conf
    # echo 'grid hard stack 32768' >> /etc/security/limits.conf
    # echo >> /etc/security/limits.conf

  12. оптимизируем параметры ядра для сети
    # echo '# Additional network parameters' >> /etc/sysctl.conf
    # echo 'net.ipv4.tcp_wmem = 262144 262144 262144' >> /etc/sysctl.conf
    # echo 'net.ipv4.tcp_rmem = 4194304 4194304 4194304' >> /etc/sysctl.conf
    # echo >> /etc/sysctl.conf
    # sysctl -p

  13. добавим в файл /etc/pam.d/login строку
    # echo 'session required pam_limits.so' >> /etc/pam.d/login
  14. создадим скрипт определяющий параметры оболочки
    # touch /etc/profile.d/oraclegrid.sh
    # echo '#!/bin/bash' > /etc/profile.d/oraclegrid.sh
    # echo 'if [ $USER = "oracle" ] // [ $USER = "grid" ]; then' >> /etc/profile.d/oraclegrid.sh
    # echo 'if [ $SHELL = "/bin/ksh" ]; then' >> /etc/profile.d/oraclegrid.sh
    # echo 'ulimit -p 16384' >> /etc/profile.d/oraclegrid.sh
    # echo 'ulimit -n 65536' >> /etc/profile.d/oraclegrid.sh
    # echo 'else' >> /etc/profile.d/oraclegrid.sh
    # echo 'ulimit -u 16384 -n 65536' >> /etc/profile.d/oraclegrid.sh
    # echo 'fi' >> /etc/profile.d/oraclegrid.sh
    # echo 'umask 022' >> /etc/profile.d/oraclegrid.sh
    # echo 'fi' >> /etc/profile.d/oraclegrid.sh
    # chmod +x /etc/profile.d/oraclegrid.sh

Создадим папки:

  1. Oracle Inventory
    # mkdir -p /u01/app/oraInventory
    # chown -R grid:oinstall /u01/app/oraInventory
    # chmod -R 775 /u01/app/oraInventory

  2. Grid Infrastructure Home
    # mkdir -p /u01/11.2.0/grid
    # chown -R grid:oinstall /u01/11.2.0/grid
    # chmod -R 775 /u01/11.2.0/grid

  3. Oracle Base Directory
    # mkdir -p /u01/app/oracle
    # mkdir /u01/app/oracle/cfgtoollogs
    # chown -R oracle:oinstall /u01/app/oracle
    # chmod -R 775 /u01/app/oracle

  4. Oracle RDBMS Home
    # mkdir -p /u01/app/oracle/product/11.2.0/db_1
    # chown -R oracle:oinstall /u01/app/oracle/product/11.2.0/db_1
    # chmod -R 775 /u01/app/oracle/product/11.2.0/db_1

Продублируем FQDN в файле /etc/hosts

С общими параметрами системами все.

Настройка GRID

Установка Automatic Storage Management Library (ASM Lib) Driver.
Пакет oracleasm устанавливать не нужно, так как он включени в ядро Oracle Linux. Пакет oracleasm-support мы установили в процессе установки ОС, выбрав пакеты, начинающиеся на oracle* , если вдруг он не установлен мы можем установить его из публичного репозитория. Поэтому нам остается установить только oracleasmlib .
# yum -y install download.oracle.com/otn_software/asmlib/oracleasmlib-2.0.4-1.el6.x86_64.rpm

Настраиваем ASMLib
# /etc/init.d/oracleasm configure
This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets ('[]'). Hitting without typing an
answer will keep that current value. Ctrl-C will abort.
Default user to own the driver interface []: grid
Default group to own the driver interface []: asmadmin
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]:
Writing Oracle ASM library driver configuration: done
Initializing the Oracle ASMLib driver: [ OK ]
Scanning the system for Oracle ASMLib disks: [ OK ]

Создадим диски для ASM

  1. определим свободное дисковое пространство:
    # vgdisplay vg_oracleserver
    - Volume group - VG Name vg_oracleserver
    System ID
    Format lvm2
    Metadata Areas 1
    Metadata Sequence No 4
    VG Access read/write
    VG Status resizable
    MAX LV 0
    Cur LV 3
    Open LV 3
    Max PV 0
    Cur PV 1
    Act PV 1
    VG Size 930,38 GiB
    PE Size 4,00 MiB
    Total PE 238177
    Alloc PE / Size 12544 / 49,00 GiB
    Free PE / Size 225633 / 881,38 GiB
    VG UUID LvgSW2-ZILO-KOZf-ZwAY-8WBB-9X2u-lzaWuv
  2. размеры дисков определяются индивидуально. Я для Redo Logs оставил 80ГБ, остальное пространство разделил поровну между db files и FRA.
    # lvcreate -L81,37G -n lvasmredo vg_oracleserver
    # lvcreate -L400G -n lvasmfra vg_oracleserver
    # lvcreate -L400G -n lvasmdata vg_oracleserver

Создадим диски ASM
# oracleasm createdisk ASMDATA01 /dev/vg_oracleserver/lvasmdata
# oracleasm createdisk ASMFRA02 /dev/vg_oracleserver/lvasmfra
# oracleasm createdisk ASMREDO02 /dev/vg_oracleserver/lvasmredo

Проверим их
# oracleasm listdisks
ASMDATA01
ASMFRA02
ASMREDO02
# ls -ltr /dev/oracleasm/disks
итого 0
brw-rw---- 1 grid asmadmin 252, 7 Ноя 12 06:15 ASMDATA01
brw-rw---- 1 grid asmadmin 252, 8 Ноя 12 06:15 ASMFRA02
brw-rw---- 1 grid asmadmin 252, 6 Ноя 12 06:16 ASMREDO02
# oracleasm-discover ORCL:*
Using ASMLib from /opt/oracle/extapi/64/asm/orcl/1/libasm.so
[ASM Library - Generic Linux, version 2.0.4 (KABI_V2)]
Discovered disk: ORCL:ASMDATA01 [838860800 blocks (429496729600 bytes), maxio 512]
Discovered disk: ORCL:ASMFRA02 [838860800 blocks (429496729600 bytes), maxio 512]
Discovered disk: ORCL:ASMREDO02 [170647552 blocks (87371546624 bytes), maxio 512]

Установим параметры оболочки пользователя grid
# echo 'ORACLE_HOME=/u01/11.2.0/grid' >> /home/grid/.bash_profile
# echo 'ORACLE_SID=+ASM' >> /home/grid/.bash_profile
# echo 'PATH=$ORACLE_HOME/bin:$PATH' >> /home/grid/.bash_profile
# echo 'export ORACLE_HOME' >> /home/grid/.bash_profile
# echo 'export ORACLE_SID' >> /home/grid/.bash_profile
# echo 'export PATH' >> /home/grid/.bash_profile

!!! ВАЖНО!!! Установщик ORACLE GRID вероятнее всего расчитан на SysV систему инициализации, в то время как 6-ая версия Enterprise Linux использует Upstart. В связи с этим установщик при попытке инициализации демона OHASD выдает ошибку и завершает работу некоректно. В связи с этим необходимо до начала установки создать следующий файл (дату и имя соответствено используйте свое):
# touch /etc/init/ohasd.conf
# echo '#start init.ohasd' > /etc/init/ohasd.conf
# echo '# What: oracle high-availability watchdog' >> /etc/init/ohasd.conf
# echo '# When 12_11_2012' >> /etc/init/ohasd.conf
# echo '# Who: Arthur' >> /etc/init/ohasd.conf
# echo 'start on runlevel [35]' >> /etc/init/ohasd.conf
# echo 'stop on runlevel [016]' >> /etc/init/ohasd.conf
# echo 'respawn' >> /etc/init/ohasd.conf
# echo 'exec /etc/init.d/init.ohasd run >/dev/null 2>&1 </dev/null' >> /etc/init/ohasd.conf

!!! ВАЖНО!!! в определенный момент неопходимо будет вручную запустить этого демона, поэтому держим открытой вторую консоль с правами root.

Со своей рабочей станции идём на e-delivery, авторизуемся, соглашаемся с правилами. Выбираем продукт: "Oracle Database", платформу: "Linux x86-64". В появившейся табличке выбираем "Oracle® Database 11g Release 2 (в моем случае 11.2.0.1.0) Media Pack for Linux x86-64" и нажимаем кнопку продолжить. Выбираем загрузить "Oracle Database 11g Release 2 Grid Infrastructure (в моем случае 11.2.0.1.0) for Linux x86-64".

Копируем скачанный файл на сервер в домашнюю папку пользователя grid
$ scp V17531-01.zip grid@oracleserver:~/

Подключаемся к серверу под учетной записью grid (будем использовать так ныне нелюбимую сетевую прозрачность X-server"а)
$ ssh -Y grid@oracleserver

Разрешим доступ к X-приложениям с других компьютеров
$ xhost +
можете на свое усмотрение ограничить узлы, с которых возможно подключение.

Распакуем архив
$ unzip V17531-01.zip

Перейдем в папку ~/grid и запустим установщик
$ cd ~/grid/
$ ./runInstaller

Starting Oracle Universal Installer…

Checking Temp space: must be greater than 120 MB. Actual 955 MB Passed
Checking swap space: must be greater than 150 MB. Actual 16383 MB Passed
Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2012-11-12_06-30-47PM. Please wait…

Далее установка пойдет в графическом режиме

  1. В первом окне выбираем "установка и настройка инфрастуктуры grid для одиночного сервера"
  2. во втором окне выбираем английский и русский языки
  3. В третьем окне выбираем диск для данный (надежность у нас обеспечивается благодаря RAID, поэтому выбираем external)
  4. создадим пароль для пользователей SYS и ASMSNMP
  5. может ругнуться на качество пароля (тут уж решаем менять пароль или игнорировать)
  6. выберем группы пользователей
  7. выберем пути для файлов БД и Grid
  8. выберем путь для инвентори
  9. установщик проверит зависимости и матерно ругнется
  10. но мы его пошлем, поставив галочку "Ignore All" ибо все зависимости мы решили в начале установки
  11. сохраним файл-ответов. мы сможем использовать его при установке Oracle без графической среды
  12. Нажимаем кнопку "Готово" и наблюдаем процесс установки, до того момента, когда откроется следующее сообщение
  13. открываем новую безопасную оболочку с пользователем root (одна у нас уже есть, всего после этого открыто 2 оболочки с пользователем root и 1 под пользователем grid) и выполняем требуемые скрипты:
    # /u01/app/oraInventory/orainstRoot.sh
    Changing permissions of /u01/app/oraInventory.
    Adding read,write permissions for group.
    Removing read,write,execute permissions for world.

    Changing groupname of /u01/app/oraInventory to oinstall.
    The execution of the script is complete.

    # /u01/11.2.0/grid/root.sh
    Running Oracle 11g root.sh script…

    The following environment variables are set as:
    ORACLE_OWNER= grid
    ORACLE_HOME= /u01/11.2.0/grid

    Enter the full pathname of the local bin directory: [/usr/local/bin]:
    Copying dbhome to /usr/local/bin…
    Copying oraenv to /usr/local/bin…
    Copying coraenv to /usr/local/bin…

    Creating /etc/oratab file…
    Entries will be added to the /etc/oratab file as needed by
    Database Configuration Assistant when a database is created
    Finished running generic part of root.sh script.
    Now product-specific root actions will be performed.
    2012-11-12 21:11:43: Checking for super user privileges
    2012-11-12 21:11:43: User has super user privileges
    2012-11-12 21:11:43: Parsing the host name
    Using configuration parameter file: /u01/11.2.0/grid/crs/install/crsconfig_params
    Creating trace directory
    LOCAL ADD MODE
    Creating OCR keys for user 'grid', privgrp 'oinstall'…
    Operation successful.
    CRS-4664: Node oracleserver successfully pinned.
    Adding daemon to inittab

  14. в этот момент выполнение скрипта застопоривается ( пункт 3.h и 3.i), идем во вторую сессию root и выполняем
    # initctl start ohasd
    ohasd start/running, process 6933
  15. выполнение скрипта продолжится
    CRS-4123: Oracle High Availability Services has been started.
    ohasd is starting
    ADVM/ACFS is not supported on oraclelinux-release-6Server-3.0.2.x86_64

    oracleserver 2012/11/12 21:18:34 /u01/11.2.0/grid/cdata/oracleserver/backup_20121112_211834.olr
    Successfully configured Oracle Grid Infrastructure for a Standalone Server
    Updating inventory properties for clusterware
    Starting Oracle Universal Installer…

    Checking swap space: must be greater than 500 MB. Actual 16371 MB Passed
    The inventory pointer is located at /etc/oraInst.loc
    The inventory is located at /u01/app/oraInventory
    'UpdateNodeList' was successful.

  16. После этого идем и нажимаем в окошечке "OK"
  17. финита ля комедиа

Добавим остальные группы дисков ASM

  1. в сессии с пользователем grid вполним
    $ asmca

  2. в первом окне выберем кнопку "create"
  3. в сплывающем окне создадим группу FRA, отказоуйстойчивость внешняя (используем RAID), выбираем диск ASMFRA02
  4. делаем аналогичное для REDO
  5. в результате получаем
  6. За сим установка GRID завершена.

Установка ORACLE СУБД

Установим параметры оболочки пользователя oracle
# echo 'ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1' >> /home/oracle/.bash_profile
# echo 'ORACLE_SID=LOC11' >> /home/oracle/.bash_profile
# echo 'PATH=$ORACLE_HOME/bin:$PATH' >> /home/oracle/.bash_profile
# echo 'export ORACLE_HOME' >> /home/oracle/.bash_profile
# echo 'export ORACLE_SID' >> /home/oracle/.bash_profile
# echo 'export PATH' >> /home/oracle/.bash_profile

Со своей рабочей станции идём на e-delivery, авторизуемся, соглашаемся с правилами. Выбираем продукт: "Oracle Database", платформу: "Linux x86-64". В появившейся табличке выбираем "Oracle® Database 11g Release 2 (в моем случае 11.2.0.1.0) Media Pack for Linux x86-64" и нажимаем кнопку продолжить. Выбираем загрузить "Oracle Database 11g Release 2 (в моем случае 11.2.0.1.0) for Linux x86-64 (Part 1 of 2)" и "Oracle Database 11g Release 2 (в моем случае 11.2.0.1.0) for Linux x86-64 (Part 2 of 2)".

Копируем скачанный файл на сервер в домашнюю папку пользователя oracle
$ scp V17530-01_* oracle@oracleserver:~/

Подключаемся к серверу под учетной записью oracle (будем использовать так ныне нелюбимую сетевую прозрачность X-server"а)
$ ssh -Y oracle@oracleserver

Разрешим доступ к X-приложениям с других компьютеров
$ xhost +
можете на свое усмотрение ограничить узлы, с которых возможно подключение.

Распакуем архив
$ unzip V17530-01_1of2.zip
$ unzip V17530-01_2of2.zip

Перейдём в папку ~/database и запустим установщик
$ cd ~/database/
$ ./runInstaller

Starting Oracle Universal Installer…

Checking Temp space: must be greater than 120 MB. Actual 953 MB Passed
Checking swap space: must be greater than 150 MB. Actual 16383 MB Passed
Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2012-11-20_06-30-25PM. Please wait…

Далее установка идёт в графическом режиме

  1. в первом окне откажемся получать обновления от тех. поддержки Оракл (рекомендация производителя используемого ПО)
  2. соглашаемся с предупреждением
  3. во втором окне выбираем только установить ПО базы данных
  4. в третьем окне выбираем установку одиночной базы данных
  5. в четвертом окне выбираем языки
  6. мы являемся счастливыми обладателями лицензии на Oracle Standard Edition, поэтому в следующем окне выбираем ее
  7. выбираем пути установки
  8. выбираем группы пользователей
  9. игнорируем всЁ!!! (авось взлетит)
  10. рекомендуется сохранить файл ответов и запустить установку
  11. как это выглядит
  12. необходимо будет выполнить скрипт, указанный во всплывающем окошке

    # /u01/app/oracle/product/11.2.0/db_1/root.sh
    Running Oracle 11g root.sh script…

    The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME= /u01/app/oracle/product/11.2.0/db_1

    Enter the full pathname of the local bin directory: [/usr/local/bin]:
    The file "dbhome" already exists in /usr/local/bin. Overwrite it? (y/n)
    [n]:
    The file "oraenv" already exists in /usr/local/bin. Overwrite it? (y/n)
    [n]:
    The file "coraenv" already exists in /usr/local/bin. Overwrite it? (y/n)
    [n]:

    Entries will be added to the /etc/oratab file as needed by
    Database Configuration Assistant when a database is created
    Finished running generic part of root.sh script.
    Now product-specific root actions will be performed.
    Finished product-specific root actions.

  13. Поздравляю! Вы счастливый обладатель СУБД ORACLE.

Создание базы

Перед созданием базы необходимо:

  1. проверить права доступа к файлам и папкам:
    1. Oracle Inventory
      # chown -R grid:oinstall /u01/app/oraInventory
      # chmod -R 775 /u01/app/oraInventory

    2. Grid Infrastructure Home
      # chown -R grid:oinstall /u01/11.2.0/grid
      # chmod -R 775 /u01/11.2.0/grid

    3. Oracle Base Directory
      # chown -R oracle:oinstall /u01/app/oracle
      # chmod -R 775 /u01/app/oracle

    4. Oracle RDBMS Home
      # chown -R oracle:oinstall /u01/app/oracle/product/11.2.0/db_1
      # chmod -R 775 /u01/app/oracle/product/11.2.0/db_1


  2. изменить права доступа на
    # cd /u01/11.2.0/grid/bin/
    # chmod 6751 oracle
    # ls -l oracle

    -rwsr-s--x 1 grid oinstall 184285623 Ноя 12 21:06 oracle

    # cd /u01/app/oracle/product/11.2.0/db_1/bin
    # chmod 6751 oracle
    # -l oracle

    -rwsr-s--x 1 oracle asmadmin 199650019 Ноя 20 20:24 oracle

Подключаемся к серверу под учетной записью oracle (будем использовать так ныне нелюбимую сетевую прозрачность X-server"а)
$ ssh -Y oracle@oracleserver

На всякий случай опять разрешим доступ к X-приложениям
$ xhost +
можете на свое усмотрение ограничить узлы, с которых возможно подключение.

Запускаем настройку базы данных
$ dbca

Дальше действуем по инструкции, прилагающимся к Вашему программному обеспечению. С этого этапа можно не боятся ошибок, в любой момент можно будет удалить "сломанную" базу и создать новую.

Спасибо за внимание!


Страница сайта http://www.interface.ru
Оригинал находится по адресу http://www.interface.ru/home.asp?artId=34601