Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Вход в SQLPlus  [new]
verter
Member

Откуда: Санкт-Петербург
Сообщений: 1060
Извините за очень глупый вопрос.

Когда я запускаю консоль SQLPlus, то первое что она предлагает мне сделать это ввести логин и пароль.

Enter user-name:
Enter password:

У меня на сервере Oracle имеется несколько баз, в каждой из которых определёны несколько пользователей и некоторые из них в разных базах с одинаковым именем, но разными паролями, да и для системных пользователей sys и system в каждой из баз разные пароли. Логин и пароль какого пользователя и из какой базы мне нужно вводить при входе в SQLPlus?

Потом то понятно, я соединяюсь с конкретной базой командой:

connect sys/пароль@имя_базы as sysdba

К сообщению приложен файл. Размер - 37Kb
2 май 21, 14:21    [22317464]     Ответить | Цитировать Сообщить модератору
 Re: Вход в SQLPlus  [new]
Vadim Lejnin
Member

Откуда:
Сообщений: 7253
verter,

Вход без подключения:

$ sqlplus /nolog

SQL*Plus: Release 12.1.0.2.0 Production on Sun May 2 15:05:08 2021

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

SQL> 


Добавьте этот параметр в ярлык SQL*PLUS
2 май 21, 15:07    [22317488]     Ответить | Цитировать Сообщить модератору
 Re: Вход в SQLPlus  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18549
Ты ведь можешь на запрос имени стразу вводить и tns-alias
Enter username: sys@base1
Enter password: syspassword as sysdba
Естественно, as sysdba, нужен только в определенных случаях
2 май 21, 15:11    [22317493]     Ответить | Цитировать Сообщить модератору
 Re: Вход в SQLPlus  [new]
Vadim Lejnin
Member

Откуда:
Сообщений: 7253
Пардон
Vadim Lejnin
verter,

Вход Запуск sqlplus без подключения:
...
2 май 21, 15:13    [22317495]     Ответить | Цитировать Сообщить модератору
 Re: Вход в SQLPlus  [new]
verter
Member

Откуда: Санкт-Петербург
Сообщений: 1060
Вячеслав Любомудров
Ты ведь можешь на запрос имени стразу вводить и tns-alias
Enter username: sys@base1
Enter password: syspassword as sysdba
Естественно, as sysdba, нужен только в определенных случаях


Тут вы понятно и конкретно указываете логин пользователя и имя базы, из которой этот пользователь, но меня смутило то, что как у меня на скриншоте - я указывал просто имя пользователя (он у меня в нескольких базах называется bes), т.е. не уточняя из какой базы этот пользователь. Потом указывал пароль и соединение происходило. Хорошо когда пароли для пользователей с одинаковым имененем в разных базах разные, а когда одинаковые? То тогда к какой из баз подсоединиться SQLPlus? К первой попавшейся в которой найдёт сочетание такого имени пользователя и пароля?
2 май 21, 15:16    [22317497]     Ответить | Цитировать Сообщить модератору
 Re: Вход в SQLPlus  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53140

verter
То тогда к какой из баз подсоединиться SQLPlus?

Это точно не написано в документации к нему?.. (Намёк.)

Posted via ActualForum NNTP Server 1.5

2 май 21, 15:23    [22317501]     Ответить | Цитировать Сообщить модератору
 Re: Вход в SQLPlus  [new]
ma1tus
Member

Откуда:
Сообщений: 784
verter,

может, что-то из того?
или просто набор %oracle_sid%.bat, где-нибудь...
2 май 21, 15:37    [22317511]     Ответить | Цитировать Сообщить модератору
 Re: Вход в SQLPlus  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18549
Если речь про дефолтовую службу при подключении
ДЛя винды это переменная LOCAL=tns-alias
Для Юниксов TWO_TASK=tns-alias
2 май 21, 17:31    [22317560]     Ответить | Цитировать Сообщить модератору
 Re: Вход в SQLPlus  [new]
Elic
Member

Откуда:
Сообщений: 30166
Вячеслав Любомудров
Если речь про дефолтовую службу при подключении
ДЛя винды это переменная LOCAL=tns-alias
Для Юниксов TWO_TASK=tns-alias
А как же ORACLE_SID?
2 май 21, 17:44    [22317561]     Ответить | Цитировать Сообщить модератору
 Re: Вход в SQLPlus  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18549
ORACLE_SID работает при подключении через аутентификацию OS: connect /
А LOCAL/TWO_TASK определяет дефолтовый tns-алиас/строку соединения
3 май 21, 12:50    [22317749]     Ответить | Цитировать Сообщить модератору
 Re: Вход в SQLPlus  [new]
Elic
Member

Откуда:
Сообщений: 30166
Вячеслав Любомудров
ORACLE_SID работает при подключении через аутентификацию OS: connect /
А LOCAL/TWO_TASK определяет дефолтовый tns-алиас/строку соединения
Я так и не понял, ты отвергаешь возможность, что он мог подключится за счёт ORACLE_SID (который в винде всегда выставляется)?
3 май 21, 12:54    [22317752]     Ответить | Цитировать Сообщить модератору
 Re: Вход в SQLPlus  [new]
verter
Member

Откуда: Санкт-Петербург
Сообщений: 1060
Всё делалось под виндой.
3 май 21, 13:08    [22317758]     Ответить | Цитировать Сообщить модератору
 Re: Вход в SQLPlus  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18549
Что значит всегда выставляется?
Надо просто различать, что ORACLE_SID используется для локального подключения используя аутентификацию OS минуя листенер
LOCAL/TWO_TASK -- это через листенер
3 май 21, 13:09    [22317759]     Ответить | Цитировать Сообщить модератору
 Re: Вход в SQLPlus  [new]
Elic
Member

Откуда:
Сообщений: 30166
Вячеслав Любомудров
Что значит всегда выставляется?
Если БД создавалась, то ORACLE_SID в этом HOME будет выставлен.
Вячеслав Любомудров
Надо просто различать
Он понять хочет, а не различать.
3 май 21, 14:26    [22317813]     Ответить | Цитировать Сообщить модератору
 Re: Вход в SQLPlus  [new]
verter
Member

Откуда: Санкт-Петербург
Сообщений: 1060
Вячеслав Любомудров
Если речь про дефолтовую службу при подключении
ДЛя винды это переменная LOCAL=tns-alias


А где эту переменную в винде можно посмотреть? В Переменных среды такой нет.
7 май 21, 11:59    [22319470]     Ответить | Цитировать Сообщить модератору
 Re: Вход в SQLPlus  [new]
verter
Member

Откуда: Санкт-Петербург
Сообщений: 1060
Я нашёл в реестре хоста где установлен сервер Оракла следующий ключ:

[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1]
"ORACLE_SID"="bes"

Я проверил, что если менять ему значение на tns-имя другой БД, то SQLPlus будет по-умолчанию (т.е. при подключении без указания @имя_базы и без команды connect) подключаться именно к той базе, tns-имя которой указывается в этом ключе.

Переменные среды виндоуз LOCAL и ORACLE_SID я не нашёл. Может быть плохо смотрел?

К сообщению приложен файл. Размер - 35Kb
7 май 21, 12:29    [22319478]     Ответить | Цитировать Сообщить модератору
 Re: Вход в SQLPlus  [new]
verter
Member

Откуда: Санкт-Петербург
Сообщений: 1060
Забыл уточнить, что у меня имя базы и имя пользователя в базе одинаковые и = 'bes'

Имеется несколько баз со следующими именами:

'bes', 'bes2', 'bes3'

в каждой из которых есть пользовательская схема с именем 'bes'

Если в реестре в этом ключе 'ORACLE_SID' стоит 'ORACLE_SID'='bes2'

то когда запускаем SQLPlus и вводим:

Enter user-name: bes
Enter password:

то подключаемся к базе 'bes2' к схеме в этой базе 'bes'
7 май 21, 12:44    [22319482]     Ответить | Цитировать Сообщить модератору
 Re: Вход в SQLPlus  [new]
dmdmdm
Member

Откуда: Нижний Новгород
Сообщений: 1729
Под виндой порядок такой:

1. явно указан TNS-описатель в строке подключения,
2. переменная окружения,
3. реестр.

По-моему, чаще всего используется п. 1.
7 май 21, 14:25    [22319538]     Ответить | Цитировать Сообщить модератору
 Re: Вход в SQLPlus  [new]
Elic
Member

Откуда:
Сообщений: 30166
verter
Переменные среды виндоуз LOCAL и ORACLE_SID я не нашёл. Может быть плохо смотрел?
+
http://www.oracle.com/pls/topic/lookup?ctx=db112&id=NTQRF513
Oracle Net Service first checks for the parameters as environment variables, and uses the values defined. If environment variables are not defined, it searches for these parameters in the registry.
7 май 21, 15:05    [22319551]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить