Oracle xdb что это
Казалось бы, зачем вообще может возникнуть необходимость разбирать XML на стороне БД?
В этой статье я хотел бы продемонстрировать на сколько легко и непринужденно можно разобрать XML различной степени сложности используя инструментальные средства Oracle Database.
Мне совершенно не хотелось бы здесь касаться DOM парсера. Скажу лишь, что он есть, реализуется пакетом DBMS_XMLDOM. Временами он может оказаться крайне полезным разработчику, а разобраться с ним, не составит труда любому, сталкивавшемуся ранее с DOM парсерами от других производителей.
Инновационной особенностью оракла является тип XMLType и средства работы с ним. Этот тип является частью технологии XML DB, которая включена в поставку Oracle Database начиная с версии 9.2.
Исходный текст документа XML может быть передан конструктору XMLType в виде значений типов CLOB, BLOB, VARCHAR2, BFILE. Пожалуй, стоит отметить, что BFILE позволяет загрузить файл с файловой системы сервера — никак не клиента, потому если наш XML находится на стороне клиента и он достаточно велик, чтобы быть переданным в виде строки в запросе, пожалуй, следует озаботиться возможностью доставки файла с XML содержимым на файловую систему сервера.
Пример создания экземпляра XMLType, с содержимым, передаваемым в строке:
Создав экземпляр XMLType, можно попытаться сделать первые робкие шажки для разбора нашего XML. Тип XMLType реализует метод Extract, который, принимая XPatch выражение, возвращает фрагмент XML, сочетающийся с этим выражением. Фрагмент XML (XML Fragment), в отличии от правильно построенного XML (whellformed XML) допускает отсутствие корневого элемента (или же, другими словами, допускающий более одного корневого элемента в своем составе).
Так в примере ниже, три выражения возвращают три фрагмента XML. Первый возвращает все вхождения элемента word, второй возвращает только первое его вхождение, третий возвращает фрагмент текстового содержимого элемента word, для которого значение атрибута seq равняется двум.
Здесь, думаю, стоит поставить жирный акцент на том, что в третьем случае возвращается именно фрагмент XML, никак не значение этого элемента. Различия станут заметны лишь тогда, когда это значение будет содержать подстановочные (escaped) символы, вроде &,>. Для того, чтобы получить значение элемента, следует использовать функцию extractValue. Тут упомяну, что основные методы XMLType, продублированы SQL функциями, или же наоборот, основные функции работы с XMLType реализованы в виде его методов. Однако extractValue — исключение. extractValue представлена только в виде фунации. XMLType, к сожалению, не реализует метод extractValue.
Пожалуй, следует еще упомянуть о правилах работы с пространствами имен. Не всякого интуиция приводит к верному пониманию этих механизмов работы. Функции (и метод) extract, extractValue, как один из параметров принимают описание пространства имен. Описанные в этом параметре пространства имен могут быть использованы в XPath выражении. И именно это я хочу подчеркнуть особо. Обратите внимание на третий случай. Пространства имен в XML и XPatch выражениях имеют разные псевдонимы, но одинаковые URI, потому разбор происходит успешно.
Итак, научившись извлекать значения, теперь следовало бы научиться их разделять. Напомню, в первом случае, для первого примера, мы пытались выбрать все элементы word из XML, и нам это удалось, мы получили два элемента word, однако получили мы их в одном фрагменте. Для того, чтобы представить фрагмент, содержащий несколько корневых элементов в виде последовательности фрагментов, каждый из которых содержит по одному корневому элементу существует конвейерная (pipelined) функция XMLSeqence. Функция возвращает XMLSequenceType, который представляет собой таблицу значений XMLType.
Если вдруг кто запамятовал, напомню, что конвейерные функции возвращают как бы коллекции, потому при вызове оборачиваются выражением table. К результатам этих функций обращаются, используя виртуальный столбец column_value, либо же выражение value(), а потому для табличного выражения(table collection excpression) следует определить псевдоним. Если вдруг кто и не знал этого, рекомендую заучить это как мантру, понимание придет со временем, и то, лишь если понадобится.
Простейший пример использования XMLSequence:
Попытаюсь проговорить что здесь происходит, хоть и опасаюсь, что по-русски это окажется намного более сумбурно, и куда менее понятно, нежели на SQL. В выражении from мы сначала создаем экземпляр XMLType, передавая ему строку, содержащую текст XML. Далее, используя метод extract, мы извлекаем в один фрагмент все элементы b, которые содержит элемент а. Полученный фрагмент XML передается параметром в конвейерную функцию XMLSequence, для вызова которой, согласно правилам грамматики, используется предложение table. Набору записей, описываемым этим предложением, присваивается псевдоним t. В select-list'e мы получаем экземпляр объекта возвращенного табличным выражением t, он у нас имеет тип XMLType. Для каждой строки возвращаемой табличным выражением этот экземпляр содержит один фрагмент элемента b исходного XML. Передаем этот объект в качестве параметра функции extractValue. Результат — на лицо.
На самом деле, все далеко не так сложно, как получается в моем изложении. К этому достаточно лишь малость привыкнуть. Но насилие над мозгом еще не в полной степени завершено. То, что у нас получилось на данном этапе, работает только для одного XML документа. Если у нас исходный текст нескольких XML лежит в табличке и нам нужно разобрать сразу несколько из них, нам придется вспомнить еще что такое левая корреляция (left correlation). Здесь тоже нет ничего военного. Эта штука придумана Ораклом и специально для табличных выражений (table collection expression). Суть сводится к тому, что в табличном выражении могут использоваться значения (столбцы) из наборов данных, определенных в выражении from перед (слева) от самого табличного выражения. На практике это выглядит совсем не так ужасно, как на слух:
Здесь в табличном выражении t используется значение xml таблицы demo3. Выражение будет вычислено для каждой строки таблицы demo3. Это и есть то самое, что называется таким вычурным словом — левая корреляция.
Описанного функционала вполне достаточно, чтобы разобрать XML практически любой сложности. Этими средствами нельзя разобрать, пожалуй, лишь иерархически представленные данные заведомо неизвестной глубины вложенности. Для разбора подобных структур придется прибегнуть к XSLT, чтобы привести XML к более удобочитаемому виду. XSLT преобразование осуществляется функцией XMLTransform, которая в качестве первого параметра принимает XMLType исходного документа, второго XMLType XSL шаблона, а возвращает XMLType результата преобразования.
В принципе, на этом с теорией можно и закончить. В завершение лишь продемонстрирую пример извлечения элементов с разных уровней вложенностей XML. У новичков это, порой, вызывает сложности.
Как видите, здесь нет ничего нового. Все та же левая корреляция. Единственное, на что хотелось бы обратить внимание, на (+) в конце табличного выражения subdtl. Как, наверное, не сложно догадаться, он обозначает, что следует использовать внешнее соединение. Если бы мы его не указали, мы не получили бы строки с detail 3.
Итак, что же предстало пред нашими глазами? Мы имеем один объектный тип, сравнительно ограниченный набор функций, дающий практически не ограниченный набор возможностей. Мне безумно нравится эта реализация. Особенно меня восторгает то, что Oracle corp не пришлось рихтовать семантику их SQL, чтобы вписать в него XML. Все описанные особенности — объекты, конвейерные функции, табличные выражения используются этой технологией, но не созданы специально для нее. Получается, подобную реализацию мог бы воплотить кто угодно. Эта реализация жирной линией подчеркивает мощь и гибкость ораклиного SQL движка.
На этой ноте я мог бы и закончить, однако мне покоя не дает предвосхищаемый мною вопрос, да с упреком. «Дружище, ты в каком веке вообще живешь, ты на календарь давно заглядывал? На дворе близится к концу 2011й год, уже далеко не первый продакшн поднят на 11r2 версии датабазы, а ты все жуешь девятошный функционал». Да, есть такой грешок за мной. Я прекрасно знаю, что в 10й версии ввели чудный XMLTable, полностью задвигающий на задний план только что описанный мною функционал. Позволяющий еще легче и еще более не принужденно разбирать XML. Однако по XMLTable у меня еще не достаточно опыта, чтобы сказать что либо сверх и без того очевидного. Потому ограничусь лишь простой демонстрацией.
Покажу на том же примере:
Казалось бы, букв стало много больше, может возникнуть справедливый вопрос… а в чем же профит инновации? Профит в том, что первым параметром в XMLTable передается уже не XPath выражение, а XQuery. А значит, объединение может быть произведено именно его средствами, а не средствами SQL. XMLTable обещает быть еще той вкуснятиной, но, увы, повторюсь, мне о нем пока нечего рассказать.
Репозитарий XML DB фактически представляет из себя древовидно-организованую файловую систему внутри БД, при том что элементами ее являются ресурсы: каталоги (папки) и файлы. В статье показано, как можно работать с репозитарием XML DB.
Введение
- работать с репозитарием;
- регистрировать схему XML для ее использования работе с данными XML в БД;
- создавать внутри СУБД сервлеты для доступа к БД через интернет.
Репозитарий XML DB, фактически является древовидно-организованой файловой системой внутри БД, элементами которой выступают ресурсы: каталоги (папки) и произвольные (не обязательно текстовые) файлы. Папки можно заводить и удалять, а файлы - заводить, удалять и извлекать.
Технически ресурсы репозитария XML DB суть документы XML. Элемент Contents каждого такого документа представляет содержание ресурса, а все остальные элементы являются метаданными, описывающими ресурс.
Здесь рассматриваются две первые категории средств, а последняя оставлена для самостоятельных упражнений.
Доступ к ресурсам средствами SQL
Две производные таблицы (из исходных, в схеме XDB) позволяют узнать информацию о ресурсах XML DB: PATH_VIEW и RESOURCE_VIEW:
Обе таблицы хранят список ресурсов с путями доступа, однако благодаря возможности определять связки (links), подобно как в файловой системе, путей доступа к одному ресурсу может оказаться несколько; их-то все и покажет таблица PATH_VIEW, в отличие от RESOURCE_VIEW.
Примеры запросов.
Описание первого попавшегося ресурса:
- UNDER_PATH
- EQUALS_PATH
- PATH
- DEPTH
Выдать описания ресурсов, имеющихся в папке /sys/acls:
Выдать относительные имена ресурсов, имеющихся в папке /sys/acls (в данном случае это будут имена файлов), и их полные имена:
Описание ресурса-папки /sys/acls:
Полное описание ресурса-файла /sys/acls/all_all_acl.xml:
С запросами последнего типа следует соблюдать осторожность, так как элемент Contents результирующего документа XML хранит для ресурса-файла его содержимое, а оно может оказаться очень объемистым ("большой файл").
Содержание ресурса-файла /sys/acls/all_all_acl.xml с содержимым в формате XML:
Другие типы файлов могут хранить описание содержимого в элементе /Resource/Contents/text или /Resource/Contents/binary.
Работа с ресурсами в программе
Заводить, изменять свойства и удалять ресурсы в репозитарии XML DB можно с помощью пакета PL/SQL DBMS_XDB.
Обратите внимание, что XML DB по-разному хранит файл в зависимости от его расширения (упражнение: убедитесь, что XML DB интерпретирует содержимое именно по расширению файла, а не оттого, что внутри). Соответствие расширений файлов типам MIME устанавливается и выясняется в файле-ресурсе /xdbconfig.xml.
Создание связи (link):
Обратите внимание на два пути доступа в репозитарии к одному и тому же файлу (ресурсу).
Упражнение. Проверьте реакцию XML DB на попытку удалить несуществующий файл или непустую папку.
В отличие от производных таблиц (view) словаря-стправочника в Oracle, производные таблицы RESOURCE_VIEW и PATH_VIEW обновляемы (на деле это "объектно-реляционные" таблицы). Это позвляет, например, удалить связь также и командой DELETE, или переместить существующий ресурс в другую папку обычной операцией UPDATE:
Пример помещения в репозитарий файла ОС:
Технически файлы репозитария размещаются служебных таблицах БД (документы XML) или в объектах LOB (файлы всех остальных типов). Использование формата MIME для хранения двоичных файлов не является самым экономным, что относится к издержкам метода.
Разграничение доступа
- Участник безопасности (principal). В XML DB это пользователь БД, роль БД или пользователь/роль справочника каталогов LDAP.
- Привилегия. Может быть атомарной (atomic; например read-contents, update или dav:lock) и составной (aggregate, состоящей из других привилегий; например all, dav:all или dav:read-acl). (Полный перечень имеющихся в XML DB привилегий имеется в документации).
- Access control entry (ACE). Запись о предоставлении или запрету привилегии участнику. Делается в тексте ACL.
В XML DB имеются несколько встроенных ACL, заданных следующими ресурсами:
/sys/acls/all_all_acl.xml
/sys/acls/all_owner_acl.xml
/sys/acls/bootstrap_acl.xml
/sys/acls/ro_all_acl.xml
ACL файла /public/OracleXML.doc в программе можно узнать так:
Пример замены ACL ресурса:
Создадим в БД роль и создадим в XML DB соответствующий ей файл ACL:
Защитим файл /public/OracleXML.doc созданым ACL:
Проверим видимость ресурса пользователем SCOTT. Для удобства создадим сначала файл с запросом:
При включении пользователя в группу ранее невидимый ресурс стал виден.
Тип XDBURITYPE для работы с ресурсами
Для работы с ресурсами репозитария можно использовать системный подтип XDBURITYPE абстрактного типа URITYPE. В частности, методы типа XDBURITYPE позволяют извлекать из репозитария содержимое ресурсов.
Пример определения длины файла /public/OracleXML.doc:
Таким же образом можно извлечь большой файл (содержимое, а не длину) в переменную программы.
Одно из применений типа XDBURITYPE - дать возможность ссылаться на данные в репозитарии XBM DB из полей обычных таблиц.
Другие возможности
Любой ресурс репозитария можно перевести в режим версионного доступа (version control resource, VCR). С этой целью, и с целью самого доступа, следует использовать особый пакет DBMS_XDB_VERSION.
в PL/SQL - процедуры пакета DBMS_XDB: APPENDRESOURCEMETADATA, UPDATERESOURCEMETADATA, DELETERESOURCEMETADATA, PURGERESOURCEMETADATA;
в SQL - операции INSERT, UPDATE, DELETE применительно к полю RES (производной) таблицы RESOURCE_VIEW;
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 и готовности к работе можно так:
При полученных выше ответах может потребоваться, однако, разблокировать подключение к СУБД (уже имеющемуся) пользователю XDB, например:
- Завести табличное пространство для нужд пользователя XDB (желательно).
- Прогнать сценарий catqm.sql заведения необходимой инфраструктуры в БД (реестр XML DB, служебные пакеты PL/SQL и пр.):
- Прогнать сценарий catqm.sql заведения необходимых библиотек на Java и типов (они могут иметься и без этого):
- Прогнать сценарий создания пакетов из состава XDK (по желанию):
- Выполнить SHUTDOWN и STARTUP.
Пользователь XDB и сопутствующие пакеты будут удалены.
Действия по открытию доступа
Во-первых, требуется удостовериться в нужных значениях параметров СУБД DISPATCHERS (обязательно) и LOCAL_LISTENER (при наличии нескольких процессов listener). Установка нужных значений может быть выполнена так:
Выдача последней команды некритична. После этого по некоторым рекомендациям нужно перезапустить СУБД:
В ОС следует выдать:
Ожидаемый результат должен выглядеть примерно так:
В версии 10.2 появится также информация о службе имя_СУБД_ XPT . При желании ее можно отключить скрытым параметром СУБД, однако ж и ее наличие не мешает обычной работе.
Проверка доступа по FTP
Проверка доступа к репозитарию- возможно наиболее эффектный шаг в освоении XML DB. Для FTP может выполняться двояко.
(А) Проверка средствами командной строки ОС:
Жирным шрифтом выделены команды, набранные пользователем (набор пароля для пользователя XDB на экране не отразился). По результату этих действий из репозитария XML DB в текущий каталог ОС скопировался файл xdbconfig.xml. Подключиться по FTP к репозитарию XML DB можно было и под любым другим именем пользователя Oracle, однако не все пользователи смогут совершать все операции с имеющимися файлами.
- Проверить появление в текущем каталоге ОС файла xdbconfig.xml.
- Подключиться по FTP под именем SCOTT и удостовериться в невозможности извлечь файл из XML DB.
(Б) Проверка средствами браузера MS IE:
Обратите внимание на доступность текстового вида страниц.
Организация доступа по WebDAV в Windows
Заведение каталога в Windows на основе доступа по WebDAV
Соединение заведено. Войти в репозитарий можно, нажав дважны на имя «каталога» XML DB Repository.
Проверка доступа
Подключиться в Windows Explorer к сетевому ресурсу с именем 'XML DB Repository' и копировать файлы между репозитарием XML DB и файловой системой ОС методом Drag and Drop.
Доступ по WebDAV обеспечивает не обязательно только Windows Explorer, но и целый ряд продуктов разных фирм.
Oracle XML DB is a high-performance, native XML storage and retrieval technology that is delivered as a part of all versions of Oracle Database.
Technical Report: XML in Oracle Database (PDF)
Presentation: XML in Oracle Database (PDF)
Tutorial: XML in Oracle Database (LiveSQL)
Support for All of the Key XML Standards
Oracle XML DB provides full support for all of the key XML standards, including XML, Namespaces, DOM, XQuery, SQL/XML and XSLT. By providing full support for XML standards, Oracle XML DB supports native XML application development. Application developers are able to use XML-centric techniques to store, manage, organize, and manipulate XML content stored in the database. Oracle XML DB also supports the SQL/XML standard, which allows SQL-centric development techniques to be used to publish XML directly from relational data. With Oracle XML DB, you get all the advantages of relational database technology plus all the advantages of the W3C and industry XML standards (like XBRL).
Secure and Scalable XML Storage and Retrieval
In Oracle Database 19c, Oracle XML DB provides advanced features such as support for the W3C’s XQuery-Update and XQuery Full-Text standards, significant performance improvements and improved integration with all the operational capabilities of the Oracle Database, making it even easier to develop and deploy performant, scaleable and secure XML based applications.
Oracle XML Developer Kit (XDK)
Oracle XML Developer Kit (XDK) is a set of components, tools and utilities in Java, C, and C++ bundled with Oracle Database that eases the task of building and deploying XML-enabled applications with a commercial redistribution license.
Unlike many shareware and trial XML components, Oracle XDK provides high performance XML support that has been proven in demanding enterprise production environments. Oracle XDK has also been integrated in numerous Oracle product including Oracle SOA, Oracle JDeveloper/ADF, Oracle XML DB and Oracle BI Publisher.
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 может выполняться средствами Database Configuration Assistant (DBCA), либо вручную. Типовой вариант БД, начиная с версии 9.2 включает предустановленную XML DB и не требует дополнительной установки.
Узнать о наличии установленной XML DB и готовности к работе можно так:
SQL> CONNECT / AS SYSDBA
SQL> SELECT count ( * )
2 FROM dba_objects
3 WHERE owner = 'XDB' AND status = 'INVALID';
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 :
1) Завести табличное пространство для нужд пользователя XDB (желательно).
2) Прогнать сценарий catqm.sql заведения необходимой инфраструктуры в БД (реестр XML DB, служебные пакеты PL / SQL и пр.):
SQL > @?/ rdbms / admin / catqm пароль_для_ XDB табличное_пространство_для_ XDB табличное_пространство_для_временных данных_ XDB
3) Прогнать сценарий catqm.sql заведения необходимых библиотек на Java и типов (они могут иметься и без этого):
4) Прогнать сценарий создания пакетов из состава XDK (по желанию):
5) Выполнить SHUTDOWN и STARTUP.
Для убирания из БД XML DB достаточно выполнить от имени SYS:
1) SQL> @?/rdbms/admin/catnoqm
2) SHUTDOWN и STARTUP
Пользователь XDB и сопутствующие пакеты будут удалены.
Действия по открытию доступа
Во-первых, требуется удостовериться в нужных значениях параметров СУБД DISPATCHERS (обязательно) и LOCAL_LISTENER (при наличии нескольких процессов listener ). Установка нужных значений может быть выполнена так:
SET dispatchers = '(PROTOCOL=TCP)(SERVICE= ORCLXDB )'
EXECUTE DBMS_XDB. SETFTPPORT ( 2100 )
ALTER SYSTEM REGISTER;
Выдача последней команды некритична. После этого по некоторым рекомендациям нужно перезапустить СУБД:
SQL> SHUTDOWN IMMEDIATE
В ОС следует выдать:
Ожидаемый результат должен выглядеть примерно так:
Listening Endpoints 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> open localhost 2100
Connected to 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
230 XDB logged in
200 PORT Command successful
150 ASCII Data Connection
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.
221 QUIT Goodbye.
Жирным шрифтом выделены команды, набранные пользователем (набор пароля для пользователя XDB на экране не отразился). По результату этих действий из репозитария XML DB в текущий каталог ОС скопировался файл xdbconfig.xml . Подключиться по FTP к репозитарию XML DB можно было и под любым другим именем пользователя Oracle, однако не все пользователи смогут совершать все операции с имеющимися файлами.
1) Проверить появление в текущем каталоге ОС файла xdbconfig.xml .
2) Подключиться по FTP под именем SCOTT и удостовериться в невозможности извлечь файл из XML DB.
(Б) Проверка средствами браузера MS IE:
Войти в браузер MS IE, набрать в поле адреса следующие варианты и проверить работу:
Войти в браузер Web, набрать в поле адреса следующие варианты и проверить работу:
Обратите внимание на доступность текстового вида страниц.
Организация доступа по WebDAV в Windows
Заведение каталога в Windows на основе доступа по WebDAV
Действия в Windows:
1) Открываем форму My Network Places . Это можно сделать через Internet Explorer или через форму Network Connections в установках компьютера.
3) Выбираем Choose another network connect . Вводим адрес http :// localhost :8080/ . В появившемся окошке вводим имя и пароль пользователя Oracle, например xdb/xdb . Указываем имя сетевого соединения, например: XML DB Repository. Снимаем "галочку" с позиции выбора Open this network place … (необязательно) и нажимаем Finish.
Соединение заведено. Войти в репозитарий можно, нажав дважды на имя "каталога" XML DB Repository.
Проверка доступа
Подключиться в Windows Explorer к сетевому ресурсу с именем ' XML DB Repository ' и копировать файлы между репозитарием XML DB и файловой системой ОС методом Drag and Drop .
Доступ по WebDAV обеспечивает не обязательно только Windows Explorer, но и целый ряд продуктов разных фирм.
Читайте также: