Стандартные задачи типичного администратора баз данных Oracle

задачи типичного администратора баз данных OracleЯ постоянно наблюдаю грызню администраторов баз данных Oracle (новичков и бывалых) с руководством, программистами, оптимизаторами по поводу того, что должен и что не должен делать админ БД. Админам, естественно, кажется, что на них хотят "повесить всех собак". Программисты, оптимизаторы, аналитики, в свою очередь, не без основания утверждают, что без помощи администраторов баз данных им не обойтись. Где же правда? В данном посте моего блога выскажу точку зрения на вопрос о стандартных (повседневных) задачах типичного администратора БД.

Oracle Многие из повседневных задач администратора баз данных сводятся к отслеживанию проблем. Это может подразумевать как выполнение им специальных сценариев мониторинга, так и использование встроенных средств Oracle вроде Enterprise Manager для наблюдения за тем, что же на самом деле происходит с базой данных.

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

Обычно администратор баз данных должен ежедневное проверять генерируемые его сценариями мониторинга отчеты для получения уверенности в том, что в системе не назревает никаких проблем ни с пространством на дисках, ни с выделением памяти, ни с операциями ввода-вывода. Программа Enterprise Manager является удобным средством для получения быстрого, наглядного представления о различных показателях, наподобие распределения памяти и использования других ресурсов. Сценарии мониторинга, с другой стороны, могут предоставлять суммарную информацию за более длинный период времени, например, они могут предоставлять информацию о состоянии определенных показателей через определенные промежутки за целую ночь.

Еще администратору баз данных стоит регулярно заглядывать в так называемый аварийный журнал (alert log), в котором фиксируется важная информация о происходящих в базах данных Oracle процессах, и проверять, не содержатся ли там сообщения о сгенерированных Oracle ошибках. Администратор может как просматривать этот журнал напрямую, самостоятельно изучая его содержимое, так и создавать специальный сценарий, который будет автоматически анализировать этот журнал и сообщать о любых обнаруживаемых в нем ошибках сразу же после их попадания туда.

При обнаружении в аварийном журнале ошибок, сгенерированных Oracle, администратор баз данных должен предпринимать меры по их устранению. В зависимости от природы ошибки, для ее исправления он может либо изменять какие-нибудь параметры, либо добавлять дополнительное пространство, либо же выполнять другую административную операцию. Если ему неизвестно, как можно устранить проблему, он может выполнять поиск подходящего решения по базе данных MetaLink и затем отправлять новый TAR-запрос сотрудникам команды поддержки Oracle для получения помощи, как можно быстрее.

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

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

Некоторые общие советы администраторам баз данных Oracle

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

Не стесняться обращаться за помощью

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

Админ, помни, что ты не один!

Это не какое-то философское утверждение, а просто напоминание о том, что администратор баз данных является лишь одним из целого ряда людей, отвечающих за поддержку приложений, которые позволяют функционировать базам данных. Обычно администратор баз данных работает в группе, в которую также могут входить и администраторы систем UNIX и Windows, и сетевые администраторы, и эксперты по хранению данных, и разработчики приложений. В одних случаях проблема действительно может относиться к кругу обязанностей администратора баз данных, а в других — нет.

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

Ищите  нестандартные решения

Хорошие администраторы баз данных постоянно ищут пути для улучшения производительности баз данных, особенно когда пользователей не устраивает быстрота получения ответа. Порой настройка параметров инициализации никак не помогает, сколько бы администратор не старался. Из-за этого время от времени администратор баз данных должен задумываться и спрашивать себя о том, не пытается ли он устранить сегодняшние проблемы вчерашними средствами. Нет никакой гарантии, что те вещи, которые когда-то работали хорошо, будут работать так же хорошо и сейчас. Базы данных не статичны: со временем изменяются и хранящиеся в них данных, и ожидания пользователей, и показатели нагрузки и многие другие аспекты. Хороший администратор баз данных никогда не должен сидеть, сложа руки, даже тогда, когда все работает нормально; вместо этого он должен всегда искать новые средства, способные улучшить

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

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

Primum non nocere

Старинное наставление для врачей “primum non nocere” (“прежде всего — не навреди”) также хорошо подходит и для администраторов баз данных при столкновении с базой данных, нуждающейся в восстановлении или выполнении другой критически важной операции.

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

Вас заинтересует / Intresting for you:

Администратор баз данных Oracl...
Администратор баз данных Oracl... 1278 просмотров Игорь Воронов Tue, 21 Nov 2017, 13:28:01
История развития технологий хр...
История развития технологий хр... 1991 просмотров Administrator SU Tue, 21 Nov 2017, 13:27:29
Блоки данных Oracle: размер бл...
Блоки данных Oracle: размер бл... 4910 просмотров Natali Fri, 27 Jul 2018, 06:01:01
Индексы Oracle
Индексы Oracle 15341 просмотров Игорь Воронов Tue, 21 Nov 2017, 13:18:46
Войдите чтобы комментировать

Myk аватар
Myk ответил в теме #9255 14 окт 2018 07:48
Подзапряч Oracle DBA для решения вопросов с базой - это дело святое!)
1dz аватар
1dz ответил в теме #8744 11 окт 2017 05:54
Ага, видела не раз как жестко эксплуатируют администраторов баз данных при внедрении проектов к корпорациях. Нет должной производительности? Админов напряжем. Сервер не выдерживает нагрузки? Админы виноваты. А то, что порой программисты могли коряво написать код, как-то не вспоминается....)))
apv аватар
apv ответил в теме #8138 27 фев 2017 18:55
ага, админов БД часто со служагками путают, а уж обычных сисадминов тем паче! ((((
Костик аватар
Костик ответил в теме #8016 03 фев 2017 08:39
Все верно излагаете, Андерс! Все таки и обстоит... (((
anders7777 аватар
anders7777 ответил в теме #7946 21 янв 2017 08:40
Да, обычно все таки и есть - раз админ базы Oracle, значит должен делать все! ..И железо починять и участвовать в разработке софта и кофЭ начальнику подносить, когда он тебе ..ет Мозк! )))