FoxBase!
msgbartop
Блог Oracle разработчика
msgbarbottom
foxbase

27.01.2011 Блокировки Oracle при неиндексированных внешних ключах

Статья была перемещена на другой URL. Несколько перепечаток этой статьи (в том числе и с oracle.com) ссылаются на этот старый URL, в результате обратные ссылки были битые. Этот старый URL статьи перенаправляет на постоянный теперь URL оригинальной статьи "Блокировки Oracle при неиндексированных внешних ключах"

www.foxbase.ru

23.01.2011 Поиск записи в таблице Oracle

Довольно тривиальный вопрос. При разработке приложений на PL/SQL очень часто требуется найти запись в таблице по некоторым условиям. Причем искомая запись может существовать в таблице, а может и не существовать. Не будем здесь говорить о правильных индексах в таблице, сборе статистики оптимизатора, а посмотрим на поиск с несколько другой стороны.  (далее...)

15.12.2010 SQLERRM vs DBMS_UTILITY.FORMAT_ERROR_STACK

В Oracle существует две PL/SQL функции, которые возвращают сообщение об ошибке последней исключительной ситуации, которая возникла в вашей PL/SQL функции, процедуре или анонимном PL/SQL блоке. Первая это всем известная функция SQLERRM, вторая - менее известная функция DBMS_UTILITY.FORMAT_ERROR_STACK. Какую функцию и когда следует использовать? Чтобы ответить на этот вопрос давайте сначала детально рассмотрим каждую функцию. (далее...)

15.12.2010 NVL vs COALESCE

Любой Oracle разработчик знает функцию NVL. Эта функция принимает два аргумента и если первый из них не является NULL, возвращает значение первого аргумента. В противном случае возвращается значение второго аргумента. (далее...)

14.12.2010 Oracle function based index

Обычные индексы известны любому специалисту Oracle. Многим также известны индексы, основанные на функциях. В этой небольшой статье будет сделан небольшой обзор индексов Oracle, основанных на функциях или функциональных индексов или function based index. (далее...)

10.12.2010 Автономные транзакции Oracle

pragma autonomous_transaction
Любая база данных построена на транзакцияхOracle database в этом смысле не исключение. Любые операции с данными в таблицах Oracle явно или неявно происходят внутри транзакций. Однако база данных Oracle начиная с восьмой версии имеет дополнительный механизм работы с транзакциям, называемый автономными транзакциями. (далее...)

12.09.2010 Oracle PLSQL Intra-unit inlining

Одна из интересных новых возможностей Oracle PL/SQL версии 11g это технология Intra-unit inlining. Суть это технологии в том, что если в вашем коде есть вложенные в него процедуры или функции, то с помощью этой технологии можно скомпилировать ваш код таким образом, что эти вложенные процедуры и функции будут убраны в скомпилированном коде, а код этих вложенных процедур или функций будет располагаться непосредственно в теле вашего кода вместо вызова этих вложенных процедур или функций.  (далее...)

11.09.2010 PL/SQL 11g Native Compilation

Начиная с версии Oracle Database 9.2 появилась технология Native Compilation для PL/SQL кода. Суть этой технологии состоит в том, что PL/SQL код можно скомпилировать в исполняемый код той операционной системы, на которой установлен сервер базы данных. К сожалению, особой распространенности эта технология не получила в версиях 9.2 и 10 из-за сложностей с установкой на сервере компилятора C и большого объема получаемого объектного кода. 
Начиная с версии Oracle Database 11g этих сложностей больше нет, больше нет необходимости заниматься настройкой компилятора C, теперь компиляция PL/SQL кода в режиме Native Compilation становится тривиальной.  (далее...)

09.09.2010 Доступ к последовательностям в PL/SQL 11g

В PL/SQL 11g появилась возможность выбирать следующее значение из последовательности (sequence) напрямую, не используя выборку значения через системную таблицу dual. (далее...)

08.09.2010 Кэширование результатов PL/SQL функций в Oracle Database 11g

В версии Oracle Database 11g появилась новая замечательная возможность кэширования результатов PL/SQL функций. Кэшировать можно как результаты обычных  PL/SQL функций, так и результаты функций в PL/SQL пакетах.  (далее...)

14.08.2010 Способ борьбы с ORA-04061 в приложениях

Ошибка ORA-04061 обычно возникает у пользователя в приложениях на основе Oracle Database в том случае, если разработчик или DBA выполнил перекомпиляцию какого либо PL/SQL пакета. Если пользователь через функцию приложения обращается к этому PL/SQL пакету, то он получит исключение ORA-04061: (далее...)

13.08.2010 Изменение уникального ключа в Oracle

Если вы создали уникальный ключ для вашей таблицы в Oracle и вам требуется его изменить, то сделать это проще всего удалением старого уникального ключа и созданием нового. Здесь вас может подстерегать одна небольшая неприятность. (далее...)