Как стать автором
Обновить

Так что же случилось со Сбербанком?

Время на прочтение4 мин
Количество просмотров27K
Вместо эпиграфа:
Пускай слыву я старовером,
Мне всё равно, я даже рад.
Пишу я Гоблина размером,
Пою, друзья, на старый лад
(почти М. Ю. Лермонтов)

Итак,

— Что же произошло с процессингом Сбербанка?
— Произошла ошибка СУБД Oracle, приведшая к остановке экземпляра.

— Что за странные вещи написал вице-президент банка? Какое ещё удаление событий из журналов?
— Обратите внимание, комментарий написан далеко заполночь, и не на специализированном ресурсе типа sql.ru, и не администратором Oracle, а вице-президентом. Странно в такой ситуации ожидать глубокого технического описания. Тем не менее, описание достаточно точное. Чуть ниже будут технические подробности — попробуйте сформулировать «для простого народа» понятнее, чем это получилось у Орловского.

— Ну, давай уже технические подробности!
Читать дальше →
Всего голосов 270: ↑246 и ↓24+222
Комментарии126

Скрипт для сравнения двух БД Oracle

Время на прочтение10 мин
Количество просмотров18K
Процесс выката новых версий ETL на продуктив всегда процесс волнующий. Редко когда среда разработки полностью соответствует среде эксплуатации, в моем предыдущем проекте различались в том числе ОС и железо, на которых велась разработка и эксплуатация ХД.

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

После такого сравнения и унификации многие, зачастую неожиданные, проблемы при деплое должны будут найтись немного раньше, на этапе тестирования, т.е. при деплое с ДЕВа на СИТ. А определенное количество устаревших маппингов OWB или таблиц можно будет удалить с ПРОД системы.

Возможности сравнения нескольких БД присутствуют в некоторых утилитах разработки и администрирования БД, в частности данный набор скриптов получен из Toad. Мой коллега просто выбрал необходимые параметры для сравнения, которых, я думаю, будет достаточно для начала и вам, а уж если вы используете кластеризацию таблиц или что-то более сложное добавить вывод этих объектов для сравнительного анализа сможете сами.

Сформированные файлы (db_info.txt с ДЕВа и такой же с ПРОДа) можно, в дальнейшем, сравнивать утилитами типа WinDiff и решить, где значение вернее и какое из них оставить.
Читать дальше →
Всего голосов 12: ↑9 и ↓3+6
Комментарии8

Транспортируемые табличные пространства в Oracle 11g

Время на прочтение5 мин
Количество просмотров16K
Привет хабровчане, в этой статье я расскажу о перемещаемых табличных пространствах(Transportable tablespaces) в Oracle 11g. Табличное пространство можно клонировать и затем включить в другую базу данных путем копирования, а также можно исключить из одной базы данных Oracle и включить в другую базу данных Oracle на той же платформе с помощью перемещения.
Читать дальше →
Всего голосов 4: ↑3 и ↓1+2
Комментарии4

Что происходит с Oracle?

Время на прочтение4 мин
Количество просмотров4.1K
После пары недавних дискуссий про Oracle я постарался проанализировать положение компании и процессы в ней. Если коротко, получается, что Oracle испытывает серьезные трудности, так как подает иски против конкурентов, не имея на руках доказательств.

В первую очередь это видно по иску, который Oracle подала против IBM в отношении вводящей в заблуждение рекламы её машин баз данных Exadata. Грубо говоря, Oracle заявила, что ее софт работает в 20 раз быстрее, сравнивая некую идеальную конфигурацию на современном оборудовании у конкретного заказчика со средней абстрактной конфигурацией IMB. Ниже есть детали, но это как сравнить болид Формулы-1 и внедорожник, заявив, что внедорожник в 20 раз быстрее в лесу.



Национальная рекламная ассоциация (США) уже отклонила иск, но Oracle собирается обжаловать это решение.
Читать дальше →
Всего голосов 44: ↑39 и ↓5+34
Комментарии29

VMA – умная флэш-память для базы данных

Время на прочтение2 мин
Количество просмотров13K
В прошлом году мы уже подробно рассказывали о флагмане линейки HP ProLiant — 8-сокетном DL980, который впервые реализует функции бизнес-критичных систем для серверов стандартной архитектуры. Одна из основных сфер применения этого сервера – обслуживание больших баз данных Oracle, Microsoft SQL Server. В нынешнем году на базе этого сервера было разработано новое решение, позволяющее резко поднять производительность баз данных за счет использования флэш-памяти.


Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии19

PostgreSQL vs Oracle

Время на прочтение3 мин
Количество просмотров62K

Сравнение с точки зрения разработчика




Сразу оговорюсь — я не имею ничего против размещения части бизнес логики в хранимых функциях, если это предусмотрено в архитектуре системы и оправдано по ряду практических соображений, которые выходят за рамки этой статьи.
Читать дальше →
Всего голосов 80: ↑73 и ↓7+66
Комментарии201

Считаем скобочки на Oracle SQL

Время на прочтение5 мин
Количество просмотров5.2K

Все началось с того, что на сайте codeforces.ru в очередном Codeforces Round я увидел интересную задачку “Скобочная последовательность” и решать ее “неинтересным способом” никак не хотелось.

Вкратце условия задачи сводятся к нахождению в строке, состоящей только из символов «(», «)», «[» и «]», правильной cкобочной последовательности, содержащей как можно больше скобок «[».

Как же решить эту задачу одним sql запросом?
Всего голосов 33: ↑29 и ↓4+25
Комментарии18

Oracle закручивает гайки

Время на прочтение3 мин
Количество просмотров4.2K
Это перевод заметки Исчезновение набора тестов или очередная часть MySQL стала закрытой? (Disappearing test cases or did another part of MySQL just become closed source?)

Около недели назад я изучал MySQL 5.5.27 и заметил любопытную деталь. Несмотря на то, что новый релиз MySQL содержал обычный набор исправлений, ни один из них не сопровождался тестом.
Читать дальше →
Всего голосов 82: ↑79 и ↓3+76
Комментарии28

Вызов shell из Oracle

Время на прочтение2 мин
Количество просмотров5.4K
Буквально на днях появилась у меня очень интересная задачка — вызвать shell скрипт из триггера в Oracle. Самым простым выходом в данной ситуации является хранимая процедура на Java, но редакция Oracle для которой было необходимо произвести действия — XE, в которой таковая возможность отсутствует.
Google выдает достаточно много советов по тому, как реализовать процедуру, ссылающуюся на C библиотеку, но в чистом виде такие инструкции у меня не заработали, пришлось несколько допиливать советы, в чем мне все также помогал Google. Ссылок на ресурсы, где я получал ответы, уже не помню, но всю цепочку действий попробую рассказать.
Читать дальше →
Всего голосов 10: ↑8 и ↓2+6
Комментарии11

Новый 0day эксплоит для Java. Теперь и в Metasploit

Время на прочтение2 мин
Количество просмотров9.1K
Как следует из официального блога Metasploit, последний апдейт данного продукта имеет в своём арсенале эксплоит под уязвимость нулевого дня (0day) для Java run-time environments (JRE).

Эксплоит кросплатформенный и был успешно протестирован на следующих платформах:

  • Windows 7 SP1 с установленной Java 7 Update 6
  • Mozilla Firefox под Ubuntu Linux 10.04
  • Internet Explorer / Mozilla Firefox / Chrome on Windows XP
  • Internet Explorer / Mozilla Firefox on Windows Vista
  • Internet Explorer / Mozilla Firefox on Windows 7
  • Safar под OS X 10.7.4


UPD_2
Как сообщается, уязвимости подвержены следующие продукты:

JDK и JRE 7 Update 6 и более ранние
JDK и JRE 6 Update 34 и более ранние
end of UPD_2

Как можно догадаться, раз это 0day, то на настоящий момент патча не существуетОбновление Java 7 update 7 устраняет уязвимость (спасибо Gregy за наводку). Уязвимости также пока что не присвоен номер CVE. Уязвимости присвоен CVE-2012-4681
Читать дальше →
Всего голосов 55: ↑49 и ↓6+43
Комментарии63

Host и Request_Uri в списке сессий Oracle

Время на прочтение1 мин
Количество просмотров1.5K
Чтобы в списке сессий на сервере Oracle видеть откуда с веба нам пришел запрос, достаточно добавить 7 строк кода в расширение PHP OCI8.



Читать дальше →
Всего голосов 15: ↑7 и ↓8-1
Комментарии6

Уязвимость в протоколе аутентификации Oracle 11g

Время на прочтение3 мин
Количество просмотров11K
Не так давно стало известно о новой уязвимости (получившей номер CVE-2012-3137) в протоколе аутентификации O5Logon, испольуемом в БД Oracle версий 11.1 и 11.2. Уязвимость позволяет удаленному пользователю получить пароль доступа, произведя brutforce атаку на зашифрованный идентификатор сессии, полученный от сервера. Эта особенность дает возможность подобрать пароль пользователя локально, не отправляя дополнительные сетевые запросы на сервер базы данных.
Читать дальше →
Всего голосов 41: ↑39 и ↓2+37
Комментарии12

Решение рекурсивной логической головоломки на Oracle SQL

Время на прочтение10 мин
Количество просмотров7.7K
Однажды в своем блоге коллега разместил картинку:
image

Вспомнив про статью Задача о восьми Ферзях на Oracle SQL, решил попробовать решить ее аналогичным путем.
Читать дальше →
Всего голосов 43: ↑39 и ↓4+35
Комментарии13

Подготовка к сдаче экзамена Oracle certified JAVA associate

Время на прочтение3 мин
Количество просмотров66K
Поиск русского гайда по сдаче на OCAJP 7 не увеньчался успехом, так что я решил написать свой.

Что это за сертификат рассказывают в этом видео. Сдавать или нет каждый решает для себя сам, но этот сертификат является базовым в иерархии Oracle для интересующихся Java.

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

Началось как обычно с чтения CodeRanch. Когда я начинал готовиться книг посвященных OCA 7 еще не было в природе. Сейчас уже появился официальный гайд. Но учитывая ценник (30$), я все же воздержался бы от покупки. Сейчас расскажу почему.
Читать дальше →
Всего голосов 35: ↑32 и ↓3+29
Комментарии58

Все, что хотели знать о сдаче экзамена Java Programmer I (1Z0-803) в Киеве, но боялись спросить

Время на прочтение6 мин
Количество просмотров64K
Предисловие

imageКак бывший программист на С++, который перешел на православную Java, я решил постепенно подкрепить свои знания сертификатами. Просто для себя (не совсем так просто, но о мотивации чуть далее). Получение подобной «бумаги» стало для меня новым квестом и о том, как его пройти я и буду рассказывать, параллельно сдав все явки и пароли в Киеве. Само собой, не считая конкретного центра сертификации, все сказанное актуально и для не киевлян.
Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии13

Новая уязвимость нулевого дня в браузерных плагинах Java

Время на прочтение1 мин
Количество просмотров22K
Похоже, месяц уязвимостей zeroday продолжается.

Очередная уязвимость в Java (CVE-2013-0422) уже включена в несколько эксплоит паков (BlackHole Exploit Kit, Cool Exploit Kit, Nuclear Pack). Вот что пишет создатель эксплоит пака BlackHole Exploit Kit:


Сообщается, что эта уязвимость очень похожа на обнаруженную в августе уязвимость в Java CVE-2012-4681. Атакующий может создать зловредную веб страницу и выполнить произвольный код на уязвимой системе. Работает на последней на текущий момент версии Java 1.7u10

Создатель Metasploit сообщил, что в ближайшее время в этот фреймворк будет включена описываемая уязвимость (уже выпустили, спасибо timukas). Напомнив, что уязвимость может работать независимо от ОС где установлена Java. Будь то Windows, Linux или MacOS.
Читать дальше →
Всего голосов 53: ↑51 и ↓2+49
Комментарии41

Вызов 32-bit внешних процедур из PL/SQL на Oracle 11g R2 64-bit

Время на прочтение3 мин
Количество просмотров12K
Сразу скажу, что теперь можно одновременно использовать как 32 так и 64 разрядные внешние процедуры, а разобравшись в проблеме конфигурирование выполняется весьма несложно.

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

Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии2

Oracle security policies

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

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

Предположим, что пользователю SCOTT, потребовалось организовать ограничение доступа к данным некоторых таблиц, но критерии, по которым должен предоставляться доступ выглядят так, что требуется производить анализ данных ограничиваемой таблицы. Казалось бы, что может быть проще – поехали.
Читать дальше →
Всего голосов 4: ↑3 и ↓1+2
Комментарии20

Особености использования ролей с аутентификацией в Oracle начиная с 10.2.0.5

Время на прочтение2 мин
Количество просмотров4.4K
Данная заметка навряд ли будет интересна гуру в Оракле, поскольку они скорее всего уже в курсе этой особенности, хотя она и не так хорошо документирована, как хотелось бы. Данная заметка написана на собственном опыте миграции одной системы на более старшую версию и она адресована тем, кто работает с Ораклом не так давно, использует в своем проекте роли с аутентификацией и планирует миграцию своей системы на версии 10.2.0.5, 11.1.0.7 или 11.2.0.х.
Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии6

Часть 2. Как установить Oracle Database 11g Release 2 RAC на Linux используя VirtualBox – поднимаем кластер

Время на прочтение6 мин
Количество просмотров17K
Все идет к тому, что я все таки запущу Oracle Real Application Clusters у себя на ноуте.

Я продолжаю мучатся и ставить на него абсолютно не подъемное Enterprise решение — RAC.
Так же у меня появилось желание проверить отказоустойчивость данного решения под нагрузкой.
После того, как все это заработает конечно…
После окончания установки, я планирую отключить работающий под нагрузкой Oracle node — буду использовать популярный в быту метод «power off».

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

Часть 1 (первый шаг к кластеризации)

Часть 2 перевода, на мой взгляд, уже не чересчур подробной статьи.

Официальный источник: lab128.com
Спасибо автору за проделанную работу.

P.S.Посмотрим, запустится ли все это?
Читать дальше →
Всего голосов 14: ↑4 и ↓10-6
Комментарии10