SQL Plus: Создание и выполнение сценариев - Подключение к стандартной и удаленной базе данных в SQL*Plus

ОГЛАВЛЕНИЕ

Подключение к стандартной и удаленной базе данных в SQL*Plus

Для доступа к данным необходимо сначала подключиться к базе данных. При запуске SQL*Plus обычно происходит подключение к стандартной базе данных с указанным именем пользователя и паролем. После запуска и успешной регистрации можно в любой момент подключиться к схеме другого пользователя или к другой базе данных. Для этого используется команда CONNECT.

Стандартная база данных конфигурируется на уровне операционной системы, путем установки переменной среды или редактирования файла конфигурации Oracle.

Использование команды CONNECT

Команда CONNECT имеет следующий синтаксис:

<команда CONNECT> ::=
CONN[ECT] [<пользователь и база данных>] [AS <роль пользователя>]

Информация о пользователе и базе данных, к которым необходимо подключиться, вводится в том же формате, что и при запуске (см. синтаксис вызова утилиты SQL*Plus выше). При подключении, как и при запуске, можно указать роль пользователя, от имени которого оно выполняется.

Если пароль пользователя устарел, при подключении придется ввести новый пароль. Если же учетная запись заблокирована, то выдается сообщение об этом и подключение не происходит, пока администратор не разблокирует учетную запись.

В случае если подключение по любой причине не удалось, вы остаетесь отключенными от базы данных, о чем будет сообщено. Можно также явно отключиться от схемы текущего пользователя с помощью команды DISCONNECT.

Базы данных на других компьютерах или просто отличающиеся от стандартной называются удаленными . К удаленной базе данных можно подключиться, если для нее сконфигурированы сетевые службы Oracle Net и драйверы сетевых служб удаленной базы данных и локального клиента SQL*Plus совместимы.

Формат строки связи для удаленной базы данных

К удаленной базе данных можно подключиться двумя способами:

  • из SQL*Plus с помощью команды CONNECT;
  • при запуске SQL*Plus с помощью опций командной строки.

В обоих случаях необходимо указать строку связи , задающую сетевую службу, к которой необходимо подключиться. Формат строки связи зависит от версии сетевых служб Oracle на машине, с которой выполняется подключение. При использовании Net8 обычно строка связи соответствует имени сетевой службы из файла tnsnames.ora, находящегося (в версиях 8.1.x и выше) в каталоге $ORACLE_HOME/network/admin/.

Пусть в файле tnsnames.ora имеется следующая запись для сетевой службы Oracle:

TRAINING =   (DESCRIPTION =     (ADDRESS_LIST =       (ADDRESS = (PROTOCOL = TCP)(HOST = creator)(PORT = 1521))     )     (CONNECT_DATA =       (SERVICE_NAME = training)     )   ) 

Тогда для подключения к соответствующей базе данных при запуске SQL*Plus необходимо ввести, например, следующую команду в окне командной строки операционной системы:

sqlplus scott/tiger@training 

Для подключения к соответствующей базе данных из SQL*Plus необходимо выполнить команду вида:

CONNECT scott/tiger@training