DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Проблемы, связанные с ручным конфигурированием

Итак, чему вас научил этот пример? Прежде всего, вы узнали, что означают два сообщения об ошибках Net8 и как решать проблемы, на которые они указывают. Вы также узнали, что после устранения одной проблемы может появиться другая. Это очень распространенная ситуация. Однако я чувствую, что у вас в голове вертится вопрос: как я определила, где искать возможные причины? На вашем месте я бы обязательно этим заинтересовалась.
Для быстрого решения проблем с Net8 нужно, с одной стороны, понимать, какие компоненты должны присутствовать на своих местах для успешного запуска прослушивающего процесса, а с другой стороны —иметь достаточный опыт решения этих самых проблем, чтобы чувствовать, где искать причины. Лично мне свойственно повторять одни и те же ошибки снова и снова. Спустя некоторое время я уже знаю, на что следует обратить внимание в первую очередь. Иногда направление поиска подсказывают сами сообщения об ошибках, как это было в рассмотренном выше примере. Однако, как я уже говорила, иногда эти сообщения могут дезориентировать.
Теперь допустим, что вы решили не использовать Net8 Assistant для конфигурирования прослушивающего процесса и имен сетевых служб. Хотя Net8 Assistant — замечательный инструмент, он может оказаться недоступен по тем или иным причинам. В этом случае вы можете сделать копию образцового файла listener.ora (или tnsnames.ora) и модифицировать ее так, чтобы создать основной прослушивающий процесс (или необходимые имена служб). Образцовые файлы рассматривались в главе 3. Вы можете найти их в каталоге $ORACLE_HOME/network/admin /samples (система UNIX) или ORACLE_HOME\ network\admhi\samples (система Windows NT).
При ручном конфигурировании прослушивающего процесса я часто делаю следующую ошибку: указываю один номер порта (например, в файле listener.ora, а потом        какой номер был использован, и указываю в файле tnsnames.ora другой порт (например, 1526). Хотя один процесс вполне может прослушивать несколько портов, два разных процесса не могут разделять один и тот же порт. Если вы используете более одного прослушивающего процесса, будьте очень аккуратны при назначении портов.
Другой проблемой, которую зачастую трудно выявить, являются непарные скобки. Если вы вернетесь к главе 3, то увидите, что каждая запись файла содержит много открывающих и закрывающих скобок. Следить за тем, чтобы каждая открывающая скобка имела парную ей закрывающую, довольно утомительно. При подсчете скобок я поступаю так: поднимаю один палец для каждой открывающей скобки и опускаю один из поднятых пальцев, когда встречаю закрывающую скобку. Сколько пальцев останется поднято, когда я достигну последней закрывающей скобки, столько скобок пропущено. Другой способ — выделять каждую пару скобок отступом, чтобы было легче увидеть, где не хватает закрывающей скобки. Ниже приведен пример файла listener.ora. Попробуйте определить, есть ли там непарные скобки.
Третья проблема, с которой я периодически встречаюсь,— неправильное конфигурирование базового сетевого протокола, используемого Net8. Эта проблема тесно связана с конкретными сетевыми продуктами, и ее рассмотрение выходит за рамки данной главы.
Теперь поговорим о расположении файлов конфигурации Net8. На! помню, что для нормального функционирования Net8 требуются файлы listener.ora, tnsnames.ora и sqlnet.ora. Когда вы пытаетесь соединиться с экземпляром, Net8 ищет их в определенном порядке, начиная с рабочего каталога, откуда было запущено приложение. Так, если ваше приложение запущено из каталога D:\Ora81\Oracle\MyApps\, то Net8 начнет поиск файлов конфигурации с этого каталога. Если они там отсутствуют, то следующим будет просмотрен каталог, указанный в переменной среды TNS_ADMIN. Если вы не можете найти определение этой переменной в своей системе Windows NT, посмотрите в реестре. Не исключено, что в вашей системе эта переменная вообще отсутствует.
При отсутствии переменной TNS ADMIN проверяется каталог $ORACLE_HOME/network/admin/ (в UNIX) или ORACLE НОМЕ \network\admin (в Windows NT). Чтобы проверить, правильно ли установлена переменная ORACLE_HOME, в UNIX можно использовать команду env | grep ORACLEJHOME, а в Windows NT просмотреть реестр.
Если вы определите переменную TNS_ADMIN в реестре, то все компоненты Oracle и Net8 будут использовать только один файл tnsnames.ora. Это значительно упрощает обновление Net8.
Пожалуйста, не редактируйте реестр, если вы не знакомы с тем, как это делается. Любая ошибка может нарушить работу операционной системы. Обязательно сделайте резервную копию реестра перед выполнением описанных ниже действий. Сделав эти предупреждения, привожу инструкцию по созданию переменной TNS_ADMIN в реестре.
Чтобы создать запись в реестре Windows NT, необходимо воспользоваться программой regedt32. Для ее запуска можно выбрать пункт меню Start ** Run и ввести команду regedt32 в строке Open.
После входа в редактор реестра выберите 3anHCbHKEY_LOCAL_ MACHINE и дважды щелкните на разделе SOFTWARE. (Обратите внимание на маленький знак плюса (+) на изображении папки. Дважды щелкнув левой кнопкой мыши, вы увидите в правой панели список программ, установленных на машине.)
•3. Дважды щелкните на разделе ORACLE. В нем вы найдете один или несколько разделов с именами НОМЕО, НОМЕ1 и т.д. НОМЕО относится к первому установленному продукту, НОМЕ1 — ко второму и т.д. Вам нужно добавить параметр TNS_ADMIN во все эти разделы. Если у вас установлена версия 8.1.5, необходимо также добавить параметры LOCAL в каждый из разделов, за исключением того, который относится к самой базе данных.
4. Щелкните на НОМЕх (например, НОМЕО).
Раскройте меню Edit в верхней части окна.
Выберите пункт Add Value (Добавить параметр) и введите в появившемся окне следующее: Value Name: TNS_ADMIN, Data Type: REG_SZ. После щелчка на кнопке OK откроется окно редактора строк (String Editor). Введите в поле String путь к каталогу, в котором находятся ваши файлы listener.ora и tnsnames.ora (например, D:\Oracle\ora81\network\admin).
Если у вас установлена версия раскройте меню Edit еще раз.
Выберите пункт Add Value и введите в появившемся окне следующие значения: Value Name: LOCAL, Data Type: REG_SZ. После щелчка на кнопке OK откроется окно редактора строк (String Editor). Введите в поле String псевдоним для базы данных 8.1.5 (например, DB815).
9.        Повторите шаги с 4-го по 8-й для каждого НОМЕх.
10. Выйдите из редактора реестра.
Руководство по диагностике наиболее распространенных ошибок
В этом разделе мы рассмотрим некоторые сообщения об ошибках, которые наиболее часто встречаются при работе с Net8. Они перечислены в таблице 14.2. Непосредственно под текстами сообщений я указала возможные причины их выдачи.
Теперь разберем эти ошибки более подробно. Вы получите достаточно информации, позволяющей хотя бы в общих чертах понять, в чем дело, и советы, с каких действий можно начать разрешение проблемы.
 









jAntivirus