Введение в Oracle 10g. Часть 1

Олег Зайцев

Инсталляция

Web-интерфейс

   Administration

   Object Browser

   SQL

   Utilities

Управление запуском базы

Проблема поддержки русского языка и ее решение

Подготовка к работе

 

Оracle 10g XE (Express Edition) — бесплатная версия СУБД Oracle в составе программного продукта.

Версия XE содержит ряд ограничений:

  • поддерживается база данных размером до 4 Гбайт;
  • на одном компьютере может быть запущен только один экземпляр базы Oracle XE;
  • при наличии на сервере нескольких процессоров Oracle XE использует только один из них;
  • Oracle XE использует не более 1 Гбайт независимо от объема доступной оперативной памяти.

Несмотря на данные ограничения, на основе Oracle XE можно создавать приложения для решения широкого круга задач. А если по мере роста базы данных и увеличения количества пользователей Oracle XE перестанет справляться с поставленными задачами или будeт достигнут предельный для Oracle XE размер базы, то превести задачи на одну из платных версий Oracle не составит особого труда.

В настоящее время существуют версии Oracle XE для платформ Linux (Debian, Mandriva, Novell, Red Hat и Ubuntu) и Windows.

Инсталляция

Дистрибутив Oracle 10g XE для Windows состоит из единственного файла OracleXE*.exe, являющегося инсталлятором. Сегодня доступно две разновидности Oracle XE — версия для Западной Европы (база данных в кодировке 1252, имя файла дистрибутива OracleXE.exe) и Unicode-версия (соответственно Unicode и OracleXEUniv.exe).

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

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

 

Установка сервера

Установка сервера

Характерной особенностью инсталлятора является возможность установки в режиме Silent Install, в котором от пользователя не требуется взаимодействие с инсталлятором. Этот режим установки удобен в случае включения Oracle XE в состав дистрибутива собственного продукта. Реализация Silent Install основана на файлах ответов для установки, восстановления и удаления Oracle XE. Эти файлы можно скачать с сайта Oracle. Запуск инсталлятора с файлом ответов производится при помощи ключей командной строки:

OracleXE.exe /S /f1"<файл ответов>” /f2"<имя файла для протокола инсталляции>”

В настоящее время на сайте Oracle доступно три файла ответов:

  • OracleXE-install.iss — для установки Oracle. Необходимо отредактировать этот файл:

    - в параметре Dir группы «*SdComponentDialog-0» нужно указать путь к папке для установки Oracle XE,

    - в параметре SYSPassword группы «*AskSYSPassword-13011» следует указать пароль пользователя SYS (по умолчанию в этом файле задан пароль oraclexe);

  • OracleXE-repair.iss — восстановление Oracle XE;
  • OracleXE-remove.iss  — удаление Oracle XE вместе с базой данных

Перед установкой следует убедиться, что порты 1521/TCP и 8080/TCP не используются другими приложениями. Порт 1521 по умолчанию используется прослушивающим процессом (listener), а порт 8080 предназначен для Web-интерфейса. Изменить номер портов можно при инсталляции в автоматическом режиме: в файле OracleXE-install.iss необходимо задать специфические значения номеров портов с помощью параметров TNSPort, MTSPort и HTTPPort.

Кроме данных Oracle XE, для бесплатной загрузки доступен Oracle-клиент для Windows, установка которого может производиться в ручном и автоматическом режимах.

Web-интерфейс

Управление базой данных предельно просто и осуществляется через Web-интерфейс. Подобный подход облегчает администрирование, особенно в случае дистанционного управления через Интернет.

 

Web-интерфейс управления базой

Web-интерфейс управления базой

В текущей версии Oracle XE Web-интерфейс содержит четыре группы инструментов: Administration, Object Browser, SQL и Utilities.

Administration

Этот набор средств предназначен для администрирования и мониторинга базы:

  • Storage — просмотр информации о файлах базы данных и табличных пространствах;
  • Memory — просмотр распределения памяти с возможностью настройки размера областей SGA (System Global Area) и PGA (Process Global Area);
  • Database Users — инструмент для просмотра списка пользователей базы данных с возможностью простейшего администрирования (создание, удаление, блокировка учетной записи, смена пароля, основные привилегии);
  • Monitor — мониторинг экземпляра. В частности, можно просматривать список сессий, блокировок и открытых курсоров. Из списка сессий можно вызвать страницу с детализированной информацией по каждой сессии. На странице с детализированной информацией имеется кнопка для принудительного закрытия сессии. Кроме того, предусмотрены дополнительные виды анализа, в том числе поиск наиболее ресурсоемких запросов и операций, выполняемых длительное время;
  • About Database — просмотр настроек экземпляра.

Object Browser

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

SQL

Сюда входят средства для выполнения SQL-команд:

  • SQL Commands — для выполнения произвольных SQL-операторов. По умолчанию у этого инструмента установлен переключатель Autocommit, что приводит к автоматическому выполнению COMMIT после каждой операции. Пользователь может сохранить любую введенную команду, причем при сохранении задается имя и краткое описание. Сохраненные операторы могут быть впоследствии загружены в редактор из закладки «Saved SQL». В случае выполнения запроса отображаются возвращаемые им данные и план выполнения запроса;
  • SQL Scripts — средство для работы с SQL-скриптами, позволяющее создавать и редактировать SQL-скрипты, сохранять их под заданными именами и выполнять. Результаты выполнения скриптов сохраняются и могут впоследствии быть просмотрены и проанализированы;
  • Query Builder — визуальный построитель запросов, принцип работы которого является стандартным для утилит подобного типа и напоминает построитель запросов в Microsoft Access. Визуальный построитель позволяет задавать простейшие условия фильтрации и правила сортировки по каждому из полей. После завершения визуального построения запроса можно просмотреть и скопировать полученный текст SQL-запроса или выполнить запрос и просмотреть результирующие данные. Такое визуальное средство может представлять интерес не столько для разработчиков, сколько для постановщиков задач и для специалистов, отвечающих за тестирование и техническую поддержку продукта.

 

Выполнение запроса к базе

Выполнение запроса к базе

Визуальное построение запроса

Визуальное построение запроса

Utilities

Utilities содержит различные утилиты для работы с базой данных:

  • страница Data Load/Unload — инструменты для выгрузки и загрузки данных. Поддерживается работа с текстовыми данными (размещенными в текстовом файле или копируемыми через буфер обмена) и XML-файлами;
  • страница Generate DDL — инструмент генерации DDL-скриптов для указанных объектов схемы;
  • страница Object Reports — инструменты для генерации ряда отчетов, необходимых при администрировании и анализе базы данных.

Как можно понять из этого краткого описания, Web-интерфейс содержит все основные средства для начального этапа работы с базой данных. Тестирование этого инструмента показало его устойчивую работу и неплохое быстродействие. Разумеется, разработчикам и администраторам подобного средства будет недостататочно, но для выполнения простейших операций и изучения Oracle оно вполне пригодно.

В начало В начало

Управление запуском базы

После установки Oracle XE в системе появляются новые службы:

  • OracleServiceXE — экземпляр базы;
  • OracleXETNSListener — прослушивающий процесс.

Обе службы имеют тип запуска «Auto» и запускаются при старте системы. Если автозапуск Oracle XE нежелателен, то необходимо изменить режим запуска этих служб на «Запускать вручную» и запускать эти службы перед началом работы с базой при помощи командных файлов StartDB.bat и StopDB.bat (эти файлы размещены в папке oraclexe\app\oracle\product\10.2.0\server\BIN\) или при помощи диспетчера служб Windows.

Следует отметить, что на загрузку базы и процесс закрытия оказывают влияние следующие параметры ключа реестра HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ KEY_XE:

  • ORA_XE_AUTOSTART — определяет режим автозапуска базы данных после запуска службы OracleServiceXE; по умолчанию этот параметр равен TRUE;
  • ORA_XE_SHUTDOWN — определяет режим закрытия базы данных при остановке службы OracleServiceXE; по умолчанию он равен TRUE и при завершении службы производится закрытие базы, что эквивалентно команде shutdown < ORA_XE_SHUTDOWNTYPE >;
  • ORA_XE_SHUTDOWN_TIMEOUT — максимальное время в секундах, отводимое на процесс закрытия базы; по умолчанию — 90 с;
  • ORA_XE_SHUTDOWNTYPE — режим закрытия базы; Допустимы варианты immediate (это значение устанавливается после установки Oracle XE), abort и normal.

Режим закрытия normal является самым корректным, поскольку при закрытии базы в этом режиме блокируется создание новых сессий и происходит ожидание завершения всех текущих. Закрытие реальной базы в данном режиме маловероятно, так как если обнаружится хотя бы одна открытая пользовательская сессия, то это заблокирует закрытие базы.

Режим закрытия immediate является оптимальным: в этом режиме прерываются все текущие операции, производится закрытие всех пользовательских процессов и сессий, а затем производится закрытие базы.

Закрытие в режиме abort  — самое быстрое и потому самое некорректное, ибо база немедленно закрывается, не ожидая завершения текущих операций.

Таким образом, рекомендуются следующие значения параметров:

  • ORA_XE_AUTOSTART = TRUE;
  • ORA_XE_ SHUTDOWN = TRUE;
  • ORA_XE_ SHUTDOWN=immediate;
  • ORA_XE_SHUTDOWN_TIMEOUT= 90.

Эти значения устанавливаются по умолчанию в ходе установки базы, и изменять их не следует.

В начало В начало

Проблема поддержки русского языка и ее решение

Если вы установили версию Oracle Database 10g Express Edition (Western European), то после установки базы у вас возникнет проблема с поддержкой русского языка: попытка ввода русскоязычных данных в таблицы будет происходить без ошибок, но символы будут отображаться как «?». Причину этого найти довольно просто при помощи запроса:

 

SELECT NAME, VALUE$, COMMENT$

FROM SYS.PROPS$

 

Данный запрос извлекает настройки базы, в том числе языковые настройки (параметр NLS_CHARACTERSET). В базе значение этого параметра — WE8MSWIN1252, при этом значение аналогичного параметра в реестре — CL8MSWIN1251. Однако существует «шаманский» (иначе такой метод назвать нельзя) прием, сводящийся к запуску скрипта при помощи SQL Plus:

 

CONNECT SYS/пароль AS SYSDBA;

UPDATE SYS.PROPS$

SET VALUE$ = ‘CL8MSWIN1251’

WHERE NAME = ‘NLS_CHARACTERSET’;

COMMIT;

SHUTDOWN IMMEDIATE;

STARTUP MOUNT;

ALTER SYSTEM ENABLE RESTRICTED SESSION;

ALTER DATABASE OPEN;

ALTER DATABASE XE CHARACTER SET CL8MSWIN1251;

ALTER DATABASE XE NATIONAL CHARACTER SET CL8MSWIN1251;

SHUTDOWN IMMEDIATE;

STARTUP;

 

Данный скрипт модифицирует значение NLS_CHARACTERSET в таблице PROPS$ (что само по себе является некорректным действием), после чего фиксирует произведенное изменение, останавливает базу в режиме IMMEDIATE и перезапускает ее с включением режима RESTRICTED SESSION (в указанном режиме с базой могут работать только пользователи с привилегией RESTRICTED SESSION; перевод базы в этот режим необходим для выполнения ALTER DATABASE CHARACTER SET). Затем производятся открытие базы данных и модификация ее кодовой страницы, а после чего база перезапускается. После выполнения данного скрипта проблема с поддержкой русского языка исчезает. Важно отметить, что такие манипуляции допустимы только сразу же после установки (пока в базе нет объектов пользователя и данных) и могут производиться лишь на учебной базе. При установке Oracle Database 10g Express Edition (Universal) подобная проблема не должна возникнуть, так как в этом случае база хранит данные в формате Unicode. Однако Unicode-база медленнее работает со строками, а для хранения текстовой информации требуется вдвое больший объем. Данные проблемы возникают исключительно с Oracle XE, так как его старшие братья содержат средства для генерации базы, позволяющие настроить кодировку базы данных при ее создании.

В начало В начало

Подготовка к работе

Следующим шагом является создание пользователей. В принципе, можно работать от имени пользователя SYS или SYSTEM, но настоятельно рекомендуем вам использовать данные учетные записи лишь для администрирования базы. По этой причине для дальнейших опытов создадим пользователей TESTER и SCOTT:

 

CONNECT SYS/пароль AS SYSDBA;

 

CREATE USER TESTER

IDENTIFIED BY tester

DEFAULT TABLESPACE USERS

TEMPORARY TABLESPACE TEMP;

 

GRANT SELECT ANY TABLE TO TESTER;

GRANT CONNECT TO TESTER;

GRANT RESOURCE TO TESTER;

ALTER USER TESTER DEFAULT ROLE CONNECT, RESOURCE;

GRANT UNLIMITED TABLESPACE TO TESTER;

CREATE USER SCOTT

 

IDENTIFIED BY TIGER

DEFAULT TABLESPACE USERS

TEMPORARY TABLESPACE TEMP;

 

GRANT CONNECT TO SCOTT;

GRANT RESOURCE TO SCOTT;

ALTER USER SCOTT DEFAULT ROLE CONNECT, RESOURCE;

GRANT UNLIMITED TABLESPACE TO SCOTT;

 

@C:\oraclexe\app\oracle\product\10.2.0\

server\RDBMS\ADMIN\scott.sql

 

Данный скрипт следует выполнять с помощью утилиты SQL Plus. В случае установки Oracle XE в отличную от C:\oraclexe папку необходимо изменить путь в последней строке скрипта. Пользователь SCOTT с паролем TIGER и принадлежащие ему объекты обычно используются для изучения Oracle, скрипт для создания этих объектов входит в дистрибутив и размещается в файле RDBMS\ADMIN\scott.sql.

 

Продолжение следует.

КомпьютерПресс 4'2006

Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует