Первый урок будет посвящен установке сервера Oracle. Производить установку будем на SuSe Linux Enterprise Server 10.3. Если у вас нет SLES 10.3, то может подойти любая из перечисленных ниже операционных систем:
- Asianux 2.0
- Asianux 3.0
- Oracle Enterprise Linux 4.0
- Oracle Enterprise Linux 5.0
- Red Hat Enterprise Linux 4.0
- Red Hat Enterprise Linux 5.0
- SUSE Enterprise Linux 10.0
Эти операционные системы официально рекомендованы Oracle и сертифицированы для Oracle Database 11g. Кроме того, можно проводить установку на операционную систему семейства Windows. Процесс установки на различных платформах практически идентичен.
Весь процесс установки подробно описывается в Quick Installation Guide11g Release 1 (11.1) for Linux x86. Кроме того, в этом документе описываются требования к программному и аппаратному обеспечению.
Все примеры и настройки будут выполняться на:
- SuSe Enterprise Linux 10.3 32bit
- Oracle Database 11g (11.1.0.7.0) 32bit
Проверка версии ядра
Для установки Oracle 11g на SuSe Linux Enterprise Server 10 требуется версия ядра не ниже 2.6.16.21. Проверить версию ядра можно выполнив команду:
# uname -r
Установка требуемых пакетов
Следующие пакеты должны быть установлены в системе (указанной версии или выше):
- binutils-2.16.91.0.5
- compat-libstdc++-5.0.7
- gcc-4.1.0
- glibc-2.4-31.2
- glibc-devel-2.4-31.2
- ksh-93r-12.9
- libaio-0.3.104
- libaio-devel-0.3.104
- libelf-0.8.5
- libgcc-4.1.0
- libstdc++-4.1.0
- libstdc++-devel-4.1.0
- make-3.80
- sysstat-6.0.2
Для других ОС смотрите требования в руководстве по установке. Для того, что бы узнать установлен тот или иной пакет, выполните команду:
# rpm -q <имя_пакета>
Если пакет не установлен, то установите из дистрибутива или загрузите с сайта разработчика средствами автоматической установки.
Создание необходимых пользователей и групп операционной системы
Для установки сервера баз данных требуется создать следующих пользователей и группы:
- Группа OSDBA (dba) - эта группа создается перед установкой программного обеспечения Oracle Database. Она идентифицирует пользователей имеющих администраторские привилегии (привилегии SYSDBA). По-умолчанию, имя этой группы dba.
- Группа OSOPER (oper) - эта группа опциональна, если вы хотите отделить пользователей операционной системы с ограниченными администраторскими привилегиями (привилегии SYSOPER). По-умолчанию, члены группы OSDBA так же имеют привилегии SYSOPER. Обычно имя этой группы - oper.
- Группа OSASM (asmadmin) - это новая привилегия, для выполнения задач по администрированию Automatic Storage Management. Используя привилегию SYSASM внутри привилегии SYSDBA стирает разделение между администратором базы данных и администратором Automatic Storage Management. Группа OSASM, представлена в Oracle 11g. Члены группы могут соединятся, как SYSASM, используя аутентификацию операционной системы и имеют полный доступ к Automatic Storage Management. Обычно имя группы asmadmin.
Следующая группа операционной системы необходимая для установки: группа Oracle Inventory (обычно, oinstall) - должна быть группа с доступом на запись в Oracle Central Inventory (oraInventory). Oracle Central Inventory содержит:
- Реестр домашних директорий Oracle (Oracle database и Automatic Storage Management)
- Журналы установки и файлы отладки от установки программного обеспечения Oracle
Пользователь, владелец программного обеспечения Oracle: обычно это пользователь oracle, этого пользователя требуется создать до установки программного обеспечения. Этот пользователь должен имеет группу Oracle Inventory как первичную. И вторичной одну из групп OSDBA или OSASM. Итак, создадим требуемые группы:
Сначала проверяем, существуют ли такие группы:
# grep oinstall /etc/group
# grep dba /etc/group
и если нет, то создаем:
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
Далее требуется создать пользователя, владельца экземпляра Oracle. Проверяем, есть ли уже такой пользователь:
# id oracle
Если такой пользователь существует, то на экран терминала будет выведена информация о пользователе и группах которым он принадлежит:
uid=440(oracle) gid=200(oinstall) groups=201(dba),202(oper)
Если такого пользователя нет, то выполняем:
# /usr/sbin/useradd -g oinstall -G dba oracle
Если же пользователь существует, но его первичная группа не oinstall, то выполняем следующую команду:
# /usr/sbin/usermod -g oinstall -G dba oracle
После того как пользователь создан, задем ему пароль:
# passwd oracle
После ввода команды, система попросит указать пароль для пользователя и подтвердить ввод.
Конфигурация ядра Linux
Следующим шагом является установка параметров ядра, согласно документации Oracle:
fs.file-max = 512 * PROCESSES
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
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
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 4194304 4194304 4194304
Значения параметров выставляются в файле /etc/sysctl.conf, после внесения изменений требуется выполнить перезагрузку. Если какое либо из значений больше требуемого, то вносить изменения не требуется.
На SuSe системах требуется выполнить:
# /sbin/chkconfig boot.sysctl on
И указать GID группы oinstall, как значение параметра /proc/sys/vm/hugetlb_shm_group, это позволит пользователю создавать сегмент общей памяти.
Создание директорий для Oracle
При создании директорий следует учитывать, что для программного обеспечения потребуется порядка 3 Гб места, и еще потребуется место в дальнейшем для хранения файлов данных.
# mkdir -p /u01/app/
# chown -R oracle:oinstall /u01/app/
# chmod -R 775 /u01/app/
В директории /tmp должно быть не менее 400 Мб доступного места.
Для промышленной эксплуатации не рекомендуется размещать вместе программное обеспечение и базу данных. Для хранения файлов базы данных выполняем команды:
# mkdir /mount_point/oradata
# chown oracle:oinstall /mount_point/oradata
# chmod 775 /mount_point/oradata
Например, для нашей установки, точка монтирования будет такой же, как и для программного обеспечения /u01:
# mkdir /u01/oradata
# chown oracle:oinstall /u01/oradata
# chmod 775 /u01/oradata
Для хранения файлов Flash recovery area:
# mkdir /u01/flash_recovery_area
# chown oracle:oinstall /u01/flash_recovery_area
# chmod 775 /u01/flash_recovery_area
Установка и настройка ASM подробнее будет рассмотрена в дальнейших уроках, и сейчас рассматриваться не будет.
Установка Oracle Database
Когда все подготовительные операции выполнены, можно переходить к установке Oracle. Далее, все действия по установке и настройки выполняются под созданным нами пользователем oracle. Логинимся как oracle, переходим в каталог с дистрибутивом Oracle, на жестком диске или DVD диске, и находим исполняемый файл runInstaller. Запускаем его:
oracle@test:/tmp/oracle_distr/database> ./runInstaller
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 80 MB. Actual 208116 MB Passed
Checking swap space: must be greater than 150 MB. Actual 3969 MB Passed
Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2009-02-08_05-14-09PM. Please wait ...oracle@test:/tmp/oracle_distr/database> libxcb:
WARNING! Program tries to unlock a connection without having acquired
a lock first, which indicates a programming error.
There will be no further warnings about this issue.
libxcb: WARNING! Program tries to lock an already locked connection,
which indicates a programming error.
There will be no further warnings about this issue.
Oracle Universal Installer, Version 11.1.0.6.0 Production
Copyright (C) 1999, 2007, Oracle. All rights reserved.
Если все хорошо, и все тесты пройдены, то откроется графическое приложение Oracle Universal Installer (OUI):
Где предлагается выбрать тип установки Basic или Advanced. В базовом типе установки часть опций будет скрыта от пользователя и выставлены по умолчанию. Например, для всех пользователей базы данных будет выставлен единый пароль, опции файловой системы и т.д. При выборе Advanced пользователю предлагается вручную указывать необходимые настройки. Выберем тип Advanced (Продвинутый) и нажимаем кнопку Next (Далее):
На втором шаге предлагается указать размещение oraInventory и имя группы операционной системы. В нашем случае это группа oinstall и директория oraInventory - /u01/app/oraInventory. Кнопка Installed Products позволяет просмотреть информацию об установленных продуктах Oracle.
Переходим к следующему шагу установки:
На этом шаге предлагается выбрать редакцию Oracle Database Server. На выбор три варианта: Enterprise Edition - наиболее полная версия с поддержкой Grid, повышенной отказоустойчивостью и т.д. Standart Edition - предназначена для предприятий среднего размера, рабочих групп и Custom - позволяет выбрать компоненты по своему выбору. Нажав на кнопку Product Languages можно выбрать доступные языки продукта. Выбираем языки Русский и Английский, редакцию сервера Enterprise Edition и переходим далее.
Указываем базовый каталог, имя домашней директории и саму домашнюю директорию. Переходим далее.
Здесь производится проверка параметров системы и установленных пакетов. В некоторых случаях тест может пройти с предупреждениями или ошибками. В зависимости от характера, если вы уверены что все в порядке, можно указать, что проверено пользователем (отметить проверку галочкой, и ее статус станет User verified)и продолжить установку. Важно быть точно уверенным, что все в порядке, потому что в дальнейшем ошибки установки могут привести к непредсказуемым последствиям. Если все в порядке переходим далее.
На этом этапе установки предлагается выбор, создавать или нет базу данных, если да то настраивать ли ASM, или установить только программное обеспечение и дать возможность пользователю создать БД позже. Выбираем установку только программного обеспечения.
Указываем привилегированные группы операционной системы. О них шла речь в начале урока, когда описывалось создание групп и их назначение. Переходим к следующему шагу.
Все готово для установки и предоставляется суммарный отчет по продуктам для установки, требуемому пространству и т.д. Если вы со всем согласны и ничего не упустили, то нажимаем Install, после чего начнется копирование файлов.
После завершения копирования файлов, будет предложено выполнить два скрипта под пользователем root.
Для этого открываем новый терминал и выполняем:
oracle@test:~> su -
Password:
test:~ # cd /u01/app/oraInventory/
test:/u01/app/oraInventory # ./orainstRoot.sh
Changing permissions of /u01/app/oraInventory to 770.
Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete
test:/u01/app/oraInventory #
Затем выполняем второй скрипт:
test:/u01/app/oraInventory # cd /u01/app/oracle/product/11.1.0/db_1/
test:/u01/app/oracle/product/11.1.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.1.0/db_1
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.
Finished product-specific root actions.
После того как скрипты выполнены возвращаемся к установке, нажимаем ОК и видим финальный экран установки с сообщением об успешном завершении:
На этом установка завершена.
Следующий урок будет посвящен установке патчсета, для обновления Oracle Database с версии 11.1.0.6.0 до версии 11.1.0.7.0.