Вы здесь

dblinks, LOB, индексы и все такое

ДБ линки лобы индексы таблицы вьюхи снимки и прочие сущности

Dblinks

 
Dblink - интересный и в то же время неприятный объект. Дело в том, что в синтаксисе Oracle нет способа просто проверить, работает он или нет, если он находится в другой схеме. Доступ через точку, в отличие от других объектов, не работает, т.к. точка может являться частью имени dblink'а.

LOB

Следующий код выгружает содержимое столбца lobs_tab.clob_col в файл clob_col1.txt, 
используя пакет DBMS_LOB для чтения CLOB и пакет UTL_FILE для записи во внешний файл:
 
declare
    l_clob clob;
    l_clob_len pls_integer;
 
    l_file      utl_file.file_type;
    l_buffer    varchar2(32767);
    l_amount    pls_integer;
    l_pos       binary_integer := 1;
begin

Ежегодная работа с партициями.

Каждый год в декабре я делаю одно и тоже. Пора запротоколировать.

Создаем табличные пространства под новые партиции.

Процедура для создания партиций, добавления партиций

CREATE OR REPLACE PACKAGE BILLING7.PARTITIONIER
IS
   PROCEDURE partitions_create (
      table_name_arg   IN   VARCHAR2,
      days_count_arg   IN   NUMBER,
      block_measure    IN   VARCHAR2 DEFAULT 'MM'
   );
 
    PROCEDURE partitions_job_runner;
 
 
 
END;                                                           -- Package spec
/
 
CREATE OR REPLACE PACKAGE BODY BILLING7.PARTITIONIER
IS

Процедура вытаскивает наименование таблиц из BLOB

CREATE OR REPLACE PROCEDURE REPMAN.tables_report IS
 
--- sql string
 
sql_ifrom  varchar(1000);
sql_ifromn varchar(1000);
 
sql_iwhere varchar(1000);
sql_iclip varchar(1000);
sql_iorder varchar(1000);
sql_igroup varchar(1000);
sql_ihaving varchar(1000);
sql_lenght varchar(1000);
 
sql_tables varchar(1000);
strsql varchar(5000);
sql_tables1 varchar(1000);
strsql1 varchar(5000);
 

Типы данных, размер

dbms lob

Когда хранимая процедура Oracle извлекает из таблицы объект типа lob, Oracle на самом деле возвращает не его содержимое, а локатор lob (в объектной терминологии - дескриптор). Локатор используется совместно с набором из девяти специальных функций, с помощью которых хранимая процедура может манипулировать данными, хранящимися в столбце типа lob. Вот краткое описание этих функций:

Компрессия патриций и субпартиций в oracle 10

Задача  произвести компрессию всех табличных сегментов , находящихся в табличных пространствах:

DATAMOS_2005

 

сморим свободное пространство

переименовать партиции

Задача: переименовать ошибочные названия партиций.

Необходимо установить VALUES LESS THAN на +1 месяц выше, либо изменить название партиции на -1 месяц меньше, только партиции при этом должны оставаться в наличии с 01.01.2012 года по 01.01.2016, т.е. с P20120101 до P20160101.

Например:

-- на данный момент
PARTITION p20120801 VALUES LESS THAN (TO_DATE('01-08-2012', 'DD-MM-YYYY')),

-- необходимо изменить на
PARTITION p20120801 VALUES LESS THAN (TO_DATE('01-09-2012', 'DD-MM-YYYY')),

Мониторинг индексов

grant select on V_$SQL to SSDR_SOURCE;
grant select on V_$SQL_PLAN to SSDR_SOURCE;
grant select on V$SQL_BIND_CAPTURE to SSDR_SOURCE;

Создадим таблицы для хранения полезной информации для анализа:

-- таблица для хранение информации из V$SQL по интересным для нас обьектам
CREATE TABLE monitoring_index_usage_table as
SELECT *
FROM v$sql s
WHERE s.hash_value IN
(SELECT v.hash_value FROM v$sql_plan v WHERE v.object_name = 'I#SA$DISTR_STOCK#SP_ST_DT_MT');

-- Add/modify columns
-- Add/modify columns

Страницы

Подписка на RSS - dblinks, LOB, индексы и все такое