Информация

Последние записи

Теги


Блоги


Записи из всех блогов с тегом: clob


mini GItHub на ORACLE

Блог: Oracle SQL
Название интересное, но это не важно...
на самом это деле небольшая система аудита для заданной схемы на БД.
для начала создадим таблицу для аудита

create table a_code(
  username varchar2(50)
, os_user  varchar2(50)
, date_changed date
, object_type varchar2(50)
, object_name varchar2(50)
, user_source clob
); 


добавим функционал для поддержки версионности

create or replace trigger A_CODE_trigger
  before create on schema
declare
  l_date  date := sysdate;
  l_ver   number;
  l_user  varchar2(20);
  l_cl    clob;
begin
  if (ora_dict_obj_type in
            ( 'PACKAGE'
             ,'PACKAGE BODY'
             ,'PROCEDURE'
             ,'FUNCTION' ) )
  then
    select sys_context( 'userenv', 'os_user' ) into l_user from dual;
    l_cl := '';
    for i in (
    SELECT * FROM user_source
     where name = ora_dict_obj_name
       and type = ora_dict_obj_type order by user_source.LINE
       )  loop   
        l_cl := l_cl||i.text;
       end loop;
    insert into a_code(username , os_user  , date_changed, object_type, object_name, user_source) 
    values (user, l_user , sysdate, ora_dict_obj_name, ora_dict_obj_type, l_cl);
  end if;
end;
/

мы знаем когда и кто менял код, а так же сохраняем разные версии данного кода
автор: Myp3_u_K добавлено: 21 дек 17 просмотры: 2402, комментарии: 2



DB LINK работа с LOB полями и ORA-22992

Блог: Oracle SQL
Чалышев М.М www.orasource.ru
изучаем SQL группа в контакте - присоединяйтесь

DB LINK - специальный механизм СУБД ORACLE который позволяет взаимодействовать с другими базами данных
примечательно что DB LINK могут использоваться не только для взаимодействия с базами данных ORACLE
но и с другими СУБД , такими как MS SQL или MY SQL
для создания DB link пользователь должен иметь соответсвующую системную привилегию
create database link
рассмотрим несколько примеров создания db_link
CREATE DATABASE LINK MTEST
connect to userdb1 identified by password1
USING 'sservise';
--так же синтaксис может быть и таким
create database link MTEST   connect to userdb1 identified by password1   using '(DESCRIPTION =
  (ADDRESS_LIST =  (ADDRESS = (PROTOCOL = TCP)(HOST = test.test.ru)(PORT = 1521))
  )  (CONNECT_DATA = (SERVER = DEDICATED) (SID = mtest1)  ))';

DB_Link может быть shared и pulic
-- удалить db_link можно использую следующую команду
DROP DATABASE LINK MTEST1;


создадим в УДАЛЕННОЙ базе данных следующую таблицу
[src PLSQL]
create table Table_Clob(PID NUMBER,PCLOB CLOB);
-- добавим в нашу созданную таблицу несколько строк
insert into Table_Clob(pid,pclob) values (1,'это поле1 clob, хотя и непохоже');
insert into Table_Clob(pid,pclob) values(2,'это поле2 clob, хотя и непохоже');
insert into Table_Clob(pid,pclob) values(3,'это поле3 clob, хотя и непохоже');
commit;
-- напишем select
читать дальше...
автор: Myp3_u_K добавлено: 30 июл 13 просмотры: 8366, комментарии: 3