Базы данных Oracle - статьи

         

Создание базы данных Oracle TimesTen


Возможно выполнение Oracle TimesTen на нескольких платформах, в том числе, на различных дистрибутивах Linux, Windows XP и Windows Server 2003, Solaris и HP-UX. Руководство по инсталляции постоянно находящейся в памяти базы данных Oracle TimesTen обеспечивает команды инсталляции для всех поддерживаемых платформ. Инсталляция Windows является очень простой, и именно ее использовали при выполнении примера для этой статьи.

Доступ к Oracle TimesTen, в конечном счете, осуществляется через ODBC. (Приложения Java используют JDBC, а драйвер JDBC TimesTen, в свою очередь, использует ODBC.) Создание хранилища данных Oracle TimesTen столь же просто, как определение источника данных ODBC и последующее соединение с ним. В целях этой статьи примем, что у вас имеется схема Oracle Database, которая называется DISPATCH, с таблицами, указанными в листинге 1. Далее предположим, что вы установили Oracle TimesTen и ваше приложение для реагирования на чрезвычайные ситуации – то самое, которое сообщает критическую информацию на сервер Windows, когда поступает запрос. Чтобы создать хранилище данных Oracle TimesTen для поддержки приложения для отправки и кэширования критических данных из Oracle Database используйте следующие шаги:

Листинг 1. Схема DISPATCH в Oracle Database 10g

CREATE TABLE phones ( phone_num VARCHAR2(8), street_addr VARCHAR2(20), city VARCHAR2(15), PRIMARY KEY (phone_num));

CREATE TABLE call_log ( call_num NUMBER(9), event_time TIMESTAMP, event VARCHAR2(80), PRIMARY KEY (call_num, event_time));

GRANT SELECT, UPDATE, INSERT ON call_log TO ttdispatch;

INSERT INTO phones VALUES ('555-1234','100 W. Munising Ave', 'Munising'); INSERT INTO phones VALUES ('555-2345','101 E. Varnum', 'Munising'); INSERT INTO phones VALUES ('555-3456','E2904 S. First', 'Trenary'); INSERT INTO phones VALUES ('555-4567','N3284 M-67', 'Limestone'); INSERT INTO phones VALUES ('555-5678','N7569 Spruce St.', 'AuTrain'); INSERT INTO phones VALUES ('555-6789','112 Colwell', 'Grand Marais');

COMMIT;


  • Перейдите к панели управления (Control Panel) и откройте администратор источника данных ODBC (ODFBC Data Source Administrator). Выберите Старт -> Параметры настройки -> Панель управления-> Инструментальные средства Администрирования -> Источники данных (ODBC) (Start -> Settings -> Control Panel -> Administrative Tools -> Data Sources (ODBC)).


  • Добавьте системный источник данных, используя драйвер TimesTen Data Manager 6.0.


  • Из вкладки Data Store (см. рис. 2) введите имя источника данных (DSN), путь к хранилищу данных и каталог с журнальными файлами. Путь к хранилищу данных должен заканчиваться именем файла без указания расширения.



    Рисунок 2. Настройка источника данных Oracle TimesTen

  • Перейдите к вкладке General Connection, найдите поле User ID и введите имя пользователя Oracle Database, обладающего правами доступа к таблицам, перечисленным в Листинге 1. Здесь вы можете использовать имя владельца схемы.


  • Перейдите к вкладке Cache Connect, найдите там поле Oracle Password и введите пароль для имени пользователя, использованного на шаге 4. Затем найдите поле Oracle ID и введите имя сетевого сервиса (из tnsnames.ora) для Oracle TimesTen для использования при соединении с Oracle Database.


  • Нажмите OK, чтобы создать источник данных ODBC.

    Примечание: при выполнении в среде Linux или других систем на основе UNIX, вы определяете источник данных путем редактирования файла .odbc.ini. Детали можно найти в “Руководстве по эксплуатации Oracle TimesTen In-Memory Database”.


  • Соединитесь с вашим недавно созданным источником данных ODBC, используя интерактивную SQL-утилиту Oracle TimesTen ttIsql (аналогичную SQL*Plus для Oracle Database). После этого выполните команду CONNECT, чтобы открыть источник данных, создавая, таким образом, хранилище данных. Например:


  • C:\A>ttisql

    Copyright (c) 1996-2006, Oracle. . . . Command> CONNECT dsn=ttdispatch; . . . Connection successful:

    Теперь у вас в памяти имеется выполняющееся хранилище данных Oracle TimesTen. По умолчанию Oracle TimesTen автоматически создает хранилище данных, когда оно должно быть использовано в первый раз. Чтобы увидеть перечень системных таблиц для этого хранилища данных, введите команду TABLES. Чтобы получить перечень всех доступных команд ttIsql, наберите HELP. Убедитесь, что после любой выполняемой вами команды ttIsql вы не забыли набрать точку с запятой (;).



    В вашем путевом каталоге хранилища данных (c:\a\timesten на рис. 2) вы будете видеть две копии файла контрольной точки с расширениями .ds0 и .ds1. Имя этих файлов – это то самое имя, которое вы предоставили ранее на шаге 3. В вашем каталоге с журнальными файлами (также c:\a\timesten в этом примере), вы сможете увидеть журналы с расширением .log.

    При использовании драйверов TimesTen Data Manager 6.0 (на шаге 2) вы даете вашему приложению возможность взаимодействовать непосредственно с хранилищем данных. Нет никаких контекстных переключателей и никаких запросов, отсылаемых по сети – только прямой, быстрый доступ к данным. Несколько приложений, совместно использующих хранилище данных, пользуются общим доступом к хранилищу данных через коллективный сегмент памяти.

    По умолчанию Oracle TimesTen считывает все данные в память, когда первый пользователь соединяется с хранилищем данных, и записывает данные назад на диск, когда отключается последний пользователь. Это один из способов приближения Oracle TimesTen к минимальному обслуживанию (Zero Maintenance). Однако и здесь у вас имеются дополнительные возможности. Например, можно сделать так, чтобы Oracle TimesTen считывал хранилище данных в память сразу после запуска сервера, чтобы данные уже были там, когда подключится первый пользователь.


    Содержание раздела