Показаны сообщения с ярлыком oracle. Показать все сообщения
Показаны сообщения с ярлыком oracle. Показать все сообщения

понедельник, 7 сентября 2015 г.

ORA-01866: the datetime class is invalid

Небольшой пример того как можно получить ORA-01866 при вызове удаленного модуля через database link.
Все действия производим под пользователем test(create session,create database link,create procedure).
Создадим тестовую процедуру с выходным параметром:
SQL> create or replace procedure  test.testproc(vvv out timestamp)
  2  as
  3  begin
  4  null;
  5  return;
  6  end;
  7  /

Procedure created.

Далее создадим database link, для демонстрации, просто на самого себя:
SQL> create database link testlink using '(description=(address_list=(address=(protocol=tcp)(host=localhost)(port=1521)))(connect_data=(server=dedicated)(sid=orcl)))';

Database link created.

И выполним небольшой блок для того что бы получить ошибку:
SQL> declare
  2  myts timestamp;
  3  begin
  4  test.testproc@testlink(myts);
  5  end;
  6  /
declare
*
ERROR at line 1:
ORA-01866: the datetime class is invalid
ORA-06512: at line 4
Конечно, мы специально не присваивали переменной vvv в теле процедуры никаких значений, что и повлекло подобную ошибку при обращении через dblink.
При этом, без dblink'а все работает хорошо:
SQL> declare
  2  myts timestamp;
  3  begin
  4  test.testproc(myts);
  5  end;
  6  /

PL/SQL procedure successfully completed.
Поправим процедуру:
SQL> create or replace procedure  test.testproc(vvv out timestamp)
  2  as
  3  begin
  4  vvv:=null;
  5  return;
  6  end;
  7  /

Procedure created.
И повторим эксперимент:
SQL> declare
  2  myts timestamp;
  3  begin
  4  test.testproc@testlink(myts);
  5  end;
  6  /

PL/SQL procedure successfully completed.
Ошибка больше не возникает.

понедельник, 5 августа 2013 г.

Oracle 12c new features: pga_aggregate_limit

В версии 12с появилась возможность задавать жесткое ограничение на размер PGA. 
Раньше такой возможности, порой, не хватало.
Отвечает за это параметр pga_aggregate_limit.
Стоит обратить внимание, что этот параметр не играет роли для пользователя SYS и для фоновых процессов.