|
Программирование >> Oracle
1608 Приложение А ORA-06512: at SCOTT.RUN BY JOBS , line 5 ORA-06512 : at line 1 Сообщение свидетельствует о том, что задание 35 (наше задание) выполнить не удалось. Что важнее, в сообщении указана причина неудачи. Такие же сообщения об ошибках вгдаются при попытке выполнения процедуры в среде SQL*Plus. Эта информация принципиально важна для определения причины сбоя задания. На ее основе можно, изменив задание, обеспечить его корректную работу. Вот, пожалуй, и все о контроле выполнения заданий. Надо либо следить за журналом уведомлений, alert.log (это администратор базы данных должен делать всегда), либо периодически просматривать представление DBA JOBS, чтобы убедиться в успешном выполнении заданий. Резюме Пакет DBMS JOB - замечательное средство сервера, обеспечивающее выполнение действий в фоновом режиме. Его можно использовать для автоматизации рутинных операций, таких как анализ таблиц, архивирование и очистка временных таблиц, да и любых других. Его можно использовать в приложениях для обеспечения сравнительно быстрого выполнения продолжительных действий (причем, выполнение это будет действительно быстрым с точки зрения пользователя). Пакет позволяет не писать для каждой ОС специфические сценарии, периодически выполняющие действия в базе данных. Более того, он избавляет от необходимости зашивать имена пользователей и пароли в сценарии для регистрации на сервере. Задание всегда выполняется от имени пользователя, который его послал, - регистрироваться вообще не нужно. Наконец, в отличие от средств периодического выполнения заданий операционных систем, эти задания сервера базы данн1х выполняются только в случае доступности сервера. Если система не работала в момент запланированного выполнения задания, оно не будет выполнено (очевидно, если сервер не работает, то и очереди заданий не просматриваются). Пакет DBMS JOB - надежное средство, для которого я нашел множество применений. Пакет DBMS LOB DBMS LOB - это стандартный пакет для работы с большими объектами (Large OBjects - LOBs) в базе данных. Большими объектами называют данные новых типов, появившиеся начиная с версии Oracle 8. Большие объекты поддерживают хранение и обработку до 4 Гбайт данных в одном столбце. Они заменяют считающиеся теперь ненужными типы данных LONG и LONG RAW. Использование типов данных LONG в Oracle было связано с множеством ограничений, в том числе: в таблице можно б1ло иметь только один столбец типа LONG или LONG RAW; если объем данных превышал 32 Кбайт, с ними нельзя было работать в хранимых процедурах; их нельзя было изменять по частям; многие операции в базе данных, например INSERT INTO T SELECT LONG COL FROM T2, для столбцов типа LONG и LONG RAW не поддерживались; их нельзя было указывать в конструкции WHERE; таблицы со столбцами типа LONG и LONG RAW нельзя было реплицировать; и т.д... Типы данных LOB не имеют всех этих ограничений. Вместо писания всех функций и процедур пакета DBMS LOB (их около 25) я собираюсь ответить на наиболее часто задаваемые вопросы об использовании пакета DBMS LOB и больших объектов. Подпрограммы пакета либо чрезвычайно просты, либо хорошо описаны в документации Oracle. При использовании больших объектов основными являются два руководства: 1610 Приложение А OracleSi Supplied PL/SQL Packages Reference. В этом руководстве можно найти обзор пакета DBMS LOB и описание каждой его подпрограммы, включая все входные и вгходные параметры. Соответствующий раздел пригодится как справочник. Его надо бегло просмотреть, чтобы знать основные возможности обработки больших объектов. OracleSi Application Developers Guide - Large Objects (LOBs). Руководство, полностью посвященное описанию программирования с использованием больших объектов в различных средах и языках. Каждый разработчик, предполагающий использовать большие объекты, должен его прочитать. Кроме того, многое в работе с большими объектами зависит от языка программирования. Способ выполнения определенных действий в языке Java отличается от принятого в языке С, при программировании на PL/SQL и т.д. Вот почему корпорация Oracle разработала отдельные руководства Application Developers Guide для языков PL/SQL, Pro*C, COBOL, VB и Java, а также библиотеки OCI, посвященные взаимодействию с большими объектами в каждом из языков. Кроме того, есть еще упомянутое исчерпывающее руководство Application Developers Guide, посвященное большим объектам и полезное, независимо от используемого языка. Я рекомендую всем, кто собирается использовать большие объекты в приложениях, прочитать это руководство, а также специфическое руководство для выбранного языка разработки. В этих руководствах можно найти ответы на большинство вопросов. В этом разделе я собираюсь ответить на часто задаваемые вопросы о больших объектах, начиная с как показать их на Web-странице? и заканчивая как преобразовать данные типа BLOB в тип CLOB, и наоборот? - об этом недостаточно хорошо сказано в стандартной документации. С большими объектами работать очень просто, если разобраться в пакете DBMS LOB (описан в руководстве Oracle Si Supplied PL/SQL Packages Reference), и если вы этого еще не сделали, ознакомьтесь с его описанием сейчас, прежде чем читать данный раздел. Я предполагаю, что вы готовы к работе с большими объектами. Как загружать большие объемы? Методов загрузки больших объектов немного. В главе 9, например, я демонстрировал загрузку больших объектов в базу данных с помощью средств SQLLDR. Кроме того, в предлагаемом корпорацией Oracle руководстве Application Developers Guide для каждого языка продемонстрировано, как создавать и получать значения больших объектов на этом языке (у всех есть небольшие отличия). Я, однако, думаю, что при наличии каталога с файлами для загрузки проще всего использовать тип данных BFILE, объект DIRECTORY и процедуру LOADFROMFILE. В главе 9 (в первой части книги - прим. научн. ред.), посвященной загрузке данн1х, мы подробно рассмотрели использование процедуры DBMS LOB.LOADFROMFILE. Детальную информацию вы сможете найти в этой главе. Кроме того, в представленном далее подразделе Преобразования рассматривается полный пример загрузки данн1х типа CLOB с помощью процедуры LOADFROMFILE.
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |