CftClub.ru
Клуб специалистов ЦФТ-Банк

как узнать имя схемы?
На страницу 1, 2, 3  След.
 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Oracle DBA
Предыдущая тема :: Следующая тема  
Автор Сообщение
wolfio
Участник - экстремал
Нордеа Банк


Вступление в Клуб: 22.10.2012
СообщениеСр Май 29, 2013 06:23   как узнать имя схемы? Ответить с цитатой
Полезность: Нет оценки
Здравствуйте, уважаемые знатоки.
Пожалуйста подскажите, кто вкурсе, как узнать имя схемы?

Сразу хочу сказать, что в таблице V$INSTANCE содержится немного не то имя...
у нас тест имеет имя TMP_RBO, а в таблице HOST_NAME = tmprbo..

есть ли другие способы?
Serj
Профи
ОИКБ Русь


Вступление в Клуб: 02.08.2007
СообщениеСр Май 29, 2013 06:38    Ответить с цитатой
Полезность: Нет оценки
нужен аналог login.sql для SQLPLUS что ли?
devor
Профи
Неподтвержденный


Вступление в Клуб: 13.02.2012
СообщениеСр Май 29, 2013 07:42   Re: как узнать имя схемы? Ответить с цитатой
Полезность: Нет оценки
wolfio пишет:
Здравствуйте, уважаемые знатоки.
Пожалуйста подскажите, кто вкурсе, как узнать имя схемы?

Сразу хочу сказать, что в таблице V$INSTANCE содержится немного не то имя...
у нас тест имеет имя TMP_RBO, а в таблице HOST_NAME = tmprbo..

есть ли другие способы?


Т.е. надо достать алиас схемы, настроенный на клиенте?
Разве что клиент-скриптом.
Но, мне кажется, название инстанса более информативно. Тем более, что алиасы на на всех клиентских машинах настраивают одинаковые
yaffil
Профи
Неподтвержденный


Вступление в Клуб: 18.08.2011
СообщениеСр Май 29, 2013 08:07    Ответить с цитатой
Полезность: Нет оценки
Ну например вот так в коде можно:

Код:

nameBASE varchar(32);
 
begin
nameBASE :=sys_context('USERENV','DB_NAME');
end;
vtar
Эксперт
Неподтвержденный


Вступление в Клуб: 20.03.2009
СообщениеСр Май 29, 2013 09:39    Ответить с цитатой
Полезность: Нет оценки
Может Вам туда ?
http://www.cftclub.ru/viewtopic.php?t=2651&highlight=UPPER%28db_unique_name%29
wolfio
Участник - экстремал
Нордеа Банк


Вступление в Клуб: 22.10.2012
СообщениеЧт Май 30, 2013 00:40    Ответить с цитатой
Полезность: Нет оценки
Serj пишет:
нужен аналог login.sql для SQLPLUS что ли?


?? ))

vtar пишет:
Может Вам туда ?
http://www.cftclub.ru/viewtopic.php?t=2651&highlight=UPPER%28db_unique_name%29


в таблице v$database содержится не то, что я ищу..

в общем то уточню вопрос - мне нужно выдернуть откуданибудь имя базы, которое пишется в поле СЕРВЕР при подключении через Навигатор. Может ктонибудь подсказать где выдернуть такое?
devor
Профи
Неподтвержденный


Вступление в Клуб: 13.02.2012
СообщениеЧт Май 30, 2013 04:25    Ответить с цитатой
Полезность: Нет оценки
wolfio пишет:

в общем то уточню вопрос - мне нужно выдернуть откуданибудь имя базы, которое пишется в поле СЕРВЕР при подключении через Навигатор. Может ктонибудь подсказать где выдернуть такое?

Я же написал выше - клиентх-скриптом с файла tnsnames на клентской машине.
Можно попробовать такую конструкцию, описанную в доке
Цитата:
Синтаксис

Runtime.ApplicationEnvironment.ConnectString() As String

Описание

Получить строку соединения с сервером.

Но это я теоретизирую, сам не проверял.
Serj
Профи
ОИКБ Русь


Вступление в Клуб: 02.08.2007
СообщениеЧт Май 30, 2013 04:57    Ответить с цитатой
Полезность: Нет оценки
wolfio пишет:

в общем то уточню вопрос - мне нужно выдернуть откуданибудь имя базы, которое пишется в поле СЕРВЕР при подключении через Навигатор. Может ктонибудь подсказать где выдернуть такое?
- дык это tnsalias лежит на клиенте в $ORACLE_HOME/network/admin/tnsnames.ora, что касаемо login.sql сценарий - который помогает определить куда подключен клиент - он формирует "указатель курсора " в sqlplus
wolfio
Участник - экстремал
Нордеа Банк


Вступление в Клуб: 22.10.2012
СообщениеЧт Май 30, 2013 08:04    Ответить с цитатой
Полезность: Нет оценки
я дико извиняюсь, но я сопровожденец, не программист, и мне очень нужен практический пример, без попыток изобрести колесо..

поэтому если можно клиентскриптом, то можно прям кусок кода, как его получить? что такое sqlplus мне вообще не известно Sad
yaffil
Профи
Неподтвержденный


Вступление в Клуб: 18.08.2011
СообщениеЧт Май 30, 2013 08:13    Ответить с цитатой
Полезность: Нет оценки
Я дико извиняюсь и боюсь спросить, вам всё таки TNS name нужен или SID?
И где вы собрались использовать данную конструкцию не в коде PL+? Если вы SQL подключаетесь вы уже знаете всё что вам надо, по другому вы не подключитесь.
wolfio
Участник - экстремал
Нордеа Банк


Вступление в Клуб: 22.10.2012
СообщениеЧт Май 30, 2013 08:53    Ответить с цитатой
Полезность: Нет оценки
мне нужно получить эту инфу через plp или через вставку plsql на крайний случай

SID как раз и содержится в таблице v$instance
видимо мне нужно имя схемы из TNS..
yaffil
Профи
Неподтвержденный


Вступление в Клуб: 18.08.2011
СообщениеЧт Май 30, 2013 09:04    Ответить с цитатой
Полезность: Нет оценки
wolfio пишет:

видимо мне нужно имя схемы из TNS..


Т.е. вы не определились ещё Laughing
Имя схемы может быть вообще любым. Оно прописывается в файле tnsnames.ora в клиентской части оракла в папке network/admin, при чём если клиентская часть на локальных машинах, то подключение к одной и той же базе могут происходить под разными именами в зависимости от:

NAME_BASE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.10)(PORT = 1521))
)
(CONNECT_DATA =
(SID = IBSO_BASE)
)
)

В данном случае SID = IBSO_BASE и он постоянен для всех подключений, а TNS_NAME = NAME_BASE его вы и прописываете
wolfio пишет:

которое пишется в поле СЕРВЕР при подключении через Навигатор

И оно может быть различным на каждой машине с клиентской частью Оракла. Вам как это поможет?
vtar
Эксперт
Неподтвержденный


Вступление в Клуб: 20.03.2009
СообщениеЧт Май 30, 2013 09:20    Ответить с цитатой
Полезность: Нет оценки
Выполните на тестовой и рабочей БД

select UPPER(name), UPPER(db_unique_name) from v$database ;
wolfio
Участник - экстремал
Нордеа Банк


Вступление в Клуб: 22.10.2012
СообщениеЧт Май 30, 2013 10:43    Ответить с цитатой
Полезность: Нет оценки
vtar пишет:
Выполните на тестовой и рабочей БД

select UPPER(name), UPPER(db_unique_name) from v$database ;


да я понимаю что оно выдает... результат с теста меня не устраивает. Когда на тест захожу, имя схемы пишу TMP_RBO. При запуске вашего запроса на ней получаю TMPRBO. Разницу ощущаете?
yaffil
Профи
Неподтвержденный


Вступление в Клуб: 18.08.2011
СообщениеЧт Май 30, 2013 10:50    Ответить с цитатой
Полезность: Нет оценки
wolfio пишет:

да я понимаю что оно выдает... результат с теста меня не устраивает. Когда на тест захожу, имя схемы пишу TMP_RBO. При запуске вашего запроса на ней получаю TMPRBO. Разницу ощущаете?


Я вам разницу написал откуда берётся. Смотрите в tnsnames.ora там всё написано.
Хотите по человечи - пусть ваши админы меняют или СИД на тесте на TMP_RBO либо вы сами в файле поменяйте имя подключения на TMPRBO.


Последний раз редактировалось: yaffil (Чт Май 30, 2013 10:50), всего редактировалось 1 раз
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Oracle DBA Часовой пояс: GMT + 3
На страницу 1, 2, 3  След.
Страница 1 из 3

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru