Рубрика: Установка и создание БД Oracle

  • Установка и создание БД Oracle — Итоги

    Инструменты для администрирования Oracle

    Установка: OUI

    Создание БД и изменения: DBCA, DBUA

    Инструменты для выполнения SQL команд: SQL *Plus, SQL Developer

    Для резервного копирования: RMAN, Oracle Secure Backup

    Администрирования сети: Oracle Net Manager, Oracle Net Configuration Assistant

    Обработка данных: Data Pump, SQL* Loader
    Управление: Oracle Enterprise Manager, Database Control и Grid Control

     

    Планирование установки сервера Oracle

    Аппаратные требования

    Свободное пространство
    Графический терминал
    Требования операционной системы

    Пакеты
    Настройки ядра
    OFA

     

    Установка Oracle используя OUI

    Системные пользователи
    Системные переменные
    Суперпользователь
    Типы установки

     

    Создание БД используя DBCA

    БД может быть создана из командной строки или с помощью DBCA

    DBCA может установить БД из шаблона
    DBCA и команды в SQL *Plus могут удалить БД

    Экземпляр БД должен быть создан перед созданием БД

    Почти все настройки для БД позже могут быть изменены

  • Использование DBCA для создания БД

    Процесс создания БД состоит из следующих шагов

    1. Создание файла параметров
    2. Создание экземпляра
    3. Выполнение команды CREATE DATABASE / это приведёт к созданию минимум файла контроля, двух файлов логов, двух файлов данных для табличных пространств SYSTEM и SYSAUX внутри которых будет создан словарь данных.
    4. Запуск SQL скриптов для создания представлений надо словарём данных и необходимых PL/SQL объектов
    5. Запуск SQL скриптов для создания объектов необходимых для работы Enterprise Manager Database Control и других настроеных в процессе установки утилит

    В системе Windows также необходим дополнительный шаг, так как в Windows Oracle сервер работает как сервис. Oracle предоставляет дополнительный инструмент oradim.exe в помощь при создании этого сервиса

    Эти шаги могут быть последовательно выполнены из SQL *Plus или с помощью специального графического инструмента DBCA (Database Configuration Assistant). Также вы можете написать свои скрипты для этой цели или использовать «тихую» установку.

    Наиболее простым способом является создание БД с помощью DBCA. Это мастер-установщик который в режиме диалога запросит необходимые параметры и сделает всё в автоматическом режиме.

    DBCA написан на Java и поэтому он выглядит одинаково на всех платформах. На Unix подобных системах вы запускаете DBCA на компьютере где вы хотите создать БД, однако выводить графические интерейс можно на любом компьютере где установлен X сервер для отображения графической информации. Путём установки системной переменной DISPLAY можно перенаправить вывод инфомрации на другое устройство. К примеру команда export DISPLAY=10.10.10.65:0.0 перенаправит информацию на компьютер с етевым адресом 10.10.10.65 вне зависимости от того где реально запущен DBCA.

    Для запуска DBCA на Linux вначале необходимо установить системные переменные ORACLE_BASE,ORACLE_HOME,PATH и LD_LIBRARY_PATH. Примерные значения могут быть такими

    export ORACLE_BASE=/u02/app/db11g

    export ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1

    export PATH=$ORACLE_HOME/bin:$PATH

    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

    И запустить приложение вызвав команду dbca.

    Помните, что почти все параметры (за исключением одного) можно изменить после создания БД, но это потребует нефункционирования БД.

    Если будет установлен Enterprise Manager Database Control, то тогда необходимо выполнить ещё один предварительные шаг; настройка listener-а БД. Это необходимо так как Database Control всегда подключается к БД с помощью listener-а и в процесе установки проверяет наличие хотя бы одного доступного listener-а. Listener можно легко настроить с помощью Net Configuration Assistant (netca).

     Скрипты и файлы создаваемые DBCA

    DBCA создаёт скрипты и файлы которые находятся в папке ORACLE_BASE/admin/DB_NAME/scripts.

    Файл параметров Parameter File

    Рассмотрим файл параметров, с именем init.ora. Ниже представлен фрагмент сгенерированного DBCA файла

    ######################################################################

    # Copyright (c) 1991, 2001, 2002 by Oracle Corporation

    ######################################################################

    ###########################################

    # Cache and I/O

    ###########################################

    db_block_size=8192

    ###########################################

    # Cursors and Library Cache

    ###########################################

    open_cursors=300

    ###########################################

    # Database Identification

    ###########################################

    db_domain=»»

    db_name=ocp11g

    ###########################################

    # File Configuration

    ###########################################

    control_files=(«D:\oracle\app\oradata\ocp11g\control01.ctl»,

    «D:\oracle\app\oradata\ocp11g\control02.ctl»,

    «D:\oracle\app\oradata\ocp11g\control03.ctl»)

    db_recovery_file_dest=D:\oracle\app\flash_recovery_area

    db_recovery_file_dest_size=2147483648

    ###########################################

    # Job Queues

    ###########################################

    job_queue_processes=10

    ###########################################

    # Miscellaneous

    ###########################################

    compatible=11.1.0.0.0

    diagnostic_dest=D:\oracle\app

    ###########################################

    # NLS

    ###########################################

    nls_language=»ENGLISH»

    nls_territory=»UNITED KINGDOM»

    ###########################################

    # Processes and Sessions

    ###########################################

    processes=150

    ###########################################

    # SGA Memory

    ###########################################

    sga_target=318767104

    ###########################################

    # Security and Auditing

    ###########################################

    audit_file_dest=D:\oracle\app\admin\ocp11g\adump

    audit_trail=db

    remote_login_passwordfile=EXCLUSIVE

    ###########################################

    # Shared Server

    ###########################################

    dispatchers=»(PROTOCOL=TCP) (SERVICE=ocp11gXDB)»

    ###########################################

    # Sort, Hash Joins, Bitmap Indexes

    ###########################################

    pga_aggregate_target=105906176

    ###########################################

    # System Managed Undo and Rollback Segments

    ###########################################

    undo_management=AUTO

    undo_tablespace=UNDOTBS1

     

    Все строки начинающиеся с символа # являются комментариями. Всего доступно около 300 параметров однако DBCA устанавливает значения только для некоторых. Два главных это DB_BLOCK_SIZE и CONTROL_FILES. DB_BLOCK_SIZE устанавливает значение размера буферов в буфере кэша БД (database buffer cache). Так же это значение будет использовано для форматирования файлов данных табличных пространств SYSTEM и SYSAUX. После создания нельзя изменить это значение. CONTROL_FILES являетяс указателем на все копии контрольного файла. В данный момент времени этот файл не существует и значение укажет экзмепляру где создать новый файл.  Назначение некоторых других параметров понятно, и все они описаны в документации Oracle. Единственный параметр у которого нет значения по умолчанию – это DB_NAME.

    Скрипт создания БД

    Ниже представлен скрипт который DBCA выполняет в процессе создания БД (пример для Windows).

    mkdir D:\oracle\app

    mkdir D:\oracle\app\admin\ocp11g\adump

    mkdir D:\oracle\app\admin\ocp11g\dpdump

    mkdir D:\oracle\app\admin\ocp11g\pfile

    mkdir D:\oracle\app\cfgtoollogs\dbca\ocp11g

    mkdir D:\oracle\app\flash_recovery_area

    mkdir D:\oracle\app\oradata\ocp11g

    mkdir D:\oracle\app\product\11.1.0\db_3\database

    set ORACLE_SID=ocp11g

    set PATH=%ORACLE_HOME%\bin;%PATH%

    D:\oracle\app\product\11.1.0\db_3\bin\oradim.exe -new -sid OCP11G

    -startmode manual -spfile

    D:\oracle\app\product\11.1.0\db_3\bin\oradim.exe -edit -sid OCP11G

    -startmode auto -srvcstart system

    D:\oracle\app\product\11.1.0\db_3\bin\sqlplus /nolog

    @D:\oracle\app\admin\db11g\scripts\ocp11g.sql

     

    Вначале скрипт создаёт несколько папок внутри папки ORACLE_BASE. Далее устанавливаются значения системной переменной ORACLE_SID и добавляется путь ORACLE_HOME/bin к переменной PATH. Две команды которые используют oradim.exe не используются в Linux. В Windows они нужны чтобы настроить запуск экземпляра БД как сервиса.

    После скрипт запускает SQL *Plus и выполняется SQL скрипт %DB_NAME%.sql который управляет процессом создания БД

    set verify off

    PROMPT specify a password for sys as parameter 1;

    DEFINE sysPassword = &1

    PROMPT specify a password for system as parameter 2;

    DEFINE systemPassword = &2

    PROMPT specify a password for sysman as parameter 3;

    DEFINE sysmanPassword = &3

    PROMPT specify a password for dbsnmp as parameter 4;

    DEFINE dbsnmpPassword = &4

    host D:\oracle\app\product\11.1.0\db_3\bin\orapwd.exe

    file=D:\oracle\app\product\11.1.0\db_3\database\PWDocp11g.ora

    password=&&sysPassword force=y

    @D:\oracle\app\admin\ocp11g\scripts\CreateDB.sql

    @D:\oracle\app\admin\ocp11g\scripts\CreateDBFiles.sql

    @D:\oracle\app\admin\ocp11g\scripts\CreateDBCatalog.sql

    @D:\oracle\app\admin\ocp11g\scripts\emRepository.sql

    @D:\oracle\app\admin\ocp11g\scripts\postDBCreation.sql

     

    Вначале задаются пароли для системных учётных записей (эти пароли указываются в процессе работы с DBCA). Потомы вызывается программа orapwd которая создаст файл паролей для БД. Имя файла будет %ORACLE_HOME%\database\PWD<db_name>.ora для Windows или $ORACLE_HOME/dbs/orapw<db_name> для Linux. После этого запускается скрипт CreateDB.sql который непосредственно создаёт БД.

    Команда CREATE DATABASE

    Пример скрипта CreateDB.sql

     

    connect «SYS»/»&&sysPassword» as SYSDBA

    set echo on

    spool D:\oracle\app\admin\ocp11g\scripts\CreateDB.log

    startup nomount pfile=»D:\oracle\app\admin\ocp11g\scripts\init.ora»;

    CREATE DATABASE «ocp11g»

    MAXINSTANCES 8

    MAXLOGHISTORY 1

    MAXLOGFILES 16

    MAXLOGMEMBERS 3

    MAXDATAFILES 100

    DATAFILE ‘D:\oracle\app\oradata\ocp11g\system01.dbf’

    SIZE 300M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED

    EXTENT MANAGEMENT LOCAL

    SYSAUX DATAFILE ‘D:\oracle\app\oradata\ocp11g\sysaux01.dbf’

    SIZE 120M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED

    SMALLFILE DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE

    ‘D:\oracle\app\oradata\ocp11g\temp01.dbf’ SIZE 20M REUSE

    AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED

    SMALLFILE UNDO TABLESPACE «UNDOTBS1» DATAFILE

    ‘D:\oracle\app\oradata\ocp11g\undotbs01.dbf’ SIZE 200M REUSE

    AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED

    CHARACTER SET WE8MSWIN1252

    NATIONAL CHARACTER SET AL16UTF16

    LOGFILE GROUP 1 (‘D:\oracle\app\oradata\ocp11g\redo01.log’) SIZE 51200K,

    GROUP 2 (‘D:\oracle\app\oradata\ocp11g\redo02.log’) SIZE 51200K,

    GROUP 3 (‘D:\oracle\app\oradata\ocp11g\redo03.log’) SIZE 51200K

    USER SYS IDENTIFIED BY «&&sysPassword»

    USER SYSTEM IDENTIFIED BY «&&systemPassword»;

    spool off

     

    Скрипт подключается к экземпляру, используя авторизацию из файла паролей. Команды echo и spool выводя в лог всё что происходит.

    Команда STARTUP NOMOUNT создаёт структуры экземпляр в памяти используя файл параметров. NO MOUNT означает что база данных не будет подключена и открыта. После того как эта команда выполнена – экземпляр существует в памяти и работают фоновые процессы. Размеры SGA установлены согласна файла параметров.

    Команда CREATE DATABASE использует имя базы данных и множество параметров. Вначале устанавливаются определенные ограничения для всей БД. Они могут изменять позже, но лучше всего устанавливать допустимые значения сейчас, поскольку их изменение очень трудоёмкая операция. Далее указываются где создать файлы данных для табличных пространств SYSTEM, SYSAUX и UNDO. Также указываются где хранить файлы для временного табличного пространства (TEMPORARY tablespace). Так же указывается кодировка БД для словаря данных и столбцов типа VARCHAR2, CHAR и CLOB. Параметры для файлов логов и т.д. В конце идёт указание на использование паролей из файла паролей и отключение записи в лог.

    Этот файл с командой CREATE DATABASE создаст базу данных. После успешного выполнения экзмепляр будет работать в памяти и БД будет создана, включая файлы контроля, файлы данных и файлы логов. Словарь данных будет сгенерирован в табличном пространстве SYSTEM. Однако несмотря на то что БД создана, она пока непригодна для использования. Оставшиеся скрипты, которые вызовет файл %DB_NAME%.sql исправят это. У команды CREATE DATABASE много параметров, однако все они имеют значение по умолчанию. Например если вы не укажете файлы данных для табличного пространства SYSTEM все равно создатся минимум один файл. Для табличных пространств UNDO и TEMPORARY нет значений по умолчанию – но БД может быть создана без них, а потом можно указать эти значения.

    Скрипты после создания БД

    Остальные скрипты вызываемые %DB_NAME%.sql зависят от выбора в процессе работы с DBCA. В нашем примере был выбран только Enterprise Manager Database Control и поэтому будут запущены только 4 скрипта.

    CreateDBfiles.sql – создаёт небольшон табличное пространство USERS где будет хранится объекты созданные пользователями

    CreateDBCatalog.sql – важный скрипт. Он запускает скрипты для построения представлений над словарём данных и генерации PL/SQL объектов которые делают возможным управление БД

    emRepository.sql – этот скрипт создаёт объекты необходимые для работы Enterprise Manager Database Control

    postDBCreation.sql – создание файла параметров сервера из файла параметров init.ora, включение пользователей DBSNMP и SYSMAN используемых для работы Enterprise Manager и запуск Enterprise Manager Configuration Assistant (emca) для настройки новой БД.

  • Установка программ Oracle с использованием OUI

    Чтобы запустить OUI необходимо войти в систему под учётной записью имеющей доступ для чтения дистрибутива и записи в директорию выбранную как ORACLE_BASE. Затем запустить OUI вызвав команду

    setup.exe — в системе Windows

    runInstaller.sh – в системе Linux

    Чтобы избежать запуска проверки системы необходимо добавить параметры

    runInstaller –ignoreSysPrereqs

    Также возможно установка не в режиме диалога, а так называемая «тихая» установка. Это бывает необходимо если отсутствует графическая подсистема, или если вы часто устанавливаете приложения на одинаковые сервера. Такая установка требует файл, в котором будут  храниться все необходимые параметры для установки. Синтаксис команды для запуска такого типа установки

    runInstaller –silent –responsefile responsefilename

    Создание БД используя DBCA

    Создание БД — несложная задача (практически это выполнение команды из двух слов и несколько минут времени ожидания), но необходимо понимать что в реальности просиходит в системе.

    Экземпляр БД (instance), БД и словарь данных (data dictionary)

    Сервер Oracle состоит из instance-а и БД; это две отдельные части, но они работают вместе. Instance это набор структур в оперативной памяти и фоновых процессов работающих на процессорах сервера, его существование временно, он может быть запущен и остановлен. БД это файлы на жёстком диске; они создаются однажды и существуют пока существует БД. Создание экземпляра БД есть не что иное, как выделение памяти и запуск процессов. БД создаётся экземпляром БД один раз и затем экземпляр может «открывать» и «закрывать» БД много раз. БД доступна только через экземпляр БД.

    Внутри БД есть определённый набор таблиц и других сегментов, называемый словарём данных. Словарь данных описывает все логические и физические структуры БД, включая сегменты в которых хранится пользовательская информация.

    В процессе создания БД выделяется минимум физического пространства и создаются структры чтобы хранить словарь данных, и в этом пространстве создаётся словарь данных.

    Экзмепляр управляется файлом параметров (parameter file). Этот файл содержит инструкции как работать экземпляру: какой объём памяти выделять, какие структуры данных будут созданы, поведение фоновых процессов. После запуска экземпляра, он работает в режиме no mount. Такой режим подразумевает что экземплярд работает, он он не подключен к БД. На самом деле в этот момент БД ещё может быть даже не создана.

    У всех параметров, указанных в файле параметров или нет, есть значения по умолчанию, кроме одного: имени БД. Параметр DB_NAME указывает к какой БД будет подключаться экземпляр. Это же значение указано в файле контроля (control file). Параметр CONTROL_FILES в файле параметров хранит указатель на файл контроля. Эти параметры определяют связь между экземпляром и БД. Когда инстанс обрабатывает файл контроля (который он находит с помощью параметра CONTROL_FILES) и обнаруживается несоответсвие имён – база не будет подключена (no mount). Если же всё произошло успешно (файл контроля корретный)  — база будет подключена (mount). Если вы потеряли файл контроля или он повреждён – будет невозможно подключиться к БД. Файл контроля небольшого размера, однако он очень важен для БД.

    Внутри файла контроля – указатели на остальные файлы БД (файлы логов, и файлы данных). После подключения к БД (mount) экзмпляр может открыть (open) БД путём чтения файлов. Открытая (open) БД – это БД, у которой экземпляр открыл все файлы логов и данных. Также внутри файла контроля находится таблица соответствия файлов данных и табличных пространств. Это позволяет экземпляру найти файлы данных в которых хранится информация табличного пространства SYSTEM. В табличном пространстве SYSTEM хранится словарь данных, который позволяет соотнести объекты из SQL запросов с сегментами и обработать запрос.

    Следовательно создание БД должно включать следующие шаги

    • Создать экземпляр
    • Создать БД
    • Создать словарь данных

    Фактически эти шаги разделены немного по другому

    • Создание экземпляра
    • Создание БД и объектов словара данных
    • Создание представлений словаря данных

    Словарь данных создаваемый с БД полностью рабочий однако малопонятный. В нем существует возможность управлять пользовательской информацией, однако структура слишком заумная. Перед тем как пользователи (или DBA) смогут нормально работать с БД, определенный набор представлений (views) должен быть создан что представить информацию в понятном виде.

    Создание словаря данных по сути является запуском набора SQL команд, сгруппированных в файлы скриптов. Их можно посмотреть в папке ORACLE_HOME/rdbms/admin. Они запускаются в момент вызова команды CREATE DATABASE. Первым исполняется sql.bsq, который в свою очередь вызывает другие скрипты, создающие таблицы и другие объекты словаря данных.

    Предстваления и объекты которые необходимы для доступного человеку просмотра словаря данных создаются другими скриптами, которые также находятся в папке ORACLE_HOME/rdbms/admin, но начинаются с префикса «cat». К примеру скрипты catalog.sql и catproc.sql. Эти скрипты должны запускаться сразу же после создания БД.

  • Планирование установки БД Oracle

    Перед запуском установщика необходимо выбрать аппаратное и программное обеспечение, структуру директорий для установки и настроить ОС.

    Некоторые люди привержены их любимой ОС, однако в каждой есть свои минусы и плюсы и не для всех ОС есть все необходимые приложения. Oracle поддерживает все популярные платформы:

    • Linux на платформе Intel и AMD
    • Windows на платформе Intel и AMD
    • Solaris на платформе SPACE
    • AIX на платформе POWER
    • HPUX на платформе PA-RISC

    Эти комбинации наиболее популярны, однако существует м ного других. Некоторые ОС поддерживают 32битную и 64битную архитектуру и Oracle обычно поддерживает обе. Когда выбираете платформу, необходимо оценивать такие факторы как

    • Стоимость
    • Простота в использование
    • Масштабирование
    • Отказоустойчивость
    • Производительность

    Так же существуют другие факторы, и не только технические. Например копроративные стандарты также влияют на этот выбор.

    Linux заслуживает отдельного обсуждения.  Oracle широко использует и развивает Linux. Наиболее популярные дистрибутивы это Red Hat и Suse, но Oracle так же предоставляет свою сборку Oracle Linux Enterprise. Этот дистрибутив имеет все необходимые пакеты для работы и поддерживается компанией Oracle. Таким образом можно создать целую среду поддерживаемую одним поставщиком.

    Программные ресурсы и ОС

    Выбор программного обеспечения происходит обычно после анализа планируемого объёма данных и активность БД. Есть специальные учебные пособия по выбору аппаратного обеспечения для БД. Минимальные системные требования для системы

    1ГБ оперативной памяти

    1.5ГБ файл подкачки

    400Мб свободного дискового пространства во временной директории

    1.5-3.5 ГБ для домашней директории Oracle

    1.5ГБ для БД примеров

    2.4ГБ для архивов

    Процессор с тактовой частотой не меньше 1 ГГц

    Такой широкий диапазон для домашней директории обусловлен вариативностью платформ. 2.5 Гб обычно занимает установка на ОС Windows с файловой системой NTFS. 3.5 ГБ для ОС Linux с файловой системой ext3. Временная директория устанваливается системной переменной TEMP. ОС также проверяется на соотвествие

    Архитектуре (32/64 битная архитектура)

    Наличию необходимых компонентов

    Параметров ядра

    Эти проверки будут осуществелены OUI.

    Optimal Flexible Architecture (OFA) Структура директорий

    Домашняя директория будет установлена на файловую систем. Oracle разработал OFA – структуру директорий в файловой системе, благодаря которой можно легко поддерживать различные версии различных программ. Ключевым элементом OFA является две системные переменные: ORACLE_BASE и ORACLE_HOME. ORACLE_BASE это папка на сервере, внутри которой будут установленые все программы всех версий. Каждая версия каждого продукта имеет свою домашнюю директорию ORACLE_HOME. OFA стандарт для Linux и Unix ORACLE_BASE предполагает использование шаблона /pm/h/u где

    p – константа, u

    m – числовое значение, к примеру 01

    p – строка к примеру app

    u – системный пользователь(владелец программ Oracle) к примеру oracle

    В Windows стандартным значением ORACLE_BASE является структура \oracle\app в корневом каталоге любого системного тома.

    Для домашней директории стандартом является значение переменной ORACLE_BASE плюс /product/v/db_n где

    product – константа

    v – версия, к примеру 11.1.0

    db_n – значение получаемое установщиком при работе, db – database и число увеличивающееся на единицу для каждой последующей установки программы.

    Таким образом получаются следующие значения ORACLE_BASE и ORACLE_HOME для Linux

    /u01/app/oracle

    /u01/app/oracle/product/11.1.0/db_1

    И для Windows

    D:\oracle\app

    D:\oracle\app\product\11.1.0\db_1

     

    Директория для файлов самой БД обычно вида ORACLE_BASE/q/d где

    q – строка oradata

    d – название БД

    Для БД с именем orcl директория будет

    /u01/app/oracle/oradata/orcl

  • Обзор инструментов администрирования Oracle

    Самая простая в реализации и в тоже время самая сложная стратегическая задача в жизненном цикле БД – планирование и установка БД. Несмотря на то что решения принятые на этом этапе не неизменяемы – всё же изменять их достаточно сложно. Например выбор имени БД, пути установки необходимых для работы исполняемых файлов и других важных компонентов  кажется тривиальным, но после выбора они обычно остаются неизменны. Поэтому желательно хорошо оценить факторы которые влияют на планирование, установку сервера и создание БД.

    Oracle предоставляет набор различных инструментов для управление окружением сервера. Первый из них – Oracle Universal Installer (OUI) – которые используется (как следует из названия) для установки программных продуктов Oracle. Далее следует Database Configuration Assistang (DBCA) – это инструмент для создания БД. Существует также инструмент для обновления БД Database Upgrade Assistance (DBUA) – но его мы не будет рассматривать. С помощью OUI можно установить различные инструменты для управления БД, в основном используется SQL *Plus и Oracle Enterprise Manager (OEM). Так же часто используется SQL Developer.

    Oracle Universal Installer

    Исторически, управление продуктами Oracle было не особо приятной задачей. Так сложилось, потому что DBA приходилось устанавливать различные продукты отдельно, в связи с проблемой несовместимости. Это не было необычным явлением, когда после успешной установки первого, второго и третьего продукта – установка четвертого продукта приводила к нерабчоему состоянию все три до этого установленные программы. Проблемы несовместимости лежат в использовании основных библиотек (base libraries). Эти библиотеки предоставляют функционал который используется во всех продуктах Oracle.  Например все программы Oracle используют закрытый сетевой протокол Oracle Net – невозможно установить пррограммы Oracle без него. Если две программы Oracle используют одинаковую версию основных библиотек, то только тогда теоретически они могут быть установлены в одинаковой домашней директории Oracle (Oracle Home). Oracle Home – это путь куда установлена программа Oracle: набор файлов в папке. До OUI каждая программа имела свой установщик, которые не всегда мог корректно разобраться в совместимости с уже установленными программами.

    OUI создан при помощи Java версии 5, что позволяет ему работать одинаково на всех платформах. Можно установить OUI как отдельный продукт в определённую домашнюю директорию, но обычно это не имеет смысла, так как OUI поставляется со всеми программами Oracle и может быть запущен из дистрибутива: он будет установлен вместе с программой в домашнюю директорию программы. Существуют различные версии OUI, и, если программа поставляется с более старой версией OUI, чем у другой уже установленной программы, то лучше использовать уже установленную версию (более новую) OUI. Когда OUI спросит местонахождение products.xml – просто укажите уме директорию новой программы.

    OUI Inventory

    Ключевым элементом OUI является хранилище (inventory).  Это набор файлов, которые не стоит хранить в домашней директории какой-либо программы Oracle. В них хранится информация о всех программах Oracle установленных на данный компьютер, включая точную версию, путь, и, в некоторых случаех, даже номер последнего установленного обновления. Каждый запуск OUI проверяет хранилище на несовместимость перед установкой новой программы Oracle в уже имеющиеся домашние директории Oracle и записывать информацию после установки или обновления любой программы. Путь к этому хранилищу на Unix-подобных операционных системах может быть выбран DBA при первом запуске OUI. В Windows – хранилище всегда создается в

     

    %SystemRoot%\Program Files\Oracle\Inventory

     

    Все ОС имеют предустановленный путь по которому OUI будет искать указатель о существующем хранилище. В Linux –е это будет файл

    /etc/oraInst.loc

     

    В Solaris-е это так же файл

    /vat/opt/oracle/oraInst.loc

     

    В Windows это запись в системном реестре

    HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\inst_loc

     

    Когда запускается OUI – первым делом проверяется существование файла (или записи в реестре) и, если он не существует, предполагается что это первый запуск OUI и файл создаётся с записью в него пути к хранилищу. Все последующие вызовы OUI вне зависимости от версии смогут найти хранилище.

    Такой механизм создания хранилища имеет проблемы с правами доступа ОС: в Linux или Unix пользователь который в первый раз запустит OUI должен иметь права записи в директорию где лежит указатель на хранилище. Однако только root пользователь может записывать в директории /etc или /var на Linux/Unix соответсвенно. Так как с точки зрения безопасности недопустимо запускать OUI с правами root, OUI сгенерирует скрипт, который необходимо будет выполнить от имени root пользователя для создания oraInst.loc файла-указателя на путь к хранилищу. В Windows пользователь запускающий OUI должен иметь права на запись в реестр.

    Проверка системы

    OUI проверяет компьютер на котором выполняется запуск на соответствие определённым критериям. Эти требования платформо-зависимы и записаны в файле установщика:

     

    /install/oraparam.ini (Unix)

    \install\oraparam.ini (Windows)

     

    Они не сильно требовательные: проверить чтобы графическая система поддерживала 256 цветов.

    Также в файле oraparam.ini нахоидтся путь к файлу products.xml. В файле products.xml описаны какие продукты могут быть установлены с конкретного дистридутива. У каждой программы есть набор своих критериев, и они более требовательные. Требования программы перечислены в XML файле. Обычно это

     

    /stage/prereq/db/refhost.xml (Unix)

    \stage\prereq\db\refhost.xml (Windows)

     

    В фале Windows обычно указаны требования к размеру файла подкачки и версии ОС. Если у вас объём оперативной памяти 512-2048 МБ, то файл подкачки долже быть в 1.5 раза больше чем объём оперативной памяти.  Для Unix систем критерии ещё более требовательные: помимо размера файла подчкачки проверяется наличие ряда установленных пакетов и настроек ядра.

    Выполнение этих требований достаточно трудоёмкая задача и если вы уверены что конкретный пакет корректен (к примеру у вас стоит более поздняя версия) или значение параметра верно, вы можете пропустить эту проверку несколькими способами. Во первых, удалить требование из файла refhost.xml. Во-вторых, запустить OUI в режиме без предварительной проверки системы. И в третьих – во время работы программы OUI указать в диалоговом окне – игнорировать несоответствия.

    Database Creation and Upgrade Tools

    The database Configuration Assistant (DBCA) – графический инструмент для создания и изменения БД.  Мастер установки поможет выбрать необходимые параметры и настроить пути для файлов без особых усилий. DBCA сгенерирует скрипты создания БД согласно выбранных вами параметров, проверит их на наличие ошибок и выполнит. Так же всё можно сделать вручную. DBCA написан на языке Java и требует настроенной домашней директории и графической подсистемы. Все сказанное выше верно также и для Database Upgrade Assistant (DBUA).

    Инструменты для выполнения SQL команд: SQL *Plus и SQL Developer

    Существует много инструментов для работы с Oracle. Два стандартных инструментра это SQL *Plus и SQL Developer. Они предоставляются компанией Oracle и подходят для администрирования и разработки. У SQL Developer больше функционал, но он требует графической подсистемы, а SQL *Plus можно использовать в режиме командной строки.

    SQL *Plus доступен для всех платформ на которых можно установить Oracle, и он устанавливается по умолчанию с серверным и клиентским программным обеспечением Oracle. В Linux исполняемый файл называется sqlplus. Местоположение этого файла зависит от установки и обычно это

     

    /u01/app/oracle/pdoruct/db_1/bin/sqlplus

     

    Ваш системный аккаунт должен быть настроен определённым образом, чтобы работать с SQL *Plus. Необходимо установить переменные системы

    • ORACLE_HOME
    • PATH
    • LD_LBIRARY_PATH

    PATH должна включать в себя путь к папке bin в домашней директории программы. LD_LIBRARY_PATH – это путь к папке lib домашней директории программы. На рисунке 2-1 представлен пример проверки системных переменных и запуск SQL *Plus.
    8

    В системе Windows раньше было две версии SQL *Plus: программа в режиме командной стркои и программа с графическим интерфейсом (sqlplus.exe и sqplusw.exe соответственно). В версии 11g графическая версия больше недоступна, однако можно использовать программу более ранней версии (до 9i включительно, изменения в Oracle Net не позволят использовать программы версии ниже 9i для работы с БД версии старше 9i). Т.е. SQL Plus 10g может подключаться к БД 9i и наборот: SQL *Plus версии 9i можно использовать для работы с БД 11g. В Windows OUI сохраняет значения системных переменных в реестре в процессе установки, поэтому необязательно устанавливать значения переменных вручную, однако если SQL *Plus не запускается, стоит проверить реестр. На рисунке 2-2 указано окно Windows с фрагментов реестра. Путь к значениям используемым SQL *Plus

     

    HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1

    9
    SQL Developer

    SQL Developer – это инструмент для подключения к серверу Oracle (и не только Oracle) и выполнения команд SQL. В нём также можно разрабатывать PL/SQL объекты. В отличие от SQL *Plus – это графический инструмент с настроенными макросами для распространённых действий. SQL Developer разработан на языке Java и наличие JRE необходимо для запуска. Т.е. SQL Developer доступен для любой платформы для которой существет Java Runtime Environment. Последнюю версию можно скачать с сайта Oracle.

    На рисунке 2-3 показан пример пользовательского интерфейса SQL Developer подключенного к БД и выполняющего простой SQL запрос. Он состоит из левой части используемой для навигации между объектами БД и правой части для ввода и вывода информации.

    10