|
| ||||||||||||
| ||||||||||||
|
2006 г.
XML DB - новое измерение в организации данных в OracleВладимир ПржиялковскийПреподаватель технологий Oracle www.ccas.ru/prz/
АннотацияXML DB представляет собой набор средств и возможностей СУБД и БД в Oracle, ориентированный на работу с форматом XML как по части преобразования, так и хранения данных. Для изначально таблично-организованной базы данных XML DB открывает новый способ хранения и употребления данных, сочетающийся с табличным. В этой статье рассматриваются темы установки XML DB в существующую БД и организации внешнего доступа. В последующих статьях будут показано, какие возможности дает установленная XML DB.ВведениеВ версии 9.2 в Oracle появилась XML DB - набор средств и возможностей СУБД и БД в Oracle, ориентированный на работу с форматом XML как по части преобразования, так и хранения данных. По сути, XML DB дополнила традиционную для Oracle табличную организацию хранения и доступа к данным новыми видами организации и доступа. Это не может не интересовать разработчика, поскольку XML все увереннее завоевывает себе место в информационных системах. Возможности XML DB были развиты в версии 10, а судя по просачивающимся сведениям, получат дальнейшее развитие и в версии Oracle 11, существующей сегодня в бета-варианте и возможно планируемой к выпуску в 2007 году. В этой статье рассказано, как можно установить XML DB в своей БД и как наладить внешнее взаимодействие с ней. В следующих статьях будет рассказано, как при установленной XML DB работать с репозитарием, регистрировать и использовать схему XML и создавать сервлеты в СУБД для досупа к данным. Большинство возможностей Oracle XML DB, обозначенных ниже, обеспечены уже в версии Oracle 9.2.0.2, однако в некоторых технических подробностях могут иметься отличия по отношению к более поздним версиям. Установка и убирание XML DB
Установка XML DB может выполняться средствами Database Configuration Assistant (DBCA), либо вручную. Типовой вариант БД, начиная с версии 9.2, включает предустановленную XML DB и не требует дополнительной установки. Узнать о наличии установленной XML DB и готовности к работе можно так:
SQL> CONNECT / AS SYSDBA
Connected.
SQL> SELECT count ( * )
2 FROM dba_objects
3 WHERE owner = 'XDB' AND status = 'INVALID';
COUNT(*)
----------
0
SQL> COLUMN comp_name FORMAT A30
SQL> SELECT comp_name, status, version
2 FROM dba_registry
3 WHERE comp_name = 'Oracle XML Database';
COMP_NAME STATUS VERSION
------------------------------ ----------- ------------
Oracle XML Database VALID 10.2.0.1.0
При полученных выше ответах может потребоваться, однако, разблокировать подключение к СУБД (уже имеющемуся) пользователю XDB, например: ALTER USER xdb ACCOUNT UNLOCK IDENTIFIED BY xdb; Если же в существующей БД XML DB не установлена, вручную это можно сделать следующей последовательностью действий от имени SYS:
Для убирания из БД XML DB достаточно выполнить от имени SYS:
Пользователь XDB и сопутствующие пакеты будут удалены. Как открыть доступ к репозитарию по протоколам HTTP и FTPРезультатом заведения XML DB в базе явилось появление в ее составе так называемого репозитария XML DB, фактически - файловой системы. Для работы с репозитарием извне возможно и удобно открыть доступ по протоколам HTTP и FTP. Действия по открытию доступаВо-первых, требуется удостовериться в нужных значениях параметров СУБД DISPATCHERS (обязательно) и LOCAL_LISTENER (при наличии нескольких процессов listener). Установка нужных значений может быть выполнена так: ALTER SYSTEM SET dispatchers = '(PROTOCOL=TCP)(SERVICE=ORCLXDB)' SCOPE = SPFILE ; ALTER SYSTEM SET local_listener = '(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))' ; При этом указываемое значение SERVICE формируется как имя_СУБДXDB (здесь считается, что INSTANCE_NAME = ORCL), а значения HOST и PORT соответствуют местонахождению и месту приписки процесса listener (когда этих процессов несколько - того, что будет обслуживать доступ через HTTP). В работе, получив заявку на соединение с XML DB, процесс listener передаст ее дистпетчеру, а тот - одному из общественных (shared) серверных процессов. Во-вторых, требуется назначить или переназначить (при необходимости) порты для публичного доступа по HTTP и FTP. Порты по умолчанию соответственно 8080 и 2100, однако, начиная с версии 10.2, они изначально выставлены в 0. Для переустановки (а с версии 10.2 - для установки) требуется выполнить от имени SYS: EXECUTE DBMS_XDB.SETFTPPORT ( 2100 ) EXECUTE DBMS_XDB.SETHTTPPORT ( 8080 ) ALTER SYSTEM REGISTER; Выдача последней команды некритична. После этого по некоторым рекомендациям нужно перезапустить СУБД: SQL> SHUTDOWN IMMEDIATE SQL> STARTUP В ОС следует выдать: >lsnrctl status Ожидаемый результат должен выглядеть примерно так: ... Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=FLEXIT-V3TNTGIS)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=FLEXIT-V3TNTGIS)(PORT=8080))(Presentation=HTTP)(Session=RAW)) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=FLEXIT-V3TNTGIS)(PORT=2100))(Presentation=FTP)(Session=RAW)) Services Summary... Service "PLSExtProc" has 1 instance(s). Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service... Service "orcl" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service... Service "orclXDB" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service... ... В версии 10.2 появится также информация о службе имя_СУБД_XPT. При желании ее можно отключить скрытым параметром СУБД, однако ж и ее наличие не мешает обычной работе. Проверка доступа по FTPПроверка доступа к репозитарию- возможно наиболее эффектный шаг в освоении XML DB. Для FTP может выполняться двояко. (А) Проверка средствами командной строки ОС:>ftp ftp> open localhost 2100 Connected to FLEXIT-V3TNTGIS. 220- FLEXIT-V3TNTGIS Unauthorised use of this FTP server is prohibited and may be subject to civil and criminal prosecution. 220 FLEXIT-V3TNTGIS FTP Server (Oracle XML DB/Oracle Database) ready. User (FLEXIT-V3TNTGIS:(none)): xdb 331 pass required for XDB Password: 230 XDB logged in ftp> ls 200 PORT Command successful 150 ASCII Data Connection home public sys xdbconfig.xml 226 ASCII Transfer Complete ftp: 34 bytes received in 0,39Seconds 0,09Kbytes/sec. ftp> get xdbconfig.xml 200 PORT Command successful 150 ASCII Data Connection 226 ASCII Transfer Complete ftp: 11612 bytes received in 0,61Seconds 19,07Kbytes/sec. ftp> bye 221 QUIT Goodbye. Жирным шрифтом выделены команды, набранные пользователем (набор пароля для пользователя XDB на экране не отразился). По результату этих действий из репозитария XML DB в текущий каталог ОС скопировался файл xdbconfig.xml. Подключиться по FTP к репозитарию XML DB можно было и под любым другим именем пользователя Oracle, однако не все пользователи смогут совершать все операции с имеющимися файлами. Упражнение:
(Б) Проверка средствами браузера MS IE:Войти в браузер MS IE, набрать в поле адреса следующие варианты и проверить работу: Проверка доступа по HTTPВойти в браузер Web, набрать в поле адреса следующие варианты и проверить работу:
Обратите внимание на доступность текстового вида страниц. Организация доступа по WebDAV в WindowsПри установленном доступе по HTTP, Oracle поддерживает также основанное на этом протоколе средство WebDAV (Web-based Distributed Authoring and Versioning, http://techinfo.net.ru/webdav.html). ОС Windows обеспечивает клиентский доступ к серверу WebDAV, позволяя обращаться к репозитарию XML DB как к каталогу собственной файловой системы. Заведение каталога в Windows на основе доступа по WebDAVДействия в Windows:
Соединение заведено. Войти в репозитарий можно, нажав дважны на имя «каталога» XML DB Repository. Проверка доступаПодключиться в Windows Explorer к сетевому ресурсу с именем 'XML DB Repository' и копировать файлы между репозитарием XML DB и файловой системой ОС методом Drag and Drop. Доступ по WebDAV обеспечивает не обязательно только Windows Explorer, но и целый ряд продуктов разных фирм. |
|
CITForum © 1997–2025