Итак, попробую написать минимальный инструктаж для людей с минимальными же знаниями, чтобы проблем с базой данных у них было меньше. Просто набор примитивных процедур.
С самого начала скажу, что несмотря на то, что "работает - не трогай" является моим основополагающим принципом, необходимо обезопасить себя от проблем в будущем. Для этого рекомендую перейти с 8i и 9i на 10.2.0.4 (подчеркну, не .5 и не 11 в настоящий момент). Можно расписывать преимущества во возможностях работы и восстановления достаточно долго, но предлагаю воспринять это как данность. Процедура перехода была неоднократно разжевана на форуме и мне добавить больше нечего.
Далее, все уважающие себя БД (нетестовые и непробные) работают в режиме archivelog. В этом режиме в разы возрастают возможности БД по восстановлению в случае, например, сбоя по питанию, т.е. случаев резкого полета БД вниз. Более того, в этом режиме можно делать на горячую резервную копию БД, что позволяет не стопить почтовик и вообще использовать БД значительно большую часть времени. Что нужно сделать, для того, чтобы включить этот замечательный режим? Все просто. Для начала выбираем место, где будут храниться логи. Какие-то особые требования по производительности не предъявляются, но лучше, если это будет не диск, где лежит БД. Например, это будет системный диск, если уж все бедно. Допустим, создадим каталог, C:\backup... Теперь включим режим архивлога:
Цитата: cmd
set ORACLE_SID=имя базы
sqlplus / as sysdba
shutdown immediate
startup mount
alter database archivelog;
alter database open;
alter system set db_recovery_file_dest='C:\backup';
нюансы могут быть разные, например, во второй строке ругнется на отсутствие прав. В этом случае найдите sqlnet.ora и убедитесь, что строка с NTS раскомментирована, а сами вы находитесь в группе ora_dba (виндовой группе). В последней строке, вместо C:\backup можно вписать любую другую директорию, куда планируется складывать логи.
Надо отметить, что логи будут копиться, можно их и стирать до потери пульса, но лучше поставить оптимизатор, который во-первых, будет делать резервные копии в выбранную директорию, во-вторых, будет следить за происходящим в БД и ругаться в джаббер или на почту, что очень облегчает жизнь сисадмину.
Ставится он за пять минут. Для начала пробуем с сервера
Цитата: telnet optimizer.olegon.ru 7654
телнет должен подлючиться без ошибок, а потом, после нескольких Enter выдать достаточно длинную строку цифр. Если это не так, значит у вас какие-то проблемы с сетью. Если все нормально, то сначала качаем Java отсюда Java (там один exe, который нужно запустить и сказать "Далее"), потом качаем сам оптимизатор отсюда:
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 21 сообщение(ий)): У вас нет прав чтобы видеть скрытый текст, содержащийся здесь. |
. Распаковываем его в C:\, получается директория C:\optimizer4. Заходим внутрь, находим файлик run.cmd и открываем его в блокноте. Вместо записи
Цитата: java -jar optimizer.jar -c=h exit
пишем другое
Цитата: C:\
cd C:\optimizer4
java -jar optimizer.jar -c=o -b=ИМЯ_БАЗЫ
exit
вместо прописанных директорий можете вписать свои, но не вижу смысла что-то менять. Если хотите прописывать пароль или еще что-то, то java -jar optimizer.jar -c=h вам в помощь.
Теперь этот run.cmd прописываем в назначенные задания. Для этого открываем эти самые Назначенные задания (из контрольной панели), перетаскиваем run.cmd внутрь, правой кнопкой вызываем свойства и прописываем запуск от какого-то пользователя и интервал с 00:03, раз в 30 минут, в течение 24 часов и если прибивать, если больше 5 часов работает.
Чтобы получить обратную связь необходимо подключиться к базе (как указано выше, где архивлог включали) и выполнить:
Цитата: update olegon_params set Value='ваш@емейл' where name='AdminEmail';
commit;
вот и все... Спрашивайте, если что-то не понятно...