«Платить или не платить за антивирус?» По мнению некоторых, именно такой вопрос встает перед миллионами пользователей. Вот, например, в статье Владимира Безмалого в 12 номере журнала «Мир ПК» за 2014-й год этой теме посвящено целое «исследование». Результаты его сомнений не оставляют: «скупой платит дважды». Однако аргументы в этой статье настолько спорные, что я не могу не высказаться на эту тему. Ведь мы с вами живем в то время, когда многие манипулируют информацией, чтобы заработать больше денег. О том, насколько эффективна эта система, можно судить по тому факту, что «Антивирус Бабушкина» закупило несколько государственных организаций. Это, конечно, крайний случай, но он показывает, что когда хвалят платные продукты, стоит задуматься, насколько бескорыстны эти похвалы.
Андрей @Skromniyread-only
User
Выполнение внешнего файла из БД Oracle с целью получения информации о дисковом пространстве
5 min
12KЗачастую для тех или иных нужд возникает необходимость выполнить команду OS из pl/sql или даже sql внутри Oracle Database.
Ниже описывается один из способов и его применение в задаче определения доступного дискового пространства.
Предлагаемый способ заключается в использование добавленного в 11.2 функционала «Препроцессинг данных внешних таблиц».
Ниже описывается один из способов и его применение в задаче определения доступного дискового пространства.
Предлагаемый способ заключается в использование добавленного в 11.2 функционала «Препроцессинг данных внешних таблиц».
+5
Простой парсер JSON на PL/SQL
5 min
51KБуквально вчера внезапно возникла задача — понадобилось разобрать данные в формате JSON непосредственно в хранимой процедуре Oracle. Разумеется, именно для таких вещей в Oracle и была добавлена Java, но хотелось чего-то более своего и написанного непосредственно на PL/SQL. Результаты своего порыва я и выкладываю на суд общественности. Вдруг кому пригодится.
+11
Oracle 12c. Продолжаем обзоры новых возможностей. SQL Text expansion
3 min
9.7KТолько что обнаружил у Т. Кайта в блоге описание очень полезной, на мой взгляд, новой возможности 12-ки.
Назвается SQL Text expansion. По сути она позволяет получить конечный запрос, после всех преобразований и дополнений.
1) будут раскрыты все подлежащие view. Т.е. скажем у вас, на первый взгляд, простой запрос, из одного представления, но если вы копнёте глубже, то обнаружите, что внутри это представление состоит из сложного запроса, а тот, основан на других view, которые, в свою очередь, на ещё множестве представлений. Наверняка многие из нас с этим сталкивались и знают каких усилий стоит собрать в голове всю картину воедино, бегая по описаниям каждого представления и пытаясь представить как всё это собирается в один запрос…
2) Особых усилий при отладке логики и производительности стоит работа с virtual private database (dbms_rls). Теперь новая возможность позволяет сильно облегчить жизнь (кто сталкивался — тот однозначно оценит!).
Теперь появилась новая функция, EXPAND_SQL_TEXT из пакета DBMS_UTILITY.
Назвается SQL Text expansion. По сути она позволяет получить конечный запрос, после всех преобразований и дополнений.
1) будут раскрыты все подлежащие view. Т.е. скажем у вас, на первый взгляд, простой запрос, из одного представления, но если вы копнёте глубже, то обнаружите, что внутри это представление состоит из сложного запроса, а тот, основан на других view, которые, в свою очередь, на ещё множестве представлений. Наверняка многие из нас с этим сталкивались и знают каких усилий стоит собрать в голове всю картину воедино, бегая по описаниям каждого представления и пытаясь представить как всё это собирается в один запрос…
2) Особых усилий при отладке логики и производительности стоит работа с virtual private database (dbms_rls). Теперь новая возможность позволяет сильно облегчить жизнь (кто сталкивался — тот однозначно оценит!).
Теперь появилась новая функция, EXPAND_SQL_TEXT из пакета DBMS_UTILITY.
+14
Linux для планшета
8 min
142KВ этой статье я покажу вам на своём опыте, что GNU/Linux и графические оболочки для него уже дозрели до уровня планшетов и вовсе не нужно бояться покупать трансформер\планшет только из-за того, что вы приверженный линуксоид. Здесь описывается сравнение и выбор оптимальной среды рабочего стола (далее DE) для планшета или трансформера, её установка и доработка для сенсорного управления.
+39
Oracle 12c. Новые фичи приносят новые подводные камни
5 min
23KВсем привет.
Разбирая новые возможности Oracle 12c, то тут, то там сталкиваюсь с подводными камнями, когда не всё работает так, как ожидалось, падает или просто не очевидно. Конечно, это стандартная ситуация когда в первом релизе новой версии много сырого… но, как известно, предупреждён — значит вооружен. Вероятно, кому-то пригодится, чтобы не повторять мои грабли.
Пишу грабли в порядке наступления на них.
PS: edited: добавил в конце баг о котором забыл написать сразу (использование в PL/SQL, SQL-конструкций в WITH которых испоьзован PL/SQL).
Разбирая новые возможности Oracle 12c, то тут, то там сталкиваюсь с подводными камнями, когда не всё работает так, как ожидалось, падает или просто не очевидно. Конечно, это стандартная ситуация когда в первом релизе новой версии много сырого… но, как известно, предупреждён — значит вооружен. Вероятно, кому-то пригодится, чтобы не повторять мои грабли.
Пишу грабли в порядке наступления на них.
PS: edited: добавил в конце баг о котором забыл написать сразу (использование в PL/SQL, SQL-конструкций в WITH которых испоьзован PL/SQL).
+21
Загружаем данные в Oracle
14 min
93KTutorial
В своей предыдущей статье я показал, что при использовании асинхронных запросов, скорость опроса устройств по протоколу SNMP может достигать 9000 запросов в секунду (при условии, что у нас есть достаточное количество устройств для формирования такого потока ответов). Вопрос о том, что делать с этим потоком данных остался открытым.
Обычной практикой является обработка данных мониторинга посредством RDBMS (таких как Oracle Database). Но способны ли традиционные реляционные базы данных справиться с такой нагрузкой? Попробуем в этом разобраться.
Обычной практикой является обработка данных мониторинга посредством RDBMS (таких как Oracle Database). Но способны ли традиционные реляционные базы данных справиться с такой нагрузкой? Попробуем в этом разобраться.
+20
Раздуваем таблицы и пожираем tablespaces
4 min
16KДоброго времени суток!
В интернете вообще и на Хабре в частности немало публикаций о ремонте битых блоков. Например, здесь о выдергивании неповрежденных данных, а тут история победы над битым LOB сегментом.
Приводить легионы ссылок на инет с подобными статьями не буду. Но есть в большинстве этих статей общая черта. Когда данные спасены (или уничтожены, как получится), предлагается победить поврежденный free block захватом всего свободного места в tablespace. И почему то это предложение описательно.
Так добавим конкретики!
+8
Быстрая компиляция большого количества инвалидных объектов в БД
1 min
6.2KБД находится в restricted (выполнен startup restrict или alter sytem enable restricted session+убиты все пользовательские сессии).
listener остановлен.
Последовательность действий.
listener остановлен.
Последовательность действий.
- exec dbms_scheduler.set_scheduler_attribute('scheduler_disabled','true');alter system disable restricted session;
- @?/rdbms/admin/utlrp
- в другой сессии: alter system enable restricted session;exec dbms_scheduler.set_scheduler_attribute('scheduler_disabled','false');
0
Именование объектов в Oracle. Взгляд «со стороны»
15 min
42K«Старая песня о главном»
«Стандарты именование объектов БД» и «правила оформления кода» темы не новые. Так или иначе, к вопросу выработки или заимствования таких стандартов и правил приходят все команды разработчиков. При желании в сети можно найти статьи и презентации по данной теме, а так же примеры и шаблоны различных соглашений. Многие из них безусловно полезны, некоторые — практически идеальны, если бы не одна маленькая оговорка: они написаны разработчиками и для разработчиков.
К сожалению, в моей субъективной реальности разработчики являют собой лишь некую абстракцию. Эдакие фантомы по ту сторону телефонной трубки, от которых меня отделяют тысячи километров и 3 часовых пояса. Прямого доступа в их коллективный мозг у меня нет. Доступны только образы, порожденные данным мозгом,- в виде объектов эксплуатируемой системы.
В принципе, пожелания по оформлению и именованию у «прикладника» (администратора приложения/технолога) и разработчика на 90 процентов совпадают. Но существуют все же некоторые отличия в восприятии «читателя» и «писателя», о которых я хотел бы поговорить.
+6
Oracle Business Intelligence — обзор
8 min
93KПривет, хабр. По работе мне приходится иметь дело с OBIEE (Oracle Business Intelligence Enterprise Edition) в качестве разработчика и администратора, поэтому я решил поделиться тем объемом знаний, который успел накопить. Надеюсь, кому-нибудь это поможет в освоении системы. Сначала я планирую рассказать про систему в целом, затем — про архитектуру и взаимодействие компонентов, а в конце — рассказать про те особенности, с которыми пришлось столкнуться за время работы.
Oracle Business Intelligence Enterprise Edition (OBIEE, OBI) — программная платформа для решения задач бизнес-аналитики: интерактивных и публикуемых отчетов, мониторинга KPI и бизнес-процессов. Является потомком Siebel Analytics. Основные функциональные части, доступные пользователям:
Обзор системы
Oracle Business Intelligence Enterprise Edition (OBIEE, OBI) — программная платформа для решения задач бизнес-аналитики: интерактивных и публикуемых отчетов, мониторинга KPI и бизнес-процессов. Является потомком Siebel Analytics. Основные функциональные части, доступные пользователям:
- Answers (также называются Interactive Dashboards) — построение интерактивных отчетов, доступных для пользователей через веб-интерфейс OBIEE. Единицей отчетности является analysis — простой отчет, как правило, включающий в себя одно отображение (таблицу, график, диаграмму и т.п.). Analysis объединяются в информационные панели (Dashboards), с которыми работают конечные пользователи. Информационные панели также могут включать в себя приглашения (prompts) — элементы настройки, с помощью которых пользователь может взаимодействовать с панелью.
- Publisher (также иногда в него включают Delivers) — средство создания и рассылки статических отчетов. Т.к. publisher развился из отдельного продукта, то в нем есть возможность строить отчеты на собственной модели данных, независимой от модели данных OBI, однако можно использовать и общую модель. Также есть возможность рассылки существующих отчетов из answers.
- Action Framework — набор средств для выполнения каких-либо автоматизированных действий из OBIEE — например, рассылка отчетов по достижению показателем определенного значения, вызова внешних веб-служб, вызова java кода и т.п. Действия могут быть объединены в цепочки. Возможно настройка различных каналов оповещения пользователей — e-e-mail, sms, пейджер и т.п.
- Scorecard and Strategy Management — средства для отслеживания ключевых параметров производительности (KPI) и работы с системами показателей (Scorecard — http://en.wikipedia.org/wiki/Balanced_scorecard). Используются для наглядного отображения статуса выполнения целей (компании, проекта). Доступ пользователей, как и в случае с answers, осуществляется через веб-интерфейс.
- Marketing — средства интеграции с Siebel Marketing.
- Office Tools — средства интеграции с Microsoft Office.
+6
Денормализация деревьев
3 min
12KОчень часто за основу архитектуры приложения берётся дерево. Простой пример: есть страны, в странах — области, в областях — города, в городах — организации, в организациях — работники, товары или что-либо ещё. Использование дерева вполне логично и оправдано. Иерархичность такой системы показывает некая абстрактная таблица. Назовём её object:
Наполним её какими-нибудь данными:
При этом мы можем легко одним запросом получать нужные нам связи:
Однако проблемы появляются, когда записей в таблице становится на столько много, что любой рекурсивный запрос выполняется минуты две, а то и больше. Менять всю архитектуру как-то поздновато… Тут-то нам на помощь и приходит денормализация дерева. В этой статье я расскажу об одном из способов такой денормализации.
CREATE TABLE object (
id NUMBER(11),
parent_id NUMBER(11),
type VARCHAR2(16) NOT NULL,
name VARCHAR2(255) NOT NULL,
CONSTRAINT pk_object PRIMARY KEY (id),
CONSTRAINT fk_object_parent FOREIGN KEY (parent_id) REFERENCES object (id) ON DELETE CASCADE ENABLE
);
Наполним её какими-нибудь данными:
id | parent_id | type | name
------------------------------------------------------
1 | NULL | country | Россия
2 | 1 | region | Московская область
3 | 1 | region | Новосибирская область
4 | 2 | city | Москва
5 | 3 | city | Новосибирск
При этом мы можем легко одним запросом получать нужные нам связи:
-- Выбрать все города России
SELECT *
FROM object
WHERE type = 'city'
START WITH id = 1 CONNECT BY PRIOR id = parent_id;
-- Выбрать страну, в которой находится Новосибирск
SELECT *
FROM object
WHERE type = 'country'
START WITH id = 5 CONNECT BY PRIOR parent_id = id;
Однако проблемы появляются, когда записей в таблице становится на столько много, что любой рекурсивный запрос выполняется минуты две, а то и больше. Менять всю архитектуру как-то поздновато… Тут-то нам на помощь и приходит денормализация дерева. В этой статье я расскажу об одном из способов такой денормализации.
+10
Все, что Вы хотели знать о Chromecast или как сделать обычный телевизор чуть умнее за 35$
12 min
277KВводная
Целью данного поста является актуализация информации о замечательном устройстве от Google, а именно — Chromecast.
В связи с последними обновлениями от Google, данное устройство получило намного больший функционал, чем описано ранее на Хабре в обзоре от zvic и обзоре от khoroshev.
По отзывам в сети, многие разочаровались в этом устройстве, у многих оно лежит в ящике, а многие просто избавились от него, т.к. не нашли ему применение.
Забегая вперед, скажу, что одно из главных достоинств устройства — проигрывание локальных файлов с телефона/планшета/компьютера, находящегося в одной Wi-Fi сети. Также можно стримить на телевизор онлайн-видео из различных программ.
Интересно? Тогда прошу под кат.
+22
Google обнародовал Cast Software Development Kit (Chromecast SDK)
4 min
19KВ продолжение своей статьи, хочу обрадовать обладателей замечательного устройства Chromecast.
Google обнародовал Cast Software Development Kit (Chromecast SDK). Что это нам дает? Сразу оговорюсь, если вам интересна эта тема, заходите почаще, обновления и дополнения добавляю в статью по мере поступления информации.
На текущий момент доступно только небольшое количество официальных приложений, а расширенные возможности были доступны только счастливым обладателям рутованных устройств (коим я также являюсь).
Теперь же любой разработчик может добавить поддержку Chromecast в свое приложение (с учетом Правил программы для разработчиков приложений Google Play, а там есть пункт о интеллектуальной собственности).
Для этого необходимо создать аккаунт, ознакомиться со страницей и выполнить все инструкции согласно Google Cast Design Checklist. Примеры есть на GitHub.
Google обнародовал Cast Software Development Kit (Chromecast SDK). Что это нам дает? Сразу оговорюсь, если вам интересна эта тема, заходите почаще, обновления и дополнения добавляю в статью по мере поступления информации.
На текущий момент доступно только небольшое количество официальных приложений, а расширенные возможности были доступны только счастливым обладателям рутованных устройств (коим я также являюсь).
Теперь же любой разработчик может добавить поддержку Chromecast в свое приложение (с учетом Правил программы для разработчиков приложений Google Play, а там есть пункт о интеллектуальной собственности).
Для этого необходимо создать аккаунт, ознакомиться со страницей и выполнить все инструкции согласно Google Cast Design Checklist. Примеры есть на GitHub.
+14
Oracle Database Appliance – обзор после опыта использования
5 min
13KСначала пару слов про ODA. Это инженерная система, представляющая собой готовый стек – СХД, серверов и софта, которые подобраны друг под друга для обеспечения максимальной производительности. Аналогов у других производителей нет, т.к. весь стек тестировался производителем оборудования и ПО для выявления «узких» мест в производительности. В результате в ОДЕ нет веера разных конфигураций и все что можно сделать — это добавить дополнительную полку с дисками. В системе стандартный объем памяти, стандартный объем дисков, стандартные процессоры – никаких особых дополнений или вариантов конфигураций нет.
В нашем обзоре использована ОДА первого поколения, которая в габаритах 4 юнита, включает в себя 2 сервера, каждый с:
+6
How-to: Разворачиваем Oracle Real Application Cluster 11g на VirtualBox
21 min
38K1. Предыстория
Наша компания занимается серийным выпуском техники сугубо мирного назначения и вся сопутствующая информация с производства пишется в БД Oracle, которая располагается на виртуальном сервере под управлением VMware ESX. И вроде бы все налажено, конвейер работает, данные пишутся, идет отгрузка готовой продукции.
Но стойка, на которой кроме сервера БД, базируется еще куча каких-то непонятных серверов, имеет удивительное свойство иногда падать. Да и с самой БД в один прекрасный момент может произойти все, что угодно. Конечно, первым делом на ум приходит грамотная организация резервного копирования БД или создание спапшотов VMware. Однако, все эти действия, в случае отказа оборудования, не позволяют обеспечить непрерывную работу БД и всего конвейера соответственно. В общем, захотелось опробовать другие решения.
Когда в IT-отделе в очередной раз проводилось собрание по данной проблеме, было решено опробовать идею поднять Oracle Real Application Cluster и развернуть на нем производственную БД. Проблема заключалась лишь в том, что никто на тот момент не знал, как это делается.
Пред тем, как закупать железо и разворачивать новые сервера, было решено опробовать выбранную технологию локально, используя VM VirtualBox. После нескольких недель, плавно перешедших в месяцы, поиска и переваривания необходимой как воздух информации, кластер наконец-то был запущен, и можно было приступать к первым тестам. И так, всем, кто хочет поднять n-нодовый (n>=2) кластер, добро пожаловать под кат.
+6
В поисках лучшего сигнала мобильного интернета весной 2015
3 min
28KВот и пришла весна в наши края. Погода на улице + 5 градусов, возобновляются дачные работы, а вместе с ними и поиски надежного провайдера мобильного интернета. Именно весной, когда природа начинает просыпаться, деревья создают дополнительные электромагнитные излучения, листва закрывает прямую видимость с базовой станцией, встает задача усиления сигнала сотовой связи. А в 2015 году особой популярностью пользуются решения с наименьшими затратами, об этом и пойдет речь в данном обзоре.
+16
С чего начинается дружба с Active Directory
4 min
59KМне часто приходится сталкиваться с обработкой информации из Active Directory. Так как данная система много где распространена, я решил поделиться своим опытом работы с ней.
Началось всё с того, что я раздавал доступ в MS Sharepoint. В заявках от сотрудников, в лучшем случае, приходили учетные записи, в худшем могли написать что-то типа “Мне и моему начальнику”.
Началось всё с того, что я раздавал доступ в MS Sharepoint. В заявках от сотрудников, в лучшем случае, приходили учетные записи, в худшем могли написать что-то типа “Мне и моему начальнику”.
+6
Настройка двухсторонней синхронизации БД Oracle (Oracle Streams)
6 min
22KЧто делать, если нет дисковой полки под RAC, а отказоустойчивость БД Oracle в реальном времени обеспечить нужно? Настроить потоки данных Oracle (Oracle Streams)!
Про потоки данных написано много. Например, здесь, здесь и здесь, в том числе и в официальной документации. В данной статье описан вариант настроек без использования redo-логов, работающий для редакций Oracle Standard Edition One и Oracle Standard Edition 11gR2 (лицензия на Enterprise позволяет провести настройку проще, прямо в Enterprise Manager Console, см. ограничения).
+9
PL/SQL через dblink
15 min
65KOn metalink, every one said there's no solution…
Oracle can't do that ...
Приходилось ли Вам реализовывать нестандартные решения? А в Oracle? Мне бы хотелось рассмотреть использование техник, позволяющих лучше узнать принципы работы СУБД, а в совокупности предоставляющие удобство для разработчика.
+3
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Registered
- Activity