Тюнинг для Оракула Андрей Сидоренко Спецвыпуск: Хакер, номер #052, стр. 052-046-3 Однако такой вид представления информации о состоянии БД хоть и нагляден, но не всегда обеспечивает желаемую гибкость. Он достаточно ресурсоемкий и не очень-то подходит для одновременного контроля нескольких систем: слишком много избыточной информации демонстрируется на дисплее. Намного проще отслеживать процессы, происходящие на сервере, с использованием логов и просто маленьких командных утилит. Один из лог-файлов, интересных для тебя, расположен в каталоге $ORACLE_HOME/admin/$ORACLE_SID/bdump, где $ORACLE_HOME и $ORACLE_SID. Это переменные окружения, указывающие на каталог установки Oracle и уникальное имя (SID) базы данных. Лог, в котором отмечаются действия при старте, работе и остановке, имеет имя alert_$ORACLE_SID.log. Для контроля за базой данных достаточно запустить простой скрипт, который будет выводить на консоль последние 10-20 строчек этого лога, искать в них сообщения об ошибках, чтобы те всегда были "под рукой". #!/bin/sh while [ 1 == 1 ]; do clear tail -n 20 $ORACLE_HOME/admin/$ORACLE_SID/bdump/alert_$ORACLE_SID.log | grep -i error sleep 10 done Охраняем границы. Безопасность Любой производитель программного обеспечения заботится о безопасности и защищенности данных, доверенных ему пользователями. Безусловно, и Oracle не является исключением, предлагая СУБД, оснащенную всевозможными системами противодействия взлому. Криптография, работа по защищенным каналам обмена информацией, разграничение доступа к информации на уровнях групп, ролей, пользователей и даже доступ к отдельным строкам таблиц может быть под контролем. Для того чтобы минимизировать потенциальный ущерб от несанкционированного доступа к личным данным, весьма желательно усилить защиту и запретить доступ к базе данных тому, кому ты не доверяешь. Наиболее простым, но, тем не менее, весьма действенным методом является ограничение адресов компьютеров, с которых возможен коннект к базе данных. Сведения о доверенных хостах содержатся в файле $ORACLE_HOME/network/admin/sqlnet.ora - в простом текстовом конфигурационном файле. Для примера ограничим доступ к базе данных со всех компьютеров, кроме того, на котором установлена база данных: TCP.VALIDNODE_CHECKING = YES TCP.INVITED_NODES= (localhost, 127.0.0.1) Параметр TCP.VALIDNODE_CHECKING разрешает проверки на разрешение/запрещение коннекта к базе, а TCP.INVITED_NODES указывает на список адресов или доменов, которым доступны операции с Oracle. Вместо такой политики ограничения доступа можно применить другую, а именно указать список адресов, которым запрещено работать с базой данных: TCP.VALIDNODE_CHECKING = YES TCP.EXCLUDED_NODES= (some.evil.host.com, onemore.bad.com) В случае если пользователь с ненужного хоста или домена попробует соединиться с базой данных, он получит лишь такой ответ: |