Тнс оракул, что это такое
Обновлено: 21.11.2024
Ответ: Когда администратор базы данных Oracle создает свой файл tnsnames.ora для определения удаленных баз данных, он часто указывает имя хоста внешнего сервера, на котором находится удаленная база данных Oracle. Например, запись в файле tnsnames.ora для удаленной базы данных может выглядеть следующим образом:
berlin =
(ОПИСАНИЕ =
(СПИСОК_АДРЕСОВ =
(АДРЕС =
(СООБЩЕСТВО = TCP)
(ПРОТОКОЛ = TCP)
(ХОСТ = hun)
(PORT = 1521)
)
)
(CONNECT_DATA = (SID = kraut))
)
Здесь мы видим службу TNS с именем berlin, которая определяет подключение к удаленному серверу с именем hun, содержащему базу данных Oracle с именем kraut. Когда с сервера UNIX поступает запрос на удаленное подключение, осуществляется доступ к файлу /etc/host для получения IP-адреса сервера hum.
Из приведенного ниже списка видно, что сервер hun расположен по адресу 192.133.13.12. Таким образом, файл /etc/host используется для изоляции IP-адреса от файла tnsnames.ora. Если IP-адрес когда-либо изменится, системному администратору UNIX нужно изменить IP-адрес только в одном месте.
Подключение UNIX для Oracle
Когда администратор базы данных Oracle создает файл tnsnames.ora для определения удаленных баз данных, он часто указывает имя хоста внешнего сервера, на котором находится удаленная база данных Oracle, вместо адреса TCP/IP. Например, запись в файле tnsnames.ora для удаленной базы данных может выглядеть следующим образом:
kc =
(ОПИСАНИЕ =
(СПИСОК_АДРЕСОВ =
(АДРЕС =
(СООБЩЕСТВО = TCP )
(ПРОТОКОЛ = TCP )
( ХОСТ = ворота)
( ПОРТ = 1521)
)
)
(CONNECT_ DATA = ( SID = bbq))
)
Здесь показано имя службы TNS kc, которое определяет подключение к удаленному серверу с именем gates, который содержит базу данных Oracle с именем bbq. Когда с сервера UNIX делается запрос на удаленное подключение, осуществляется доступ к файлу /etc/hosts для получения IP-адреса сервера gates. Из приведенного ниже списка видно, что сервер gates расположен по адресу 192.133.13.12. Таким образом, файл /etc/hosts используется для изоляции IP-адреса от файла tnsnames.ora. Если IP-адрес когда-либо изменится, системному администратору UNIX нужно изменить IP-адрес только в одном месте.
корень> cat /etc/hosts
Многие команды UNIX, используемые для управления базой данных Oracle, аналогичны, а иногда даже идентичны командам Windows.
Получите полную
информацию о настройке Oracle SQL
Знаменитая книга "Расширенная настройка Oracle SQL. Полное руководство" содержит ценную информацию о настройке Oracle SQL. Эта книга включает сценарии и инструменты для повышения производительности Oracle 11g, и вы можете купить ее со скидкой 30 % непосредственно у издателя.
Бурлесон — американская команда
Примечание. Эта документация по Oracle была создана в качестве справочника по поддержке и обучению Oracle для использования нашими специалистами-консультантами по настройке производительности администраторов баз данных. Не стесняйтесь задавать вопросы на нашем форуме Oracle.
Проверьте опыт! Любой, кто рассматривает возможность использования услуг эксперта службы поддержки Oracle, должен самостоятельно проверить свои полномочия и опыт, а не полагаться на рекламу и самопровозглашенный опыт. Все законные эксперты Oracle публикуют свои квалификации Oracle.
Ошибки? Технология Oracle меняется, и мы стараемся обновлять нашу информацию о поддержке BC Oracle. Если вы обнаружите ошибку или у вас есть предложение по улучшению нашего контента, мы будем признательны за ваш отзыв. Просто электронная почта:
и укажите URL-адрес страницы.
Burleson Consulting
Оракул поддержки баз данных
Привет, я установил oracle 11g... и скачал драйвер ojdbc5.jar..
при использовании этого jar-файла в netbeans для добавления драйвера для подключения к базе данных он запрашивает имя TNS..
может Я знаю, как называется eTNS?
мой домен db [email protected]/1521..
спасибо
суреш
Ответы
Перейдите по этой ссылке. Это будет полезно.
С уважением
Асиф Кабир
Имя Tns — это имя записи в файле tnsnames.ora, который хранится в $ORACLE_HOME/network/admin
Некоторые драйверы JDBC подключаются с помощью строки подключения, некоторые могут использовать имя TNS.
mydb =
(DESCRIPTION =
(АДРЕС = (ПРОТОКОЛ = TCP)(HOST = myserver)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED )
(SERVICE_NAME = mydb)
)
)
имя tns — это имя, которое разрешено для доступа к базе данных:
Например:
myname =
(DESCRIPTION=
(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=linux1)(PORT=1521)))
(CONNECT_DATA=(SERVICE_NAME=mySID ))
)
мое имя разрешается на
- хосте: linux1
- TCP-порте: 1521 (где слушатель прослушивает)
- службе базы данных, которая известна слушателю: mySID
Это простой способ преобразовать имя в экземпляр базы данных Oracle в сети.
Что такое TNS? Это псевдоним.
Подобно тому, как имя хоста является псевдонимом для IP-адреса, TNS является псевдонимом для строки подключения OCI (Oracle Call Interface). Эта строка идентифицирует сервер базы данных и экземпляр базы данных, к которым необходимо подключиться. Он также может включать параметры балансировки нагрузки, запрашивать определенный тип подключения, подключение к определенной службе базы данных и т. д.
Файл +/etc/hosts+ (в Unix) или c:\windows\system32\drivers\etc\hosts (в Windows) используется для хранения списка имен хостов (псевдонимов) для IP-адреса.
Файл TNSNAMES.ORA является важным файлом при работе с Oracle. Узнайте все о том, что это такое, где находится, а также как его создавать и редактировать в этой статье.
В этой статье мы рассмотрим:
- Что такое TNSNAMES.ORA?
- Где находится файл TNSNAMES.ORA?
- В каком порядке Oracle проверяет эти местоположения?
- Расположение TNSNAMES в Unix
- Расположение TNSNAMES в Windows
- Что такое синтаксис?
- Изменение файла TNSNAMES.ORA
- Создание файла TNSNAMES.ORA
- Пример TNSNAMES
- Разработчик SQL и TNSNAMES.ORA
Что такое TNSNAMES.ORA?
TNSNAMES.ORA — это файл конфигурации, который использует база данных Oracle. Он позволяет пользователям и приложениям подключаться к базам данных Oracle, сопоставляя имя подключения со всеми соответствующими данными.
Он написан с использованием особого синтаксиса, о котором я расскажу позже в этой статье. Хорошая новость заключается в том, что его можно редактировать в любом текстовом редакторе.
Файл и эта статья относятся к нескольким различным терминам, таким как имена служб и дескрипторы подключения, о которых я расскажу позже в этой статье.
Где находится файл TNSNAMES.ORA?
Расположение файла TNSNAMES.ORA:
Что это значит?
Ну, $ORACLE_HOME — это переменная среды. Она работает так же, как переменная в языке программирования, но находится в вашей операционной системе.
В данном случае $ORACLE_HOME — это место, где установлена база данных Oracle. Эта переменная среды или путь работает одинаково в операционных системах Unix и Windows.
Итак, как найти значение $ORACLE_HOME? В следующем разделе я покажу вам, как это сделать.
Есть и другие места, в которых может храниться файл TNSNAMES.ORA:
Клиентский компьютер
Папка ORACLE_HOME\network\admin на клиентском компьютере. Файл есть и на сервере, и на клиенте.
Переменная среды TNS_ADMIN
Есть еще одна переменная среды, которая называется TNS_ADMIN. Расположение этой папки также может иметь файл TNSNAMES.
Чтобы найти расположение TNS_ADMIN, выполните те же шаги, что и ниже, чтобы найти ORACLE_HOME, но замените значение TNS_ADMIN.
В каком порядке Oracle проверяет эти расположения?
Поскольку файл TNSNAMES.ORA находится в нескольких местах, они проверяются в определенном порядке:
- Если установлен TNS_ADMIN, то сначала проверяется это расположение. Если файл не найден в этом каталоге, предполагается, что файл не существует. Возможно, вам потребуется создать его.
- В Windows, если переменная среды TNS_ADMIN не задана, реестр проверяет параметр TNS_ADMIN и проверяет этот каталог.
- Если переменная TNS_ADMIN не задана, проверяется каталог ORACLE_HOME\network\admin.
Как найти ORACLE_HOME и местоположение TNSNAMES.ORA в Unix
Чтобы найти местоположение ORACLE_HOME в Unix, вы можете запустить следующие команды:
Или вы можете запустить команду echo
Как найти ORACLE_HOME и местоположение TNSNAMES.ORA в Windows
Чтобы найти местоположение ORACLE_HOME в Windows, мы можем проверить несколько мест.
Сначала мы проверим переменные среды на панели управления. Если его там нет, мы проверим реестр.
Для начала откройте панель управления.
Затем откройте «Система».
Нажмите "Дополнительные параметры системы" слева.
Перейдите на вкладку "Дополнительно" (если она еще не выбрана) и нажмите "Переменные среды" внизу.
Проверьте разделы «Пользовательские переменные» и «Системные переменные» на наличие переменной с именем ORACLE_HOME. Если он отображается, то значением будет ваше местоположение ORACLE_HOME.
Если его нет, значит, вам нужно проверить реестр. Он не отображается в моих переменных среды, поэтому я проверю реестр.
Откройте окно команды «Выполнить» (в более старых версиях Windows) или, если вы используете Windows 10, просто откройте меню «Пуск».
Введите regedit и нажмите Enter.
На левой панели перейдите в это место, развернув папки:
Теперь вам нужно нажать на элемент под Oracle слева. Это может называться KEY_XE (если вы используете Oracle Express, как и я) или KEY_OraDb11g или что-то подобное.
Слева в этом списке будет запись ORACLE_HOME.
Это ваше местоположение ORACLE_HOME. Например:
Чтобы перейти к нему, дважды щелкните строку с надписью ORACLE_HOME.
Скопируйте значение здесь и вставьте его в проводник Windows.
Каков синтаксис файла TNSNAMES.ORA?
Этот файл содержит ряд записей, каждая из которых представляет собой строку подключения к базе данных.
Запись будет выглядеть следующим образом:
Что это значит?
- net_service_name: это имя, которое вы позже будете использовать для строки подключения. Вы можете выбрать, что это такое. Это похоже на имя, которое вы даете этому набору сведений о соединении.
- хост: IP-адрес или имя сервера, на котором находится база данных или к которому вы хотите подключиться.
- порт: порт, необходимый для подключения. В большинстве случаев подойдет порт 1521 по умолчанию.
- service_name: это имя базы данных, к которой вы хотите подключиться.
А как насчет SID? Параметр SID использовался в более ранних версиях Oracle в этом файле (Oracle 8 и более ранние версии). Вместо этого следует использовать параметр service_name.
Как изменить файл TNSNAMES.ORA?
Вы можете изменить файл в простом текстовом редакторе. Вы можете изменить существующую запись или создать новую.
Чтобы добавить запись в файл, вы можете либо скопировать формат, указанный выше, либо скопировать и вставить существующую запись из файла.
Затем внесите необходимые изменения.
Измените net_service_name или имя, которое вы хотите присвоить соединению. Измените хост на имя сервера или IP-адрес, к которому вы хотите подключиться. Наконец, измените имя_службы на имя базы данных, к которой вы хотите подключиться.
Сохраните файл, и ваши изменения будут сохранены.
Как создать файл TNSNAMES.ORA?
Если у вас нет файла TNSNAMES.ORA в каталоге ORACLE_HOME, вы можете создать его. Или вы можете создать его по любой другой причине.
Чтобы создать файл, откройте новый текстовый файл в любом редакторе (я использую Notepad++).
Сохраните файл с именем TNSNAMES.ORA (не файл .txt) и сохраните его в папке ORACLE_HOME.
Теперь добавьте шаблон для записи, которую вы хотите создать:
Затем измените параметры на те, которые вам нужны для подключения к базе данных:
- net_service_name: имя, которое вы даете этому соединению, которое будет использоваться при подключении к нему позже.
- хост: сервер или IP-адрес, на котором работает база данных
- service_name: имя базы данных, к которой вы подключаетесь.
См. пример ниже.
Пример записи TNSNAMES.ORA
Вот пример записи в этом файле:
Использует ли SQL Developer TNSNAMES.ORA?
Да, это так. В SQL Developer вы можете указать местоположение вашего TNSNAMES.ORA, который предоставит вам дополнительные параметры при создании соединений с базой данных.
В SQL Developer откройте Инструменты > Настройки.
Разверните раздел "База данных" и нажмите "Дополнительно".
В параметре «Каталог Tnsnames» в нижней части экрана укажите расположение файла TNSNAMES.ORA. Как упоминалось ранее, это будет ORACLE_HOME\network\admin.
Теперь при создании нового подключения вы можете использовать эти данные TNSNAMES.
Нажмите «Создать новое подключение» (зеленый значок + в левом верхнем углу SQL Developer).
В раскрывающемся списке "Тип подключения" выберите TNS.
Выбор TNS позволит вам выбрать данные подключения из файла TNSNAMES. Это упрощает управление.
Джефф Смит подробно описал, как SQL Developer находит эти файлы, в этой статье.
Заключение
Файл TNSNAMES.ORA используется Oracle для хранения и настройки сведений о подключении к различным базам данных. Его может быть трудно найти, но с помощью этого руководства это сделать проще. Вносить изменения легко, так как это простой текстовый файл определенного формата. Возможно, это не то, что разработчику базы данных придется использовать так часто, но все же полезно знать об этом.
Наконец, если вам понравилась информация и советы по карьере, которые я предоставляю, подпишитесь на мою рассылку ниже, чтобы быть в курсе моих статей. Вы также получите фантастический бонус. Спасибо!
Oracle TNS всегда был очень запутанной темой, особенно для новичков. Поэтому я решил раз и навсегда ответить на все ваши вопросы об Oracle TNS. И я уверяю вас, что это руководство станет вашим универсальным руководством по Oracle TNS
Что такое TNS?
TNS — прозрачная сетевая подложка. Это собственная сетевая технология Oracle. И используется для установления одноранговой связи между Сервером и Клиентом.
Что такое файл tnsnames.ora?
tnsnames.ora — это файл конфигурации сети на стороне клиента. Более того, в серверно-клиентской среде файл tnsnames.ora размещается на клиентской машине.
Какое расположение файла tnsnames.ora?
Файл tnsnames.ora создается во время установки универсальным установщиком Oracle (OUI). По умолчанию он размещается в каталоге %Oracle_Home%/network/admin в системе Linux/Unix и в каталоге %Oracle_Home%\network\admin в операционной системе Windows.
Информационный байт.
Если вы не знаете, где находится ваш %Oracle_Home%, просто вставьте следующую команду в командную строку. Он покажет вам расположение вашего домашнего каталога Oracle.РЕГ-ЗАПРОС HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDB19Home1 /v ORACLE_HOME
Что содержит файл tnsnames.ora?
Файл tnsnames.ora содержит все имена, указывающие на соответствующий дескриптор соединения. Эти имена называются локальными методами именования.
Что такое дескриптор подключения?
Дескриптор подключения, также известный как запись tns, представляет собой специально отформатированное описание пункта назначения (сервер базы данных Oracle) для сетевого подключения. Кроме того, он содержит имя службы базы данных, к которой вы хотите подключиться, а также ее сетевой адрес.
Это специально отформатированное описание выглядит примерно так:
Как видите, дескриптор соединения состоит из двух основных частей —
Позже в этом руководстве я покажу вам, как узнать всю эту информацию вместе с названием службы. Так что расслабьтесь и не волнуйтесь.
Что такое адрес протокола в дескрипторе соединения?
Если вы внимательно прочитали дескриптор подключения на картинке выше, то наверняка наткнулись на раздел с названием: «адрес» —
Этот раздел адреса в дескрипторе соединения называется адресом протокола. Кроме того, этот раздел состоит в основном из трех параметров —
- ПРОТОКОЛ. Сетевой протокол, который слушатель использует для связи с клиентом.
- HOST: этот параметр содержит имя или IP-адрес компьютера/сервера, на котором вы установили и настроили Oracle Database Server.
- ПОРТ: номер порта, который ваш сервер Oracle использует для установления связи между клиентом и сервером. По умолчанию Oracle Server использует номер порта 1521.
Что такое connect_data в дескрипторе подключения?
Connect_Data — это вторая часть файла tnsnames.ora. Кроме того, в этом разделе tnsnames.ora указывается имя целевой службы/базы данных, к которой клиент хочет подключиться.
Хотя в connect_data можно использовать несколько параметров, по умолчанию используются только два параметра. А это —
Сервер: этот параметр используется для указания слушателю подключить клиента к обработчику службы определенного типа. Следовательно, для этого параметра есть значения —
Выделенный: это значение указывает, что клиентский запрос будет обслуживаться выделенным сервером
Общий: указывает, что клиентский запрос будет обслуживаться общим сервером.
Кроме того, другие параметры дескриптора подключения можно найти в этом документе Oracle Doc.
Что такое услуга?
Вам должно быть интересно, что это за имя_службы в дескрипторе подключения, о котором я постоянно упоминаю.
Имя службы — это логическое представление базы данных. База данных представляется клиентам как услуга.
Более того, база данных и соответствующий сервис почти всегда имеют одно и то же имя. Однако это всего лишь тактика, принятая Оракулом, чтобы уменьшить путаницу.
Кроме того, рекомендуется назвать вашу сетевую службу именем службы, для которой вы создаете запись TNS. Но это не обязательно.
Фиктивный дескриптор соединения файла tnsnames.ora
Запись tns по умолчанию будет выглядеть примерно так:
Итак, это запись по умолчанию, созданная OUI во время установки службы ORCL.
Как создать службу TNS в файле tnsnames.ora?
Существует два способа создания службы TNS в файле tnsnames.ora:
- Вручную и
- С помощью «Помощник по настройке Oracle Net»
Кроме того, создание службы TNS с использованием обоих вышеупомянутых способов довольно просто. Но всегда рекомендуется использовать «Oracle Net Configuration Assistant».
Что такое Ассистент настройки Oracle Net?
Oracle Net Configuration Assistant – это инструмент настройки сети на основе мастера, который поставляется в комплекте с программным обеспечением Oracle Database.
Следовательно, это рекомендуемый инструмент для добавления, удаления, переименования или перенастройки службы TNS в базе данных Oracle.
Как создать службу TNS с помощью Oracle Net Configuration Assistant?
Я собрал информационный PDF-файл, посвященный созданию службы TNS с помощью Oracle Net Configuration Assistant. Который можно скачать отсюда
Я надеюсь, что этот блог ответит на все ваши вопросы об Oracle TNS. Кроме того, проверьте соответствующие ссылки для полного ноу-хау. Вы даже можете лайкнуть мою страницу в Facebook и связаться со мной, чтобы получить более общую информацию по теме. Спасибо и хорошего дня!
Читайте также: