oracle sid как узнать

Как получить список SID Oracle

У меня есть хост, порт, идентификатор пользователя и пароль, но отсутствует SID для подключения к СУБД Oracle. Как найти список SID на этом сервере?

В приведенном выше примере вы можете подключиться к базе данных XE с помощью Conect Strings XEXDB, XE_XPT или XE.

Короткий ответ: вам нужен доступ к операционной системе:

В Windows, я думаю, есть похожая подпись в списке задач.

На практике эта информация обычно предоставляется вам тем, кто администрирует базу данных при создании вашей учетной записи.

Вопрос сводится к тому, что ORACLE_SID или сервисы поддерживаются слушателем, который выполняется на хост-порту X. В зависимости от того, насколько безопасен этот прослушиватель, вы можете увидеть это с помощью команды lsnrctl от клиента, на котором установлен lsnrctl, Для этого вам понадобится установка сервера oracle на этом клиенте. Когда у вас есть это, вы можете выпустить

Значение по умолчанию для заполнения 10-го слушателя вызывает следующий результат:
TNS-01189: слушатель не смог аутентифицировать пользователя

Это связано с тем, что из 10g оракула по умолчанию
Безопасность включена: аутентификация локальной ОС
что только пользователь локальной ОС, который начал слушатель, может выдать команды lsnrctl слушателю. Слушатель отказывается отвечать любому другому пользователю.

Другим вариантом для рассмотрения является файл /etc/oratab в Unix или его equivilent в Windows, который, я думаю, является кустом реестра.

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

Существует nmap script, который может помочь, oracle-sid-brute:

Он был установлен с nmap в моей системе.

Это поможет только в том случае, если SID можно сопоставить в списке. Список по умолчанию:

Источник

Oracle sid как узнать

Имя экземпляра базы данных

Экземпляр базы данных состоит из области SGA и процессов ORACLE. Имя экземпляра базы данных указывается в файле инициализации init.ora параметром instance_name.

Оракловский системный идентификатор SID (System IDentifier – системный идентификатор) является уникальным именем, которое однозначно идентифицирует экземпляр/базу данных. Хранится в переменной среды ORACLE_SID и используется утилитами и сетевыми компонентами для доступа к базе данных.

Здесь можно почитать, как переименовать базу данных.

Глобальное имя базы данных

Для того, чтобы база данных была уникально идентифицирована в глобальном масштабе используется глобальное имя базы данных. Оно состоит из имени базы данных и домена базы данных. Так как две базы данных в одном домене не могут иметь одинаковые имена, то глобальное имя базы данных будет уникальным.

Читайте также:  расчет высоты шатровой крыши

Имена службы (сервиса) базы данных.

Кроме понятия SID существует также и понятие SERVICE NAME, которые зачастую не различают. Тем не менее, для пользователей база данных ORACLE представляет собой службу (сервис) операционной системы. Имя сервиса (SERVICE_NAME) – это сравнительно новое понятие, введенное начиная с СУБД Oracle 8i. SERVICE_NAME определяет одно или ряд имен для подключения к одному экземпляру базы данных. То есть можно указать несколько имен сервиса, ссылающихся на один экземпляр, с различными настройками. Понятие служба БД используется для логического группирования сеансов с целью иметь обобщенную единицу слежения и управления при использовании общей БД разными приложениями. Службу рекомендуется связывать с набором приложений, объединенных общими свойствами, пороговыми характеристиками или правилами потребления ресурсов СУБД.

Возможные значения SERVICE_NAME указываются в сетевых установках Oracle и регистрируются в качестве службы БД процессом listener.

Стандартный способ получения SID и SERVICE_NAME, который работал до десятой версии СУБД Oracle – это использование утилиты lsnrctl. Для этого достаточно воспользоваться командой services:

В выводе команды мы можем видеть системный идентификатор, он же – SID (Instance), и имя сервиса – SERVICE_NAME (Service). В данном случае они совпадают, но это бывает не всегда.

Этот запрос для ORA10g покажет все зарегистрированные сервисы. Помимо сконфигурированных вами сервисов, всегда имеются две внутренние службы: SYS$BACKGROUND используется внутренними процессами СУБД, а к SYS$USERS причисляются соединения пользователей, не указавших желаемую им службу.

Итог: Если база данных зарегистрирована листенером, как службу с определенным SERVICE_NAME, тогда в tnsnames.ora можно использовать значение параметра SERVICE_NAME, иначе нужно будет использовать значение SID.

Источник

Проверка sid oracle и имени базы данных

Я хочу проверить SID и текущее имя базы данных.

Я использую следующий запрос для проверки oracle SID

но таблица или представление не существует ошибка приходит.

Я использую следующий запрос для проверки текущей базы данных имя

но таблица или представление не существует ошибка приходит.

любая идея для выше двух проблем?

6 ответов

предполагаю select user from dual; должен дать вам текущего пользователя

Читайте также:  пол огурца как пишется

и select sys_context(‘userenv’,’instance_name’) from dual; имя экземпляра

Я считаю, что вы можете получить Сид as SELECT sys_context(‘USERENV’, ‘SID’) FROM DUAL; (не могу проверить это сейчас)

Если, как и я, ваша цель-получить хост базы данных и SID для создания url-адреса Oracle JDBC, как

следующие команды помогут:

команда Oracle query для проверки SID (или имени экземпляра):

команда Oracle query для проверки имени базы данных (или хоста сервера):

Att. Серхио Марсело!—4—>

для полноты вы также можете использовать ORA_DATABASE_NAME.

возможно, стоит отметить, что не все методы дают вам одинаковый результат:

самый простой способ найти имя базы данных:

это представление предоставляется PUBLIC, поэтому любой может запросить его.

типа sqlplus командная строка

тогда u будет видеть результат в командной строке

Как уже упоминалось выше,

вы не можете запросить V$database/V$instance/V$thread, потому что у вашего пользователя нет необходимых разрешений. Вы можете предоставить их (через учетную запись DBA) с помощью:

Источник

Изменение SID и имени базы данных

Что такое SID, как его узнать и как изменить

Ответ Тома Кайта

НАЗНАЧЕНИЕ

Здесь описано, как найти и изменить имя базы данных ( db_name ) или ORACLE_SID для экземпляра, не пересоздавая базу данных.

ДЛЯ КОГО ЭТА ЗАМЕТКА

Чтобы найти текущие значения DB_NAME и ORACLE_SID:

Если ORACLE_SID = DB_SID и db_name = DBNAME :

Чтобы найти текущее значение ORACLE_SID :

Чтобы найти текущее значение DB_NAME :

Изменение базы данных для работы с новым ORACLE_SID :

Например, пройдите по всем каталогам и выполните grep ORACLE_SID *

Если в этот момент вы получаете сообщение об ошибке, утверждающее, что для файла необходимо восстановление носителя (media recovery), значит, база данных была остановлена аварийно на шаге 4. Можно попытаться восстановить базу данных, используя данные повторного выполнения в текущем файле журнала, с помощью команды:

Чтобы найти список активных журнальных файлов:

Cколько АБД Oracle надо, чтобы поменять лампочку. Комментарий от 13 сентября 2001 года

Удивительно, сколько механической работы требуется в Oracle для простых вещей.

Ответ Тома Кайта

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

НА САМОМ ДЕЛЕ, мы сталкиваемся с попыткой ИЗМЕНИТЬ ПЕРВИЧНЫЙ КЛЮЧ.

Так что, даже при наличии ОДНОГО внешнего ключа, пробюлема будет аналогичной. Если вы когда-нибудь изменяли значение первичного ключа, вам приходилось делать то же самое (находить все внешние ключи и изменять их соответственно).

Читайте также:  кухня вика узнает что беременна

Комментарий от 1 марта 2001 года


Ответ Тома Кайта

На NT посмотрите список служб Oracle в Панели управления.

Оригинал обсуждения этого вопроса можно найти здесь.

Изменение SID на платформе Windows, кстати, описано вот здесь.

Copyright © 2003 Oracle Corporation

В следующем выпуске

Перевод очередной статьи Джонатана Льюиса пока придется подождать. Статья большая. Пожалуй, продолжим тему клонирования БД «по мотивам» ответов Тома Кайта. Следите за новостями на сайте проекта Open Oracle.

Источник

Checking oracle sid and database name

I want to check SID and current database name.

I am using following query for checking oracle SID

but table or view does not exist error is coming.

I am using following query for checking current database name

but table or view does not exist error is coming.

Any idea for above two problems?

7 Answers 7

I presume SELECT user FROM dual; should give you the current user

and SELECT sys_context(‘userenv’,’instance_name’) FROM dual; the name of the instance

I believe you can get SID as SELECT sys_context(‘USERENV’, ‘SID’) FROM DUAL;

If, like me, your goal is get the database host and SID to generate a Oracle JDBC url, as

the following commands will help:

Oracle query command to check the SID (or instance name):

Oracle query command to check database name (or server host):

Att. Sergio Marcelo

Just for completeness, you can also use ORA_DATABASE_NAME.

It might be worth noting that not all of the methods give you the same output:

The easiest way of finding the database name is:

This view is granted to PUBLIC, so anybody can query it.

Type on sqlplus command prompt

then u will be see result on command prompt

Here first one «ORCL» is database name,may be your system «XE» and other what was given on oracle downloading time.

As has been mentioned above,

You couldn’t query v$database/v$instance/v$thread because your user does not have the required permissions. You can grant them (via a DBA account) with:

SELECT sys_context(‘userenv’,’instance_name’) FROM dual;

Источник

Образовательный портал