Как подключиться к базе данных Oracle с помощью SQLcl и SQLPlus, но без файла TNSNames.ORA?

У тебя есть:

  1. база данных Oracle
  2. установка Oracle Client, включая SQL*Plus
  3. информация TNS для #1
  4. НО НЕТ TNSNames.ORA файл или желание создать и поддерживать один

Как вы можете установить соединение SQL*Plus?

4 ответа

sqlplus user/password@(description=(address_list=(address=.......ODS))) 

Текст в () - это информация, которую вы увидите для своей службы в файле TNSNames. Таким образом, вы можете просто использовать запись TNS явно

Обратите внимание, используйте кавычки, если в Unix иначе () интерпретируется оболочкой.

Или вы можете использовать синтаксис EZconnect (мой предпочтительный метод)

sqlplus user/password@//hostname/service_name 

sqlplus user/password@//hostname:port/service_name 

Обратите внимание, что для баз данных с многопользовательской архитектурой Oracle Database 12/18c вы ДОЛЖНЫ использовать /service_name, а не /SID, если вы хотите подключиться к подключаемой базе данных.

Также обратите внимание, что у нас есть 2 интерфейса командной строки.

SQL*Plus и SQLcl.

SQLcl основан на Java и является урезанной версией Oracle SQL Developer. Он поддерживает соединения на основе TNS, а также поддерживает синтаксис EZConnect. Одно существенное преимущество, которое он имеет перед SQL*Plus, заключается в том, что он не требует установки Oracle Client.

На этот вопрос первоначально ответил Том на AskTom.

Я обновил его ответ здесь, чтобы обратиться к Oracle 12c Multitenant и SQLcl.

Предполагая, sqlcl исполняемый файл присутствует в текущем каталоге, вы можете использовать

./sql user/password//host:port/service_name

Если вы не хотите оставлять пароль в истории bash, используйте это:

      # connect
sql user@host:port/database
# will ask password later
# then connect to your database
sql > conn database

Используя tnsnames.ora Это всего лишь один из четырех различных методов именования, см. Параметры для файла sqlnet.ora

Обычно ldap а также nis Подходят, только если у вас есть много баз данных Oracle, работающих в вашем помещении. Другие методы уже предоставлены @thatjeffsmith

Другие вопросы по тегам