Сервер переехал на новый сайт http://www.oraclegis.com/blog. Здесь идет ретрансляция

пятница, 14 ноября 2008 г.

Инсталляция СУБД Oracle для Linux (VMWare) – Oracle Enteprise Linux

Для работы нам понадобится

1. VMWare Server http://www.vmware.com/products/server/. Нужно скачать сам сервер и зарегистрироваться для получения серийного номер. Продукт абсолютно бесплатный. Инсталляция его проблем не приносит.

2. Oracle Enterprise Linux – можно использовать также другие версии Linux, но эту версия обладает рядом преимущест (помимо того, что она выпускается корпорацией Oracle :)

  • Для тестирования бесплатная
  • Легко скачать с интернет
  • Полная совместимость с Red Hat.
  • Включен ряд пакетов специально для СУБД Oracle

Качаем отсюда http://www.oracle.com/technologies/linux/index.html. Для себя я выбрал версию Oracle Enterprise Linux 4 Update 7. Достаточно пропатчена плюс достаточно консервативна с минимумом всяких рюшечек.

3. Oracle Database 11.1.0.6 for Linux берем отсюда http://www.oracle.com/technology/software/products/database/index.html

4. Желательно, но не обязательно иметь патч 11.1.0.7. Берем как обычно с metalink.oracle.com. Патч имеет номер 6890831.

5. Far 1.7. Нужен будет для удобства передачи данных на виртуальную машину. http://www.rarlab.com/download.htm

6. WinSCP Far Plugin http://winscp.net/eng/download.php. Позволяет работать с виртуальной машиной через протокол SSH, как через обычный FTP.

7. PuTTY  http://www.chiark.greenend.org.uk/~sgtatham/putty/. Также не обязателей, но очень удобен в работе.

Когда все это у нас есть – приступаем к инсталляции.

 

1. Создание виртуальной машины Oracle Enteprise Linux

  1. Создаем виртуальную машину
      image
  2. Указываем, что виртуальная машина Red Hat Enterprise Linux 4 
    image
  3. Выделим 1 Гб для виртуальной машины – это минимальный рекомендованный объем памяти для Oracle Database 11.1.0.6
     image
  4. Создаем новый виртуальный диск размером 100 Гб (объем, занимаемый на диске будет зависеть от реального использованного пространства)
    image
  5. Сетевой адаптер укажем Bridged. В этом случае виртуальная машина будет доступна в сети и к ней можно будет подключаться с любого компьютера в Вашей локальной сетке.
    image
  6. Указываем, что хоти использовать физический DVD диск
    image
  7. Мапим этот диск на любой из физических DVD-ROMов.
    image
  8. Floppy диск говорим не добавлять вообще
    image
  9. Добавляем USB – в будущем будет полезно, если захотим цеплять USB диск или флешку снаружи.
    image 
  10. Соглашаемся с конфигурацией на последнем экране
    image

Мы создали виртуальную машину. Теперь она стоит и мигает нам разными огоньками. Давайте запустим ее. Для этого вверху нажмем такую зелененькую кнопочку.
image

Виртуалка запустится. Я использовал в качестве браузера Chrome и при переходе на закладку Console увидел замечательное сообщение
image

Как не жалко, но пришлось уходить в Internet Explorer. В Internet Explorer кликнем на Install Plug-in и чудесным образом увидим выскочит окошко, предлагающее инсталляцию специальной Vmware Console.
image

В ней надо будет кликнуть на ссылку Open the console in a new window и получаем специальное окошечко с виртуальной машиной Linux.

image

Пока что там пусто, операционки нет и ее нужно проинсталлировать, чем мы и займемся.

2. Инсталляция Oracle Enteprise Linux

Для инсталляция нам понадобятся образы CD дисков Oracle Enterprise Linux 4 Update 7, ранее скачанные с сайта Oracle.

  1. Перейдем обратно в окно с настройками виртуальной машины и выберем в этом окне DVD-ROM
    image
  2. Настроим его так, чтобы он смотрел на наши виртуальные образы
    image 
  3. Перезагрузим виртуальную машину
    image
  4. Жмем Enter и ожидаем появления окна с началом инсталляции.
    image
  5. Пропускаем (Skip) проверку
  6. Попадаем в графический экран, где на нас укоризненно взирает пингвин в бронежилете
    image
  7. Говорим, что Language у нас English. Клавиатура U.S. English
  8. Разбивку диска поручаем Automatically Partition, соглашаемся все затирать
    image
  9. Соглашаемся с разбивкой. На следующей странице также соглашаемся с инсталляцией GRUB.
  10. На странице с сетевыми настройками настраиваем имя компьютера и настраиваем IP адрес. У меня адреса в ести выдает DHCP, поэтому я оставил настройки по умолчанию. Обычно приходится настроить IP адрес.
    image
  11. Отключаем firewall и selinux
    image
  12. На странице с выбором дополнительных поддерживаемых языком соглашаемся с настройками по-умолчанию
  13. Указываем нашу временную зону
    image
  14. Задаем пароль пользователя Oracle
  15. Говорим, что хотим кустомизировать настройки пакетов для инсталляции. Делаем это для того, чтобы в будущем легче было инсталлировать Oracle Database
    image
  16. В настройках я убрал Web Server, Windows File Server, Printing Support. Добавил Development Tools, Legacy Software
    image
  17. Говорим два раза Next. Соглашаемся с тем, что у нас есть все диски для инсталляции.
  18. Откинувшись на спинку кресла и периодически меняя диски, наблюдаем хвалебные оды, которые поет о себе наш пингвин в бронежилете ;)
  19. После перезагрузки получаем
    image
  20. Жмем Next, Next, Next… до самого конца
    image
  21. Войдем и на рабочем столе щелкнем правой кнопкой. Запустим Terminal. Наберем в нем ifconfig и увидим там ip адрес нашего сервера. Дальше будем цеплять снаружи за этот ip адрес с помощью PuTTY. Но сначала нужно проделать один шаг – проинсталлировать VMWare Tools.
  22. Идем на домашнюю страницу виртуальной машины и говорим, что хотим инсталлировать VMware Tools:
    image
  23. Инсталлируем VMware tool внутри виртуальной машины командой
    rpm –Uvh /media/cdrom/VMwareTools-2.0.0-122956.i386.rpm
    image
  24. Запускаем /usr/bin/vmware-config-tools.pl.
  25. Везде соглашаемся с настройками по-умолчанию. В настройках разрешения экрана выбираем 1024x768.
  26. Oracle Enterprise Linux проинсталлирован и готов к работе
    image

3. Настраиваем подключение к виртуальной машине.

  1. Запускаем PuTTY
    image
  2. Вводим IP адрес нашего виртуального компьютера (мы его запоминали раньше)
    image
  3. Вводим имя и пароль.
  4. Теперь проинсталлируем Far и WinSCP.
  5. После инсталляции зайдем в FAR. Нажмем Alt-F2 и увидим новый пункт WinSCP
    image
  6. Выберем его и с помощью Shift-F4
    image
    image
  7. Зайдем в эту сессию и увидим диск виртуальной машины
    image
  8. Выполненные подключения будут помогать в будущем.

4. Инсталлируем базу данных Oracle Database 11.1.0.6.

Инструкцию по инсталляции можно найти в дистрибутиве Oracle. Здесь я приведу более краткие выдержки из Quick Installation Guide.

  1. Распаковываем дистрибутив Oracle Database и получившуюся папку с помощью Far копируем на виртуальный сервер через WinSCP
     image
  2. Пока копируется – будем проверять настройки для инсталляции Oracle. Войдем через PuTTY.
    image
  3. Проверим объем оперативной памяти. Должно быть минимум 1 Гб. Кроме того объем Swap должен быть не менее 1,5 объема оперативной памяти. Проверить это можно следующими командами
    grep MemTotal /proc/meminfo
    grep SwapTotal /proc/meminfo
    image
  4. Проверим наличие необходимых нам RPM пакетов.



    Для Oracle Enterprise Linux 4.0 и 5.0 можно запустить следующую команду
    rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat
    При это для разных версий должен быть разный вывод
    Oracle Enterprise Linux 4.0 Oracle Enterprise Linux 5.0
    binutils-2.15.92.0.2-18
    compat-libstdc++-33.2.3-47.3
    elfutils-libelf-0.97-5
    elfutils-libelf-devel-0.97-5
    glibc-2.3.9.4-2.19
    glibc-common-2.3.9.4-2.19
    glibc-devel-2.3.9.4-2.19
    gcc-3.4.5-2
    gcc-c++-3.4.5-2
    libaio-devel-0.3.105-2
    libaio-0.3.105-2
    libgcc-3.4.5
    libstdc++-3.4.5-2
    libstdc++-devel-3.4.5-2
    make-3.80-5
    sysstat-5.0.5
    unixODBC-2.2.11
    unixODBC-devel-2.2.11
    binutils-2.17.50.0.6-2.el5
    compat-libstdc++-33-3.2.3-61
    elfutils-libelf-0.125-3.el5
    elfutils-libelf-devel-0.125
    glibc-2.5-12
    glibc-common-2.5-12
    glibc-devel-2.5-12
    gcc-4.1.1-52
    gcc-c++-4.1.1-52
    libaio-0.3.106
    libaio-devel-0.3.106
    libgcc-4.1.1-52
    libstdc++-4.1.1
    libstdc++-devel-4.1.1-52.e15
    make-3.81-1.1
    sysstat-7.0.0
    unixODBC-2.2.11
    unixODBC-devel-2.2.11
  • В нашем случае вывод будет следующим

    [root@oel ~]# rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel glibc-headers gcc gcc-c++ libaio-devel libaio libgcc libstdc++  libstdc++-devel make sysstat unixODBC-devel
    binutils-2.15.92.0.2-25
    compat-libstdc++-33-3.2.3-47.3
    elfutils-libelf-0.97.1-5
    package elfutils-libelf-devel is not installed
    glibc-2.3.4-2.41
    glibc-common-2.3.4-2.41
    glibc-devel-2.3.4-2.41
    glibc-headers-2.3.4-2.41
    gcc-3.4.6-10.0.1
    gcc-c++-3.4.6-10.0.1
    package libaio-devel is not installed
    libaio-0.3.105-2
    libgcc-3.4.6-10.0.1
    libstdc++-3.4.6-10.0.1
    libstdc++-devel-3.4.6-10.0.1
    make-3.80-7.EL4
    package sysstat is not installed
    package unixODBC-devel

  • libaio-devel и unixODBC-devel можно найти на 3-ем диске. elfutils-libelf-devel и sysstat  4-ом.
    Монтируем третий диск и запускаем команду 
    rpm -Uvh /media/cdrom/Enterprise/RPMS/libaio-devel-0.3.105-2.i386.rpm /media/cdrom/Enterprise/RPMS/unixODBC-devel-2.2.11-1.0.1.RHEL4.1.i386.rpm

    [root@oel ~]# rpm -Uvh /media/cdrom/Enterprise/RPMS/libaio-devel-0.3.105-2.i386.rpm /media/cdrom/Enterprise/RPMS/unixODBC-devel-2.2.11-1.0.1.RHEL4.1.i386.rpm
    warning: /media/cdrom/Enterprise/RPMS/libaio-devel-0.3.105-2.i386.rpm: V3 DSA signature: NOKEY, key ID b38a8516
    Preparing...                ########################################### [100%]
       1:unixODBC-devel         ########################################### [ 50%]
       2:libaio-devel           ########################################### [100%]

    Монтируем четвертый диск и запускаем команду
    rpm -Uvh /media/cdrom/Enterprise/RPMS/sysstat-5.0.5-19.el4.i386.rpm /media/cdrom/Enterprise/RPMS/elfutils-libelf-devel-0.97.1-5.i386.rpm

    [root@oel /]# rpm -Uvh /media/cdrom/Enterprise/RPMS/sysstat-5.0.5-19.el4.i386.rpm /media/cdrom/Enterprise/RPMS/elfutils-libelf-devel-0.97.1-5.i386.rpm
    warning: /media/cdrom/Enterprise/RPMS/sysstat-5.0.5-19.el4.i386.rpm: V3 DSA signature: NOKEY, key ID b38a8516
    Preparing...                ########################################### [100%]
       1:elfutils-libelf-devel  ########################################### [ 50%]
       2:sysstat                ########################################### [100%]

  • Создаем пользователя oracle и необходимые группы. В конце вводим пароль пользователя oracle
    groupadd oinstall
    groupadd dba
    useradd -g oinstall -G dba oracle
    passwd oracle

    [root@oel /]# groupadd oinstall
    [root@oel /]# groupadd dba
    [root@oel /]# useradd -g oinstall -G dba oracle
    [root@oel /]# passwd oracle
    Changing password for user oracle.
    New UNIX password:
    BAD PASSWORD: it is based on a dictionary word
    Retype new UNIX password:
    passwd: all authentication tokens updated successfully.

  • Для корректной работы тестовой базы нужно изменить настройки ядра. Для этого в файл /etc/sysctl.conf в конец добавим следующие строки:
    kernel.shmall = 2097152
    kernel.shmmax = 2147483648
    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 = 4194304
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 262144


    Можно это проделать командами

    echo 'kernel.shmall = 2097152' >> /etc/sysctl.conf
    echo 'kernel.shmmax = 2147483648' >> /etc/sysctl.conf
    echo 'kernel.shmmni = 4096' >> /etc/sysctl.conf
    echo 'kernel.sem = 250 32000 100 128' >> /etc/sysctl.conf
    echo 'fs.file-max = 65536' >> /etc/sysctl.conf
    echo 'net.ipv4.ip_local_port_range = 1024 65000' >> /etc/sysctl.conf
    echo 'net.core.rmem_default = 4194304' >> /etc/sysctl.conf
    echo 'net.core.rmem_max = 4194304' >> /etc/sysctl.conf
    echo 'net.core.wmem_default = 262144' >> /etc/sysctl.conf
    echo 'net.core.wmem_max = 262144'
    >> /etc/sysctl.conf

  • Применим настройки из sysctl.conf командой sysctl –p
  • В файл /etc/security/limits.conf добавим следующие строки
    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
  • Можно это проделать командами

    echo 'oracle soft nproc 2047' >>/etc/security/limits.conf
    echo 'oracle hard nproc 16384'>>/etc/security/limits.conf
    echo 'oracle soft nofile 1024' >>/etc/security/limits.conf
    echo 'oracle hard nofile 65536' >>/etc/security/limits.conf
  • В файл  /etc/pam.d/login следующие строки

    session required pam_limits.so
  • Можно это проделать командами

    echo 'session required pam_limits.so' >>/etc/pam.d/login
  • В файл /etc/profile

    if [ $USER = "oracle" ];
        then if [ $SHELL = "/bin/ksh" ];
                   then
                         ulimit -p 16384
                         ulimit -n 65536
                   else
                         ulimit -u 16384 -n 65536
                 fi
    fi
  • Можно это проделать командами

    echo 'if [ $USER = "oracle" ];' >>/etc/profile
    echo '    then if [ $SHELL = "/bin/ksh" ];' >>/etc/profile
    echo '               then '>>/etc/profile
    echo '                     ulimit -p 16384' >>/etc/profile
    echo '                     ulimit -n 65536' >>/etc/profile
    echo '               else' >>/etc/profile
    echo '                     ulimit -u 16384 -n 65536' >>/etc/profile
    echo '             fi' >>/etc/profile
    echo 'fi '>>/etc/profile

  • Создадим необходимые для инсталляции каталоги:

    mkdir -p /u01/app/
    chown -R oracle:oinstall /u01/app/
    chmod -R 775 /u01/app/
  • Разрешим всем пользователям доступ к папке /stage, где сложены дистрибутивы (на боевых серверах так делать не надо)
    chmod -R 777 /stage 
  • Теперь перейдем непосредственно к инсталляции СУБД Oracle. Для этого давайте войдем под только что созданным пользователем oracle в Gnome. Щелкнем правой кнопкой на рабочем столе и запустим терминал Open Terminal

  • Запустим инсталляцию
    image

  • Мы будем инсталлировать базу данных с настройками по-умолчанию, но я все же для большей надежности применяю Advance Installation (не надо нам этого упрощенства)
    image

  • Соглашаемся инсталлировать Inventory в папку /u01/app/oraInventory
    image

  • Выбираем Enterprise Edition (отличие Enterprise и Standard можно посмотреть здесь TBD)
    image

  • Соглашаемся с путем по-умолчанию
    image

  • Далее идет проверка системы на соответствие требованияем Oracle. Кстати очень полезная штука. Раньше ее не было и очень часто в середине инсталляции Oracle Universal Installer вываливался с малопонятными и редко информативными сообщениями. Как можно видеть моя система не прошла по всем требованиям. Точнее одно требование просто проверено не было. Связано это с тем, что у меня виртуальная машина получает ip по DHCP. Если настроить статику, то такой проблемы не будет.
    image

  • Жмем Next и соглашаемся продолжать даже в таких ужасных условиях. Говорим, что хотим создать базу данных.
    image

  • База данных у нас будет общего назначения, поэтому выбираем General Purpose/Transaction Processing
    image

  • Указываем, что база данных будет оба имени (Global Database Name и SID) иметь одинаковыми, т.е. “orcl”. Сделано это для простоты и если Вы в первый раз устанавливаете базу, то крайне рекомендуется эти имена сделать одинаковыми.
    image

  • На следующей странице настроек нужно будет сделать несколько изменений. Во первых сделаем, чтобы память управлялась НЕавтоматически и увеличим ее объем до 600 Мб
    image
    На закладке Character Set выберем либо Use Unicode (если Вы хотите чтобы ваша база поддерживала любые символы вплоть до иероглифов), либо Cyrillic CL8MSWIN1251 (если Вы просто хотите включить поддержку кириллицы).
    image
    На закладке Security – отключим более жесткие настройки безопасности, введенные с 11-ой версии. В настоящее время не весь софт умеет с ними работать. Включение этих настроек приводит к тому, что пароль становится чувствительным к регистру (в 10-ке это было не так).
     image
    На закладке включим инсталляцию схем с примерами (это HR, OE и т.д.)
    image

  • На следующих трех страницах принимаем настройки по-умолчанию
    image
    image
    image

  • Вводим пароли для 4-х стандартных пользователей. Можно указать сразу для всех пользователей один и тот же пароль. Как мы и сделаем
    image 

  • На следующих двух страницах принимаем настройки по-умолчанию
    image
    image

  • Еще раз смотрим на настройки и жмем кнопку для инсталляции
    image 

  • Наблюдаем как все это инсталлируется.

  • В конце после выдачи вот такого окошка
    image

  • Необходимо будет запустить два указанных скрипта под пользователем root и все настройки приниматься по-умолчанию
    /u01/app/oraInventory/orainstRoot.sh
    /u01/app/oracle/product/11.1.0/db_1/root.sh

  • Вот и все. База данных работает.

  • 1 комментарий:

    Анонимный комментирует...

    Спасибо большое!!!