Oracle SQL

Фильтр по тегу: oracle


Использование GUID в ORACLE

Чалышев М.М www.orasource.ru ; резюме

GUID некоторая уникальная последовательность символов, в некоторых случаях, может использоваться в качестве первичного ключа.
Рассмотрим основные работы с GUID в ORACLE.

Получить GUID в ORACLE можно, воспользовавшись функцией
sys_guid()
запрос в этом случае будет выглядеть следующим образом
select sys_guid() from dual

результат
4A9B3CF364FB92CAE050A8C0670A0D3A
Для получения GUID в PL SQL используются несколько аналогичная команда
Следует так же отметить, что для ранения GUID в ORACLE используются следующие типы данных
raw(16) и varchar2(32);

следующие примеры демонстрируют работу c GUID в PL/SQL ORACLE
declare
  p_raw raw(16); 
begin
  p_raw := sys_guid;
  dbms_output.put_line(p_raw);
end;

результат 4A9B3CF3650092CAE050A8C0670A0D3A

declare
  p_vc2 varchar2(32);
begin
  p_vc2 := sys_guid;
  dbms_output.put_line(p_vc2);
end;

результат 4A9B3CF3652292CAE050A8C0670A0D3A
читать дальше...
добавлено: 13 мар 17 просмотры: 175, комментарии: 0



Заливаем дамп с Oracle Enterprise на OracleXE

в создании данного материала мне помог мой коллега Куракин Роман
в данном материале упоминается дамп для одной схемы, но, для нескольких схем, дамп заливается аналогично

1. Cнимаем дамп на источнике
#>expdp schemas=USER1 dumpfile=dampfiledat.dmp

(пользователь sys as sysdba пароль /)

Дамп будет создан в папке
  /ora_home/oracle/admin/orcl/dpdump/


2. Переносим дамп на компьютер, где установлен OraceXE в аналогичную папку
например
c:\oraclexe\app\oracle\admin\XE\dpdump\expdat.dmp для Windows
        или    /u01/app/oracle/admin/XE/dpdump/expdat.dmp для *nix 
систем

3. создаем пользователя на XE
create tablespace U_tbl datafile 'user1.dat' size 300M autoextend on;

create temporary tablespace U_TEMP tempfile 'U_temp.dat' size 600M autoextend on;

create user USER1 identified by password1 default tablespace U_tbl  temporary tablespace U_TEMP;

grant create session to USER1;

grant create table to USER1;

grant unlimited tablespace to USER1;

grant connect to pl;

grant resource to pl;

если необходимо 

grant dba to USER1;


4. Если пользователь уже существует и содержит старые данные то удаляем пользователя и создаем заново, табличное пространство пересоздавать не надо:

* drop user USER1 cascade;


5. После того как пользователь был создан, производим заливку дампа с автоматической конвертацией:

#> impdp USER1/password1 schemas=USER1 dumpfile=expdat.dmp transform=SEGMENT_CREATION:N PARTITION_OPTIONS=MERGE
добавлено: 30 янв 17 просмотры: 564, комментарии: 4



Анализ отчетов AWR

Анализ отчетов AWR


1.Что такое AWR отчеты
2. Для чего используются AWR отчеты
3. Построение AWR отчетов
4. Системные представления AWR репозитория отчетов
5. AWR отчет в формате HTML
6. Основные параметры отчетов AWR
7. На что еще следует обратить внимание!

1. Что такое AWR отчеты

Automatic Workload Repository представляет из себя набор внутренних таблиц словаря данных БД Oracle и специальный фоновый процесс MMON, который появился в версии Oracle10g.
Периодически AWR создает статистическую копию (снимок) и сохраняет информацию в таблицах расположенных в табличном пространстве SYSAUX. По умолчанию регулярный период сбора установлен на 60 минут. Это значение может быть уменьшено до 10 минут при желании. Механизм сбора статистической копии (awr snapshot) установлен в базе данных 10G по умолчанию и в отличии от пакета statspack установки на автоматический сбор информации не требуется.

Скрипт формирования AWR заполняет специальный AWR репозиторий набор таблиц и представлений словаря данных Oracle помощью специального системного процесса NMON.


2.Для чего используются AWR отчеты

Automatic Workload Repository (AWR) используется для сбора статистики производительности, включая:

Время ожидания ресурсов базы данных (foreground и background wait events). Эту статистическую информацию можно использовать для первоначального определения 'узких' мест в производительности базы данных
читать дальше...
добавлено: 01 ноя 16 просмотры: 2752, комментарии: 0



Обзор инcтрументов разработки для разных СУБД

Чалышев М.М www.orasource.ru
изучаем SQL группа в контакте - присоединяйтесь
Подари, продай, обменяй - множество недорогих и отличных вещей: объявления вместо AVITO - ВКонтакте

Данный блог посвящен ORACLE , но многие ORACLE специалисты ,в своей работе сталкиваются с задачами связанными с прочими СУБД
и поэтому, представляю вашему вниманию
Краткий обзор лучших с моей точки зрения инструментов для работы с различными СУБД

На исключительную полноту данный пост не претендует , но самые интересные утилиты я постараюсь разобрать

SQLLITE
Достаточно популярная в последнее время СУБД. Получила мощный импульс развития в основном за счет роста рынка мобильных устройств на ОС Андроид, IOS и планшетов.

Инструмент
SQLiteStudio - качественный . бесплатный и удобный инструмент

возможности :
просмотр списка объектов базы
* визуальный редактор таблиц, представлений , триггеров, индексов.
* редактор запросов
* редактор функций
* огромное количество дополнительных модулей и плагинов

ссылка на сайт программы
http://sqlitestudio.pl

MYSQL
используется на ВЕБ порталах. самая распространенная СУБД на сегодняшний день
что же можно посоветовать разработчику MYSQL, корме стандартного PHP MYADMIN ?

для разработки под MYSQL я рекомендую MySQL Query Browser
программа бесплатна
имеет широкие возможности как для создания запросов и таблиц , так собственно и для администрирования сервера MY SQL
* редактор таблиц
* обозреватель баз данных
* редактор индексов
* и удобный редактор запросов
так же расскажу о другом инструменте
инструкция на русском языке
http://ftp.nchu.edu.tw/MySQL/doc/query-browser/ru/index.html
ссылка на сайт программы
http://dev.mysql.com/downloads/gui-tools/5.0.html
читать дальше...
добавлено: 13 сен 13 просмотры: 9361, комментарии: 3



Динамический SQL в Oracle - легко и понятно (часть вторая - курсоры FETCH , Close , Open FOR )

Чалышев М.М www.orasource.ru
Подари, продай, обменяй - множество недорогих и отличных вещей: объявления вместо AVITO - ВКонтакте

Использование курсоров в динамическом SQL, команды FETCH и CLOSE
Для работы с динамическим запросом который возвращает несколько строк используются курсоры . Работа с курсорами - это всего три команды: OPEN-FOR , FETCH и CLOSE .

Сначала , вы с помощью команды OPEN, открываете переменную курсора, далее в цикле FOR последовательно считываете результат запроса из нескольких строк запроса. В каждой итерации цикла FOR, вызывается команда FETCH которая считывает из результирующего набора по одной записи. Когда все строки обрабатываются, вы закрываете курсор вызывая метод CLOSE для переменной курсора.
читать дальше...
добавлено: 07 сен 13 просмотры: 26328, комментарии: 2



Как убить сессию запросом Oracle 11g Release 11.2.

Чалышев М.М www.orasource.ru
изучаем SQL группа в контакте - присоединяйтесь
Подари, продай, обменяй - множество недорогих и отличных вещей: объявления вместо AVITO - ВКонтакте

следующий запрос убивает и вешает сессию наглухо
select x.id,
       rtrim(xmlagg(xmlelement("a",x.recno||';')).extract('//a/text()').getStringVal(),';') as recno,
       min(recno)
  from
  (select 1 as id, 101 as recno from dual
  union all
  select 2 as id, 102 as recno from dual
  union all
  select 3 as id, 103 as recno from dual
  union all
  select 3 as id, 123 as recno from dual
  union all
  select 4 as id, 104 as recno from dual
  union all
  select 5 as id, 105 as recno from dual) x
 group by x.id
 order by min(recno);

Запрос прислал мой коллега Юрий Зотов

Чалышев М.М www.orasource.ru
добавлено: 22 ноя 12 просмотры: 2494, комментарии: 12



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

Хотел бы представить пакет для работы с сетевыми функциями
ВНИМАНИЕ!!!! для корректной работы скрипта необходимо сначала создать следующий pl sql тип!!!!
CREATE OR REPLACE TYPE ds_ip_type as table of varchar2(50);


Пакет предоставляет широкий спектр возможностей для работы с сетевыми параметрами - сервисными функциями для работы с сетевыми протоколами , преобразования , маски , сети , работа с системами счисления , выборки
перечень возможностей сервисных функций пакета:

-- преобразует строку ip адрес в число
-- преобразует число в строковый ip адрес
-- преобразует маску в ip адрес
-- конвертирует возвращает декаду из Ip адреса IP адрес - строка
-- конвертирует датув ремя из формата unixtime (timestamp) в стандартный формат oracle
-- конвертирует датувремя из формата oracle date в формат unixtime (timestamp))
-- логический AND двух чисел p_first , p_next
-- логический OR двух чисел p_first , p_next
-- логический XOR двух чисел p_first , p_next
-- перевод целого числа из десятичного в шестнадцатеричный формат
-- переводит значение из шестнадцатеричного формата в десятичный
-- перевод двоичного значения в десятичное число
-- верхний диапазон ip адреса по маске
-- нижний диапазон ip адреса по маске
-- Определяет принадлежность ip адреса к заданной подсети
-- Генерирует диапазон ip адресов по заданной подсети
-- Находит сумму , среднее , минимальное , максимальное значение

ВНИМАНИЕ!!!! для корректной работы скрипта необходимо сначала создать тип!!!!
CREATE OR REPLACE TYPE ds_ip_type as table of varchar2(50);


ссылка для скачивания ПАКЕТА
http://orasource.ru/downloads/oranetwork.zip


Чалышев М.М www.orasource.ru
добавлено: 29 окт 12 просмотры: 1720, комментарии: 0



Работа с внешним приложением по SOAP протоколу в ORACLE .Работа с XML в Oracle.

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

создании данного материала неоценимую помощь мне оказал мой коллега
Доброквашин Михаил.

В этом материале будут разобраны следующие моменты:
Работа с XML в Oracle (формирование XML, хранение XML в базе, извлечение и парсинг XML документа)
Придача XML документа по HTTP протоколу, ожидание ответа, авторизация на HTTP сервере, получение ответа.
Работа с данными тип LOB.

Для примеров может быть использован сервер Oracle не ниже 9 ой версии, с поддержкой XML TYPE.

Введение

Многочисленные приложения сейчас используют в качестве обмена информацией формат XML. Протокол SOAP так же используется многими web сервисами и приложениями , такими как ozon , google, yandex. В протоколе soap XML документ передается по http get другому приложению или web службе, которая в свою очередь возвращает ответ так же в XML формате.
читать дальше...
добавлено: 22 окт 12 просмотры: 3808, комментарии: 0



Oracle SQL UNION, MINUS, INTERSECT - несложные, но эффективные приемы

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

В этом небольшом материале речь пойдет о сравнении и сопоставлении некоторых одноформатных данных
С такой задачей я столкнулся во время работы над одним из проектов.
Предположим , что есть некий эталонный набор данных, одна или несколько таблиц со структурой заданного формата.
С определенной периодичностью из внешних источников поступают данные в таблицах такой же структуры, но сам данные могут незначительно различаться
Итак, вот несколько несложных , приемов которые помогут вам решить подобную задачу
читать дальше...
добавлено: 15 окт 12 просмотры: 17760, комментарии: 0