28.04.2011 11:34
John Doe
 
Итак, попробую написать минимальный инструктаж для людей с минимальными же знаниями, чтобы проблем с базой данных у них было меньше. Просто набор примитивных процедур.
С самого начала скажу, что несмотря на то, что "работает - не трогай" является моим основополагающим принципом, необходимо обезопасить себя от проблем в будущем. Для этого рекомендую перейти с 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;
вот и все... Спрашивайте, если что-то не понятно...
28.04.2011 11:40
John Doe
 
Да, забыл. Директорию C:\backup хорошо бы ежедневно синхронизировать с какой-то другой директорией. Именно синхронизировать, потому, что копии будут крутиться в цикле...
28.04.2011 13:26
AirAir
 
Цитата:
John Doe Надо отметить, что логи будут копиться, можно их и стирать до потери пульса, но лучше поставить оптимизатор,
Далеко не обязательно ставить оптимизатор чтобы решить эту задачу!!!
28.04.2011 17:10
akonev
 
Цитата:
AirAir Далеко не обязательно ставить оптимизатор чтобы решить эту задачу!!!
оптимизатор ставится не ради только отслеживания архивлогов.

имхо, не стоит грузить эту ветку идеями о том, как еще можно решить ту или иную стандартную задачу.

если уж ее ориентировали на абсолютно деревянных чайников - надо признать, что оптимайзер обязателен.
по большинству вопросов, которые такой чайник задаст, первым ответом (после отсыла к тому, чего "Очень бы хотелось..." baggio) будет совет прогнать оптимайзер.
28.04.2011 22:11
bob
 
Цитата:
Andrew_Konev оптимизатор ставится не ради только отслеживания архивлогов.

имхо, не стоит грузить эту ветку идеями о том, как еще можно решить ту или иную стандартную задачу.

если уж ее ориентировали на абсолютно деревянных чайников - надо признать, что оптимайзер обязателен.
по большинству вопросов, которые такой чайник задаст, первым ответом (после отсыла к тому, чего "Очень бы хотелось..." baggio) будет совет прогнать оптимайзер.
Абсолютным чайникам нельзя рекомендовать оптимайзер. Только "Решение проблем с базой Супермага". Оптимайзером тоже можно много чего наворотить не зная оракла и торговой системы вообще, мне кажется.
29.04.2011 19:33
OlegON
 
На самом деле я старался сделать продукт, который можно запускать без опаски даже полному нулю в Оракле. По умолчанию он никаких зверств не делает, т.е. запустил, он проверит, что не так, добавит места, куда не хватает, сделает бекап, если таковой долго не делался, а база в архивлоге. Я достаточно часто при решении проблем запускаю оптимизатор на базе не глядя и не настраивая, чтобы посмотреть журнал, где будет описано состояние БД. База после этого не падает :) Все параметры по умолчанию в тех значениях, которые позволят мне минимально возиться при подключении клиентов. Как мне кажется, многие из использующих его самостоятельно так и не смогли изменить запись в табличке параметров, из чего делаю вывод, что уровень их знаний минимален. Есть некоторая убежденность, что навредить базе с помощью оптимизатора и без применения собственных рук не получится. Если кто-то из 110 использующих оптимизатор видит такую возможность - прошу указать на нее в оптимизаторной ветке, я закрою.
Резюмирую. Для приведения в нормальное самочувствие БД оптимизатор можно рекомендовать даже чайникам без царя в голове. Если человек способен сделать update table olegon_params, то он еще получит и неплохое средство мониторинга. Понятное дело, что оптимизатор - универсальное средство и все то, что я могу сделать руками, я вложить в него не смогу, но хотя бы какую-то первоначальную шлифовку им можно сделать.
29.09.2014 17:37
alicedr
 
Не совсем понимаю, какое отношение имеет оптимизатор к увеличению доступности базы.
Совсем не понимаю, что делает данный оптимизатор, зачем его запускать каждые полчаса, тем более при максимальной длительности 5 часов.
Подробнее:
1. Абсолютно неизвестно, что он делает: нет ни описания на родном сайте, ни в банальном ридми. По jar-файлу также ничего не понятно, потому что executable редко бывает читабелен, особенно для чайников.
2. Ок, ввиду большого авторитета Олегона в сфере Супермага, убедила себя в безопасности данного скрипта. Меняю run:
Код:
cd C:\install\olegon_optimizer\optimizer4
java -jar optimizer.jar -c=o -b=STEND
где STEND-это алиас бд из tnsnames. Запускаю. Вижу:
Код:
29.09.14 16:06:41 -- Optimizer for Oracle bases console version 4.4
29.09.14 16:06:41 -- C:\install\olegon_optimizer\optimizer4
29.09.14 16:06:41 -- Master server: olegon.no-ip.org
29.09.14 16:06:41 -- DB server: MYCOMP
29.09.14 16:06:41 -- DB name: STEND
Таблички olegon_param, котрую потом надо типо апдейтить, не появилось ни в текущей схеме, ни в схеме supermag.
Вероятно, все-таки нужен пароль.
Цитата:
Если хотите прописывать пароль или еще что-то, то java -jar optimizer.jar -c=h вам в помощь.
Ожидаю, что =h означает help. Вместо этого получаю:
Код:
29.09.14 16:30:17 -- Optimizer for Oracle bases console version 4.4
29.09.14 16:30:17 -- C:\install\olegon_optimizer\optimizer4
29.09.14 16:30:17 -- Master server: olegon.no-ip.org
29.09.14 16:30:17 -- DB server: MYCOMP
29.09.14 16:30:17 -- DB name: OLEGON
Как мне это должно подсказать, как указать логин-пароль?

Я не спорю, у меня сейчас обострение осеннего тупняка, но все же?
29.09.2014 17:56
bayan
 
https://olegon.ru/showthread.php?t=7196
тут просто тонна информации по оптимайзеру. Более того, есть топик с вопросами по нему, будет идеально продолжить общение там.
Часовой пояс GMT +3, время: 11:53.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.