|
Владимир Викторович Пржиялковский
Vladimir Przyjalkowski
Место, посвященое СУБД Oracle. За десятилетия своего развития эта система приобрела настолько колоссальный объём кода, что, будучи рукотворной, никаким отдельным человеком уже непостижима. Поэтому вполне вероятно, что интересующийся найдет здесь новые для себя сведения о заложенных в неё свойствах и о способах использования.
.
Автоматическое изменение данных таблицы по получении документов XML
В статье показано, как пользуясь аппаратом событий репозитария XML DB можно добиться автоматического изменения данных таблицы в результате обычного копирования данных XML в репозитарий.
PDF
Изменение средствами SQL содержимого таблиц БД по данным XML из внешних источников
Приводятся примеры того, как средствами SQL изменять содержимое таблиц БД Oracle на основе данных, представленных в формате XML, и располагающихся в файлах ОС либо в сети.
PDF
Как отслеживать работу приложений и их составных частей в Oracle
Давнее средство SQL Trace позволяет следить в Oracle за затратами СУБД на обработку запросов SQL
серверными процессами, обслуживающими конкретные сеансы связи с СУБД. В версии Oracle 10
появился системный пакет DBMS_MONITOR, разрешающий отслеживать затраты на обработку более
разнообразно: к примеру, запросов, принадлежащих определенной службе БД, приложению или его
фрагменту, или же запросов, обрабатываемых определенным узлом кластера. В статье показано, как
пользоваться этим инструментом наблюдения за обработкой запросов.
PDF
Редакции объектов БД в Oracle как средство внесения изменений в приложение
В версии Oracle 11.2 для некоторых видов объектов хранения в БД была введена возможность иметь
одновременно несколько «редакций» (editions). Целью ставилось усовершенствовать процесс внесения
изменений в схему данных так, чтобы допустить в некоторых случаях отладку нового варианта
приложения, в расчете на новую структуру данных, без останова работы ранее написанных программ.
Техника использования редакций объектов рассматривается в статье на примерах.
PDF
Рекурсивные запросы в Oracle
Рассматривается использование рекурсии в вынесенном во фразу WITH подзапросе в Oracle, разрешенное с версии 11.2. Возможности такой рекурсии сопоставляются с возможностями фразы CONNECT BY.
PDF
Как обязать СУБД применять к запросам конкретные приемлемые планы
Рассматривается система управления планами (SPM), введенная в версии Oracle 11 применительно к повторяющимся запросам приложения. Она позволяет формировать и хранить для запросов допустимые наборы планов (baselines), заставить СУБД работать только по ним и тем самым избежать в отдельных случаях непредусмотренного падения производительности при обработке.
PDF
Бумажник Oracle Wallet: использование для связи по защищенным каналам
Рассматривается использование электронного бумажника Oracle Wallet для установления защищенных
соединений СУБД с узлами интернета по протоколу TCPS и клиентских программ с СУБД по протоколу
HTTPS.
PDF
Бумажник Oracle Wallet: использование для шифрования данных на внешнем носителе
Рассматривается использование электронного бумажника Oracle Wallet для защиты от прочтения данных на
внешнем носителе путем прозрачного шифрования (TDE) содержимого столбцов таблиц и табличных
пространств, а также путем шифрования резервных копий.
PDF
Планировщик заданий в Oracle
В статье рассматриваются некоторые свойства и примеры употребления планировщика заданий, появившегося в версии Oracle 10 на смену старому.
PDF
Пример построения автоматизированного управления дисками (ASM)
Automatic Storage Management (ASM) – средство автоматического управления дисковым пространством БД, появившееся в версии 10 и развитое в версии 11. Два главных свойства ASM — контролируемая избыточность данных и автоматическая балансировка загрузки дисков. В статье рассматривается доступный пример построения ASM.
PDF
Потоки данных в Oracle – это очень просто
Потоки данных в Oracle – более поздняя, чем «обычная» репликация (односторонняя, двусторонняя и многосторонняя), модель организации непрерывного переноса данных как внутри БД, так и между базами. В отличие от «обычной» репликации Oracle Streams не требует заведения особых структур в БД (журналов таблиц и materialized views), но переносит данные, почерпнутые из журнала БД. В статье рассматривается пример построения переноса данных средствами Oracle Streams между двумя базами.
PDF
Как взломать парольную защиту Oracle или как ее обойти
В статье рассматриваются некоторые особенности парольной защиты Oracle, способствующие несанкционированному проникновению в БД и меры по снижению риска подобного проникновения.
PDF
Как классифицировать текстовые документы в Oracle
Встроенная в СУБД Oracle текстовая поисковая машина Oracle Text способна не только выполнять полнотекстовый поиск в документах и по кратким описаниям, но и делать проверку на соответствие заданным по желанию условиям. Для этого применяется разновидность CTXSYS.CTXRULE текстового индекса и оператор MATCHES. В статье показаны примеры их употребления. Статью удобно рассматривать как продолжение публиковавшихся ранее «Oracle: работать с текстовыми документами очень просто», «Текстовые документы в Oracle: разнообразие источников, форматов, запросов» и «Как работать с картотекой (набором данных с краткими описаниями) ?».
PDF
Как работать с картотекой (набором данных с краткими описаниями)
Встроенная в СУБД Oracle текстовая поисковая машина Oracle Text способна не только выполнять полнотекстовый поиск в документах (как находящихся внутри БД, так и вне нее), но и осуществлять поиск по наборам кратких описаний типа практикуемых в каталогах. Для этого применяется разновидность CTXSYS.CTXCAT предметного индекса и оператор CATSEARCH. В статье показане примеры их употребления. Статью удобно рассматривать как продолжение публиковавшихся ранее «Oracle: работать с текстовыми документами очень просто» и «Текстовые документы в Oracle: разнообразие источников, форматов, запросов».
PDF
Текстовые документы в Oracle: разнообразие источников, форматов, запросов
Статья продолжает статью «Oracle: работать с текстовыми документами очень просто», в которой было показано как стедствами Oracle Text строить полнотекстовый индекс типа CTXSYS.CONTEXT к текстовым документам, хранимым в БД, и как делать запросы по индексу. Здесь показано, как можно индексировать документы в полях CLOB, вне БД, а также документы, представленные другими форматами, нежели чем простым текстовым.
PDF
Oracle: работать с текстовыми документами очень просто
Oracle Text есть штатная возможность СУБД Oracle хранить в общей БД наряду с обычными данными документы и строить запросы, как к этим документам, так и к хранимым в файлах ОС или в интернете. Документы могут быть представлены разными форматами. Рассматриваются начала работы с Oracle Text на основе использования текстового индекса типа CTXSYS.CONTEXT и оператора CONTAINS.
PDF
Что дает репозитарий XML DB и как с ним работать
Репозитарий XML DB фактически представляет из себя древовидно-организованую файловую систему внутри БД, при том что элементами ее являются ресурсы: каталоги (папки) и файлы. В статье показано, как можно работать с репозитарием XML DB.
PDF
Технология сервлетов СУБД для доступа к данным БД
Установленная в БД XML DB позволяет средствами СУБД, без привлечений внешнего контейнера сервлетов, организовать сервлетный доступ к данным в базе. Фактически это означает возможность организовать для доступа к данным сервер web «внутри СУБД». В статье показано на примерах, как это можно сделать.
PDF
Как зарегистрировать схему XML в XML DB и как этим воспользоваться
Установленная в БД XML DB позволяет регистрировать в базе схемы XML, задающие типы документов XML. Зарегистрированная в репозитарии схема может употребляться для данных типа XMLTYPE: как хранимых в обычных таблицах, так и доступных из производных (синтезированных) таблиц типа XMLTYPE. В статье показано на примерах, как это делать.
PDF
XML DB — новое измерение в организации данных в Oracle
XML DB представляет собой набор средств и возможностей СУБД и БД в Oracle, ориентированых на работу с форматом XML как по части преобразования, так и хранения данных. Для изначально таблично-организованной базы данных XML DB дает дополнительный способ хранения и употребления данных, сочетающийся с табличным. В этой статье рассматриваются темы установки XML DB в рамках существой БД и организации внешнего доступа. В последующих статьях будут показано, какие возможности работы с данными открывает установленная XML DB.
PDF
Здесь приводится список некоторых статей, опубликованных в компьютерных периодических изданиях, как правило с редакторскими правками. Приводится как исходный текст статей, так и ссылки на опубликованный вариант.
Руководитель: время движения пришло ! (почти как в "Директору информационной службы №8/1999" или в Computerworld Россия №№16-17, 11 мая 1999).
Data Warehouse: почувствуйте себя принимающим решение (почти как в Директору информационной службы #4/1999)
Переводы книг из серии Oracle Press (по заказу Oracle Magazine/Russian Edition)
... А что по этому поводу думает товарищ пользователь ? (принято в СУБД #/98; отчет о семинаре по поводу опроса из статьи см. здесь.)
Абстракции в проектировании БД (СУБД #1-2/98)
Что объектам здорово, то реляциям смерть, и наоборот, и еще пол-оборота (почти как в PCWeek/RE #22/98)
Объектный семинар (почти как в январском PCWeek/Russian Edition за 1998 г.)
Новые одежды знакомых СУБД: Объектная реальность, данная нам (СУБД #4/97)
Информационное проектирование по сю сторону Луевых Гор: пейзаж после битвы (почти как в Софтмаркет)
Сложный анализ данных большого объема: новые перспективы компьютеризации (СУБД #4/96)
Руководителю о технологиях баз данных (почти как в "Директору информационной службы" #9 [1999]) Переводы книг из серии Oracle Press (для Oracle Magazine/Russian Edition, лето 1998)
Вариации на объектную тему (почти как в PCWeek/RE #14/1998)
Крис Дейт. Введение в базы данных. Шестое издание. Киев, Диалектика, 1998. (почти как в PCWeek/RE #18/1998)
Несколько ссылок для разработчика информационных систем (почти как в PCWeek/RE)
Обзоры книг O'Reilly (Unix/Linux, языки программирования и пр.)
Революция открытых текстов (Открытые системы #2/1999)
Рассматриваются основные технологии СУБД Oracle.
Все курсы учитывают возможности версий Oracle от 8 до 11 и, частично, 12. (за исключением курса по XML, не применимого к версии 8). Особенности каждой версии оговариваются отдельно.
Материал сопровождается большим количеством поясняющих примеров.
Допускается перекомпоновка программы курса по желанию слушателей. Фактическая продолжительность может изменяться в меру необходимого и возможного.
География: Архангельск, Ашхабад, Баку, Владивосток, Владимир, Вологда, Выкса, Екатеринбург, Ереван, Кольчугино, Курган, Москва, Нижневартовск, Нижнекамск, Нижний Новгород, Новороссийск, Омск, Пермь, Россошь, Рязань, Самара, Санкт-Петербург, Северодвинск, Сургут, Тольятти, Улан-Удэ, Усть-Илимск, Уфа, Хабаровск, Чусовой.
Некоторые заказчики:
![]() |
![]() |
![]() |
![]() |
На месте студентов | На месте преподавателя | Зато нас мало — это плюс ! | Там, где добывают нефть |
Рекомендуемая продолжительность 5 дней.
Программа курса:
1. Происхождение и объем диалекта SQL фирмы Oracle
2. Инструменты для общения с базой данных
3. Данные для дальнейших примеров
4. Создание, удаление и изменение структуры таблиц
5. Общие элементы запросов и предложений DML: выражения
6. Выборка данных
7. Обновление данных в таблицах
8. Объявленные ограничения целостности
9. Представления данных, или же виртуальные таблицы (views)
10. Объектные типы данных в Oracle
11. Вспомогательные виды хранимых объектов
12. Некоторые общие свойства объектов хранения разных видов
13. Некоторые замечания по оптимизации выполнения предложений SQL
14. Транзакции и блокировки
15. Таблицы словаря-справочника
16. Встроенный SQL
Некоторые примеры составления запросов
17. Запрос первых N записей
18. Декартово произведение
19. Ловушка условия с отрицанием NOT
20. Ловушка в NOT IN ( S )
21. Типичная ошибка в составлении полуоткрытых соединений
Дополнение
22. Дополнительные сведения об аналитических функциях
Рекомендуемая продолжительность 4 дня.
Программа курса:
1. Основные понятия
2. Основные типы и структуры данных
3. Выражения
4. Основные управляющие структуры
5. Подпрограммы
6. Взаимодействие с базой данных: статический SQL
7. Использование курсоров
8. Встроенный динамический SQL
9. Обработка исключительных ситуаций
10. Хранимые процедуры и функции
11. Триггерные процедуры
12. Пакеты в PL/SQL
13. Редакции именованных программных единиц
14. Вызов функций PL/SQL в предложениях SQL
15. Составные типы данных: коллекции
16. Настройка кода PL/SQL
17. Компиляция программ на PL/SQL
18. Отладка программ на PL/SQL
19. Системные пакеты PL/SQL
Дополнительный материал
20. Примеры употребления ссылки на курсор для разделения обработки запроса в программе
21. Атрибуты триггерных процедур уровня схемы БД и событий в СУБД
Рекомендуемая продолжительность 4 дня.
Программа курса:
1. Основные понятия
2. Особенности Java и среда работы программ на Java
3. Создание самостоятельных программ на Java
4. Создание хранимых процедур на Java в Oracle
5. Элементы программирования на Java
6. Взаимодействие с базой данных через JDBC
7. Дополнительные свойства протокола JDBC
8. Взаимодействие с базой данных через SQLJ
9. Основы построения приложений для web с помощью Java и Oracle
10. Взаимодействие компонентов приложения для web
Рекомендуемая продолжительность 4 дня.
Программа курса:
1. Основные понятия XML
2. Тип XMLTYPE
3. Типы DBURITYPE и HTTPURITYPE
4. Программное извлечение содержимого таблиц БД в форме XML
5. Программное изменение содержимого таблиц БД данными в формате XML
6. Примеры внесения изменений в таблицы БД по данным XML из внешних источников
7. Установка базы XML в Oracle (XML DB)
8. Работа с XML DB
9. Управление хранением и доступом к данным типа XMLTYPE
10. XML и сервлетные технологии в работе с OC4J
11. Использование сервлета XSQL для построения приложения web
Рекомендуемая продолжительность 2 дня.
Программа курса:
1. Общие положения
2. Основные технические особенности
3. Виды агрегирующих и аналических функций
4. Функции ранжирования
5. Функция подсчета долей
6. Обратные процентили
7. Предположительные ранг и распределение
8. Функции линейной регрессии
9. Гистограммы "равной ширины"
10. Прочие аналитические функции
11. Программирование собственных агрегирующих функций
Дополнительные возможности SQL для построения аналитических запросов
12. Построение аналитических запросов с помощью группировки и агрегирования
13. Повышение эффективности выполнения запросов с группировкой
14. Употребление аналитических функций в запросах с группировкой
Рекомендуемая продолжительность 4 дня.
Программа курса:
1. Основные понятия в реализации объектного подхода фирмой Oracle
1.1. Хранимые объекты
1.2. Виртуальные (синтезированые) объекты
1.3. Ограничения целостности
1.4. Работа с объектами БД в PL/SQL
1.5. Коллекции
2. Дополнительные понятия и возможности
2.1. Наследование типов
2.2. Хранение объектов, идентификатор объекта и ссылка на объект
2.3. Работа с объектами БД в Java
3. Дополнительные сведения об объектных свойствах
3.1. Определение и виды методов
3.2. Использование коллекций и их хранение
3.3. Взаимозависимость типов, замещаемость и их развитие
4. Встроенные объектные решения в Oracle
4.1. Тип XMLTYPE
4.2. Тип ANYDATA
4.3. Тип URITYPE и подтипы
4.4. Другие примеры типов для администратора и разработчика
Дополнение
5. Комментарии к примерам в документации по Oracle
5.1. Глава Applying an Object Model to Relational Data
5.2. Глава Design Considerations for Oracle Objects
5.3. Глава Sample Application Using Object-Relational Features
Рекомендуемая продолжительность 7 дней.
Программа курса:
1. Общая информация о СУБД Oracle
2. Установка Oracle
3. Использование SQL*Plus в администрировании
4. Средства слежения за работой Oracle
5. Конфигурирование, настройка и поддержка
6. Администрирование доступа в Oracle
7. Аудит
8. Администрирование работы в сети
9. Экземпляр СУБД Oracle
10. Настройка экземпляра СУБД Oracle
11. Организация хранения данных в Oracle
12. Настройки операций ввода/вывода
13. Резервное копирование и восстановление
14. Дополнительные базовые программные средства для администрирования
Дополнительный материал
15. Объекты словаря-справочника
16. Внутренние структуры общего употребления в СУБД
17. Внутренние ожидания СУБД
18. Реализация механизмов доступа к базе данных
Некоторые практические сценарии
19. Пример использования динамических таблиц для контроля и настройки участков кода программы
20. Основные задачи администрирования
21. Планирование автоматического выполнения заданий
Рекомендуемая продолжительность 3 дня.
Программа курса:
1. Общие положения
2. Основная схема отработки запросов в СУБД Oracle
3. Структуры хранения данных
4. Основные методы доступа
5. Выявление проблемных запросов
6. Как узнать подробности обработки конкретного запроса
Возможности влиять на выполнение запросов
7. Конфигурирование хранимых объектов БД в Oracle (общие возможности)
8. Некоторые специальные возможности конфигурирования объектов БД («особые случаи»)
9. Настройка запросов
10. Возможности автоматизации настройки запросов в версиях 10+
11. Средства автоматизации настройки запросов в версиях 11+
12. Выполнение SQL-запросов в сети
13. Способ хранения данных в табличных пространствах
Дополнительный материал
14. Операции массового добавления данных
15. Параметры СУБД, влияющие на работу оптимизатора запросов
16. Подсказки оптимизатору запросов
17. Выполнение анализа групп объектов
Некоторые практические сценарии
18. Возможный подход к оптимизации сложных запросов
19. Пример использования динамических таблиц для контроля и настройки участков кода программы
Рекомендуемая продолжительность 4 дня.
Программа курса:
1. Понятие безопасности данных
2. Резервное копирование и восстановление
3. Физическое копирование и восстановление с помощью RMAN
4. Логическое копирование и восстановление данных
5. Логическое восстановление недавних данных
6. Выявление внутренних нарушений БД
7. Организация физического горячего резерва БД
Эта часть оставлена неизменной с начала 2000-х годов. Некоторые ссылки могут не работать. Но удивительно, что не все !
This page is intentionally in English.
Неподписанные высказывания принадлежат Вл. Вик. Пржиялковскому.
Я всегда полагал, что смешнее, чем в жизни — не придумаешь.
Когда однажды [в городе Иасе] выступил кифаред, все слушали его внимательно до тех пор, пока не прозвонил колокольчик, возвещавший начало продажи рыбы; тогда все оставили артиста и ушли на рыбный рынок, за исключением одпого совершенно глухого человека. Тогда кифаред, подойдя к нему, сказал: "Очень благодарен тебе, любезнейший, за оказанную мне честь и за твою любовь к музыке; ведь все остальные, заслышав звон колокольчика, ушли". — "Что ты говоришь? — ответил глухой, — Неужели уже колокольчик прозвонил ?", и когда кифаред ответил утвердительно, глухой поднялся, сказал: "Всего хорошего" — и ушел.
Страбон, География
Люди часто совершают старые ошибки, ссылаясь при этом на новые обстоятельства.
А. Эйнштейн
Сей эпох более всего примечателен большими приключениями в малых делах и управлением припадочных людей.
Никита Иванович Панин о времени Елизаветы
Яд кураре. Чисто природное средство. Добыт в экологически чистых районах Бразилии.
Вот и доллар скачет,
А куда — не знает ...
Прутков ?
— Наше средство оздоравливает организм на
уровне клеток.
— Это хорошо ! Мне надо, чтоб до самых
ядер пробирало.
Почему Internet — "он", а intranet — "она" ? (Отвечать быстро, не задумываясь).
В России 90-х каждые новые выборы — хороший повод для эмиграции.
Что касается Рыжкова, ...он может работать и самостоятельно. ...Одно могу сказать: это профессиональный депутат, и даже кресло спикера ему по плечу.
В. С. Черномырдин
Хороший дирижер, если только это очень хороший дирижер, — это не очень хороший дирижер.
Один очень хороший американский дирижер
Computers let you make more mistakes faster than any other invention in human history, with the possible exception of handguns and tequila.
Mitch Radcliffe
Все-ж, господа, как ни крути, в казне не хватает сотен пяти.
К. Прутков устами Полковника
Не падайте духом, разработчик Голицын, ведущий аналитик Оболенский, надеть ордена !
Кому кризис, а кому отец родной.
Пол-года интендантства и можно без суда расстреливать.
А. В. Суворов
Для достоверности — документальные снимки с экрана:
Занятия системой Oracle не только расширяют кругозор, но и оттачивают чувство юмора. Вот некоторые дословные высказывания студентов, сделанные во время занятий:
Не знаю, как у вас в Москве, а у нас пластиковые стаканчики моют.
Таким закусывать не станут.
Кто первый: говорят, впервые периодическая система Менделеева приснилась Пушкину, только он в ней ничего не понял.
В хороших руках и калькулятор зависает.
Нет сынок, и не проси. На мороженное у нас денег нет. У нас с тобой денег только на водку.
Какова вероятность встретить в городе слона ? 1/2: то ли встретишь, то ли не встретишь.
Здесь находится пример приложения, построенного средствами СУБД Oracle с использованием спроектированной БД.
Построена база данных о родственниках. Стандартными средствами XML DB построен шлюз для PL/SQL. Техникой PSP (PL/SQL Server Pages) создано несколько страниц приложения для web "Родственные связи". Основная нагрузка легла на страницу выдачи сведений о каждом конкретном человеке из БД. В программе для этой страницы нашли себе применение рекурсивные запросы с вынесеной из основного запроса формулировкой. Внешнее оформление страниц (включая навигационное меню) построено техникой CSS, и отчасти JavaScript. В частности, последний язык использовался для построения двухстолбцового сводного списка лиц, что иначе можно было бы сделать "на сервере", обратившись к ассоциативному массиву в PL/SQL.
Файлы CSS и JavaScript размещены в репозитарии XML DB. Туда же копируются по FTP фотографии, откуда после этого командой SQL INSERT добавляются в базу конструктором XDBURITYPE в требуемый столбец таблицы БД типа BLOB. Предусмотрена простая текстовка разгрузки, извлекающая при необходимости фотографию из БД в файл. Такая техника позволяет работать с БД с клиентской машины, и не переходить на сторону сервера.
Для внешнего доступа приложение предполагалось разместить на съемном (арендуемом) участке сервера web, откуда невозможен прямой доступ к БД Oracle. По этой причине пришлось составить текстовку (script) для SQL*Plus, сканирующую все страницы приложения в XML DB (по таблицам из базы), и порождающую статические файлы в формате HTML. Сканирование выполняется с применением типа HTTPURITYPE. Для статических страниц применяется подмена адресов URL с помощью регулярных выражений на PL/SQL.
Порожденный текстовкой для SQL*Plus полный набор страниц переносится на арендуемое дисковое пространство сервера web обычным образом.
Замечательно, что это приложение для web построено и работает без привлечения дополнительного сервера приложений, то есть при помощи одной только СУБД Oracle, хотя использование отдельного сервера приложений не и запрещено.
Все использованные технологии рассмотрены в курсах по SQL, PL/SQL, XML.