Информация

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

Теги


Блоги


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


mini GItHub на ORACLE

Блог: Oracle SQL
Учебный тренинг. SQL от новичка до профессионала.
Бесплатные авторские видеокурсы SQL, PLSQL, JAVA

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

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 просмотры: 4151, комментарии: 2



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

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

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 просмотры: 10197, комментарии: 3