Информация

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

Теги


Блоги


Записи из всех блогов на Sql.ru


SERIALIZABLE режим

Блог: Oracle SQL
Чалышев Максим Михайлович
В СУБД ORACLE есть возможность, чтобы пользователь всегда видел только те данные в таблицах, которые были доступны с начала его сессии
Такой режим (уровень изоляции) называется SERIALIZABLE. Для того чтобы включить этот режим используется команда

Alter session set isolation_level=serializable;

Следующий пример показывает отличие режима SERIALIZABLE от стандартного режима эксплуатации СУБД. Уровня изоляции READ COMMITTED
Откроем в двух разных окнах программу SQL Developer (или создадим новый Worksheet) подключимся к схеме SYS как администратор.
создадим таблицу man5
Create table Man5(prt number, name varchar2(50));



INSERT INTO man5 VALUES(20, 'Олег');
INSERT INTO man5 VALUES(21, 'Влад');
INSERT INTO man5 VALUES(22, 'Саша');
Commit;


читать дальше...
автор: Myp3_u_K добавлено: 18 фев 19 просмотры: 633, комментарии: 0



Контекст сеанса

Блог: Oracle SQL
Чалышев Максим Михайлович
Введение
В каждой сессии есть возможность использовать специальные структуры данных, именуемые контекст.
Контексты - это набор данных вида - параметр значение. Контекст предоставляет дополнительные возможности для приложений, использующих СУБД Oracle.
Теория и практика
Контекст - это предопределённый набор параметров и значений создаваемый в рамках определенной сессии. Несколько таких наборов параметр значение, объединяется с помощью структуры называемой контекстом.

Задается значение контекста с помощью процедуры DBMS_SESSION.SET_CONTEXT

Функция SYS_CONTEXT позволяет получить значение заданного контекста в раках сессии.
Для создания контекста специальная команда CREATE CONTEXT.
Сначала следует создать специальною процедуру для управления контекстом.

CREATE OR REPLACE PROCEDURE set_mycontext_value ( par IN VARCHAR2, val IN VARCHAR2 ) 
AS BEGIN  DBMS_SESSION.SET_CONTEXT ( 'myctx', par, val ); END;

CREATE OR REPLACE CONTEXT myctx USING set_mycontext_value;

читать дальше...
автор: Myp3_u_K добавлено: 18 фев 19 просмотры: 474, комментарии: 0



Планировщик JOB заданий. Управление.

Блог: Oracle SQL
Чалышев Максим Михайлович
Введение
В Oracle есть специальный механизм запланировать выполнение определённой программы, на заданное время, это может быть оператор SQL, программа на языке PLSQL, либо даже внешняя программа. Этот механизм называется механизмом заданий Job

Данный механизм может применяться, например, для планирования запуска тяжелых запросов в ночное время или на выходные дни, распределения задач построения отчетности.

Теория и практика

Для управления заданиями в Oracle существует специальные пакет DBMS_JOB:
Создание заданий
Можно использовать механизм dbms_job
Или механизм dbms_scheduler – более современный способ
DBMS_JOB.SUBMIT(
 JOB OUT BINARY_INTEGER,
 WHAT IN VARCHAR2,
 NEXT_DATE IN DATE DEFAULT SYSDATE,
 INTERVAL IN VARCHAR2 DEFAULT NULL,
 NO_PARSE IN BOOLEAN DEFAULT FALSE,
 INSTANCE IN BINARY_INTEGER DEFAULT any_instance,
 FORCE IN BOOLEAN DEFAULT FALSE
);


Здесь:
JOB – Входной параметр уникальный идентификатор задания. Идентификатор генерируется специальной системной последовательностью.
WHAT - анонимный PL/SQL блок, в данном блоке указывается последовательность команд которая будет выполнена в процессе работы задания.
В же в этом параметре можно также писать команды вставки удаления редактирования (inser update delete), а так же команды для создания создания индексов таблиц, создания индексов, ограничений.
NEXT_DATE – дата время следующего выполнения задания.
Если будет указана дата меньше чем текущую дата, то выполнение задания будет начато немедленно.
INTERVAL – Вычисляемая дата следующего выполнения задания в столбце NEXT_DATE. Примеры интервала задания:
NULL
Задание выполнится однократно и удалится.
читать дальше...
автор: Myp3_u_K добавлено: 18 фев 19 просмотры: 486, комментарии: 0



Быстрая очистка таблиц и EXECUTE IMMEDIATE.

Блог: Oracle SQL
Чалышев Максим Михайлович
Введение
Для быстрой очистки таблиц в Oracle применяется специальный оператор TRUNCATE TABLE.
Данный оператор является оператором DDL, оператором мгновенного выполнения и поэтому для его вызова нам потребуется оператор динамического SQL.
Динамический SQL используется в ORACLE с помощью команды EXECUTE IMMEDIATE
Теория и практика
Оператор EXECUTE IMMEDIATE выполняет динамический оператор SQL или анонимный PL / SQL блок. В нашем случае мы будем использовать EXECUTE IMMEDIATE для работы с TRUNCATE TABLE.
Текст динамического SQL заключается в кавычки.
Оператор TRUNCATE TABLE используется для быстрого удаления всех записей из таблицы в Oracle. По результату аналогичен DELETE, без условий WHERE, но выполняется гораздо быстрее.
Синтаксис
TRUNCATE TABLE table_name
  [ PRESERVE MATERIALIZED VIEW LOG | PURGE MATERIALIZED VIEW LOG ]
  [ DROP STORAGE | REUSE STORAGE ] ;

читать дальше...
автор: Myp3_u_K добавлено: 18 фев 19 просмотры: 449, комментарии: 0



Внешние таблицы External Table

Блог: Oracle SQL
Чалышев Максим Михайлович
Внешние таблицы – специальный механизм Oracle СУБД с помощью которого можно обращаться в данным , хранящимся в файлах вне базы данных как к обычным таблицам.

Для загрузки данных могут использоваться команды драйвера OracleLoader. В ExternalTable не могут применяться операторы изменения данных (DELETE INSERT UPDATE MERGE).

Но, к таким таблицам вполне могут применяться стандартные запросы SELECT, с использованием групповых операций, агрегатных функций, аналитического SQL.

Все это делает механизм внешних таблиц особенно эффективным для проектов DWH(хранилищ данных) , при формировании ETL(процедур загрузки) для данных.

Теория и практика

Предположим, у нас есть несколько файлов заданного формата, файлы расположены в каталоге temp на диске c:
Необходимо подключить эти файлы как внешние таблицы к экземпляру нашей базы данных.

Название файлов city.csv и man.csv, кодировка UTF8 - ниже представлено содержание этих файлов текстовом виде.

city.csv

1,Москва,10000000
2,Владимир,500000
3,Орел,300000
4,Курск,200000
5,Казань,2000000
7,Котлас,110000
8,Мурманск,400000
9,Ярославль,500000 

man.csv
9152222221,Андрей,Николаев,1,22
9152222222,Максим,Москитов,1,31
9153333333,Олег,Денисов,3,34
9173333334,Алиса,Никифорова,4,31
9173333335,Таня,Иванова,4,31
9213333336,Алексей,Иванов,7,25
9213333331,Андрей,Некрасов,2,27
9213333332,Миша,Рогозин,2,21
9214444444,Алексей,Галкин,1,38

Вы можете создать эти файлы сами с помощью любого текстового редактора. Напоминаю, что кодировка файлов UTF8.
Перед использованием внешних таблиц необходимо создать специальный объект directory указывающий на каталог, где расположены файлы для внешних таблиц

CREATE OR REPLACE DIRECTORY ext_tab_data AS 'c:/temp';

Здесь
• ext_tab_data – название объекта directory
• AS 'c:/temp' – каталог, где расположены файлы для формирования внешних таблиц.
Далее формируем временные таблицы
Создаем таблицу для файла city.csv
читать дальше...
автор: Myp3_u_K добавлено: 18 фев 19 просмотры: 454, комментарии: 0



Опыт размещения файлов больших баз данных

В этой статье отражён опыт построения и поддержания инфраструктуры для больших (больше 10Тб) баз данных. Статья не предлагает универсального решения всех возможных задач MS SQL Serverи не отражает всего разнообразия возможных типов нагрузки. Поэтому использовать представленные ниже выводы и рекомендации стоит с оглядкой на свою специфику. Всё, что тут описано, было апробировано на OLTP нагрузках с немалой долей больших аналитических запросов, агрегации, процессинга и массовых выгрузок/загрузок данных. Нагрузка была блочная, неоднородная во времени и по структуре. Характерными чертами нагрузки являлся высокий параллелизм, большое число блокировок, листаний, асинхронных операций, очередей, ожиданий процессора и окончания ввода-вывода. Сама нагрузка балансировалась на уровне логики работы приложения, ресурсы распределялись сообразно возможностям задач, запросы снабжались «хинтами», а распределения памяти для многих задач исчислялись десятками и сотнями Мегабайт. Статья предназначена для администраторов баз данных и хранилищ. Подразумевается, что она облегчит понимание особенностей размещения файлов данных и журналов SQL Server в сетях SAN.

Читать далее: https://blogs.msmvps.com/gladchenko/sizing/
автор: Александр Гладченко добавлено: 06 фев 19 просмотры: 749, комментарии: 0



Критика смысла: квантовые компьютеры в прикладном исполнении, Д.Дойч

Quantum Computation, www.dwavesys.com
Rather than store information using bits represented by 0s or 1s as conventional digital computers do, quantum computers use quantum bits, or qubits, to encode information as 0s, 1s, or both at the same time. This superposition of states—along with the other quantum mechanical phenomena of entanglement and tunneling—enables quantum computers to manipulate enormous combinations of states at once.


Прошу прощения у подписчиков за то, что в заметке будет много цитат из главы Д. Дойча «Структура реальности», но коротко «вход» в тематику у меня был с двух сторон – первые попытки Андрея Гордиенко доказать возможность к 2019 году создать «соизмеримый» с человеческим интеллектом «механизм» и примерно же в это время друг начал работы над ловлей электрона «за хвост» - очень «острая» игла туннельного микроскопа (его коллеги наверняка к 2025-му году получат Нобелевскую премию по физике, если работа или премия не обесценится, кросс-национальная команда из многих стран) и простой материал. Андрей доказать не смог, но друг электрон поймал. Поэтому придётся цитировать, чтобы обоснование для людей, которым интересен данный вопрос изучили его со всех сторон, в т.ч. и со стороны виртуальной реальности, глава о которой также есть в книге.

Предыдущая заметка о времени http://www.sql.ru/blogs/iyun/2231.

читать дальше...


Моменты в управлении антикризиcными IT-проектами

Работа над заметкой "Авторская теория замены рядового менеджера от Сергея Трушкина (или почему ИИ не быстро идет в гору)" продолжается, просто не хочу ее дополнять по чуть-чуть.
Запись "Педал-лохус-клан [PL] в QuakeWorld (почему в 90-е уходили из киберспорта)" в целом закончена.

Прошу прощения у подписчиков, но нарыл тут у себя в архиве интересный документ.
Делюсь документом в режиме записи в блоге.

К читателю
Автор блога не обладает специализированными знаниями в классическом антикризисном менеджменте. Автор блога практически всегда был вовлечен в проекты такого рода на «плохой» стадии как управленец. Часть процесса пикирования в кризис им наблюдалась интерактивно без права решающего голоса. С точки зрения автора блога чистые методы решения проблем в проектах не могут быть успешно применены в данном типе проектов, что позволяет считать любой антикризисный проект сложным. Сложность антикризисного проекта по мнению автора блога определяется не стоимостью, не требованиями к качеству, не сроками. Как следствие содержание антикризисного проекта зависит от решений спонсора как реагировать на проблему в проекте, которая заставила считать данный проект «особым». Автор блога не претендует на универсальность примененных проектных решений и универсальность разработанных методов.
читать дальше...




Педал-лохус-клан [PL] в QuakeWorld (почему в 90-е уходили из киберспорта)

Вспоминая прошлое, на собеседованиях я всегда говорил неправду, почему при крассном дипломе Вы не стали защищаться.

Здесь же в формате блога могу себе в режиме полной анонимности рассказать полную правду.
Учился я тогда в аспирантуре ИВМ РАН Гурия Ивановича Марчука, и если экзамены вступительные по философии и английскому дались в лёт, то экзамен по вычислительной математике только со второго раза и то, только после качественной подготовки и спора о терминологии, что такое обобщенная производная по Соболеву, на что принимающий сказал, что обязательно перечитает.
читать дальше...
автор: Програмер.Илюша добавлено: 10 окт 18 просмотры: 1625, комментарии: 2


предыдущие записи