Pull to refresh
5
0
Женя @zhekappp

oracle dba

Send message
На OSS есть супер-полезный документ руководство по такого рода миграциям:
V4 Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup (Doc ID 2471245.1)
Надеюсь, что из него было взято все самое полезное.
>А вот с дублированием системы хранения все не так просто. Самый простой вариант – это репликация данных с основной СХД на резервную. Синхронная или асинхронная, в зависимости от возможностей СХД.

Самый простой вариант — это Oracle DataGuard, то есть Standby :)

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

Эти задачи в автоматическом режиме решают такие продукты, например, как IBM PowerHA или HP ServiceGuard.
Спасибо за перевод!

>Поскольку Oracle Enterprise Edition включает лицензию диагностического пакета

Не включает, а позволяет использовать, но за это надо платить отдельно :)
очевидно, что тут речь идет о типовых значениях, если говорится о 100 iops на HDD
1 ssd это не 1000-5000, а порядка 50000 iops
вот бы специалистам Oracle Support такую квалификацию, как у автора…

Что значит "запрещенные" хинты, кто их успел запретить? :)

Я бы еще добавил, что дело может быть даже не в плане, а в версии oracle.
недавно столкнулись, что выборка
select * from (
select * from ...
order by ...
)
where rownum<10;

на 12.1 стала иногда выдавать результаты не в порядку внутреннего order by, хотя план запроса не не изменился.
Пришлось добавлять внешний order by.
Т.е., теоретичски, не должно быть ошибок и rollback, а просто будем дольше ждать в этом сценарии?
Надо будет в oracle попробовать. Для read comitted там все также будет, а, вот, для serializable — не уверен.
На мой взгляд в таком тесте, когда только 4 ядра и все в памяти не желательно иметь более 2-3-х работающих сессий к БД.
Иначе, получается, что большая часть ожиданий будет не cpu, а wait for cpu — повылазят различные mutex, cursor pin и т.п.
Отсюда может быть и небольшая разница в результатах, так как основное время ушло на не связанные с логикой обработки запросов ожидания.
Все логично, но как только появляется больше одного экземпляра, то про ACID можно сразу забыть.
С биллингом попроще в силу того, что если даже база недоступна, то коммутационное оборудование все равно генерит записи и они рано или поздно все равно доедут до базы. Небольшой уход в минус для абонентов вполне допустим.
В момент набора номера в базу вообще ничего не пишется, приложение по номеру примерно оценивает тариф (по закешированной в приложении информации об абоненте и тарифах) и выдает прикидку на коммутатор об оценочной максимальной продолжительности вызова. По окончании разговора, да — идет вставка записи в БД, и, чуть позже, обновление баланса.
Вот, платежи, должны быть закоммичены в момент, когда осуществляются. Но для этого можно использовать отдельную небольшую БД, а затем уже с небольшой задержкой обновлять баланс в биллинге — как это обычно и происходит.
Я не очень понял термин «сырые данные».

По сути в силу необходимости ACID — да, когда вы расплатились в картой в магазине, то oracle выполнил 3-4 commit в redo.
1. Так я такого не предлагал. Это Вы считаете, что можно поставить две разные технологии в заведомо неравные условия и на основе этого делать какие-то выводы :) Я-то понимаю, что RDBMS — да, очень хреновенько масштабируется. Вот отсюда и надо расписывать преимущества NoSQL, не забывая и минусы. А не с точки зрения работы с дисками или тем, что LMS всегда лучше B-деревьев.

2. Фух, ура, у меня еще пока есть шанс не остаться безработным.

3. Т.е слова «папик, у которого нет достижений» не стоит расценивать, как наивную попытку менять задеть? :)
1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity