Назад | Перейти на главную страницу

Разница Oracle между SID, именем БД, доменом БД, глобальным именем базы данных, именем службы, псевдонимом службы и именем экземпляра

Может ли кто-нибудь объяснить мне, в чем разница между SID, именем БД, доменом БД, именем глобальной базы данных, именем службы, псевдонимом службы и именем экземпляра в Oracle?

Спасибо Майкл

SID = идентифицирует экземпляр базы данных (имя базы данных + номер экземпляра). Итак, если имя вашей базы данных - somedb, а номер вашего экземпляра - 3, тогда ваш SID - somedb3.

Имя БД = Имя базы данных (база данных может использоваться в нескольких экземплярах)

Домен БД = обычно совпадает с доменом вашей компании (somecompany.com)

Имя глобальной базы данных = имя базы данных + домен базы данных (somedb.somecompany.com)

Имя службы = «соединитель» с одним или несколькими экземплярами. Часто бывает полезно создать дополнительные имена служб в среде RAC, поскольку службу можно изменить для использования определенных идентификаторов безопасности в качестве основных или дополнительных подключений или для того, чтобы не использовать определенные идентификаторы безопасности вообще.

Псевдоним службы = псевдоним имени службы (например, CNAME и т. Д.). Допустим, вы сделали имя своей службы чем-то значимым для dba, но, возможно, это немного эзотерично. Создайте псевдоним службы и назовите его как-нибудь, что будет значимо для пользователя.

Имя экземпляра = то же, что и SID

То, как вы описываете SID, - это только поведение DEFAULT в конфигурации RAC. SID (== имя_экземпляра) - это просто имя вашего экземпляра.

Я всегда смотрю на это так: Экземпляр - это Экземпляр программного обеспечения РСУБД. Экземпляр УСТАНАВЛИВАЕТ управляющий файл (изменить монтирование базы данных). В этом контрольном профиле записывается расположение файлов данных. набор файлов данных (хорошо, и контрольный файл (ы)) == база данных.

База данных имеет имя, db_name и (необязательно) домен (db_domain) -> вместе global_db_name. Теперь представьте, что вы реплицируете (DataGuard) свою базу данных. Вы же хотите оставить DB_name таким же, верно? (Я имею в виду: с точки зрения данных, это ОДНА БД) Но как тогда определить две «версии» вашей базы данных? Введите "DB_UNIQUE_NAME" ... Да вот запуталась ...

Моя личная практика состоит в том, чтобы называть INSTANCE как db_unique_name в настройке DataGuard и придерживаться RAC-имен (db_name + Instance_Number) в настройке RAC. Затем созданные мной db_unique_names обычно похожи на db_name + 1-буквенный суффикс (MYDBa MYDBb и т. Д.)

Привет, Пол

SID - это экземпляр. Лучше избегать использования термина «экземпляр базы данных», просто «экземпляр».

«SID = идентифицирует экземпляр базы данных (имя базы данных + номер экземпляра)» неверно. «Экземпляр, это экземпляр программного обеспечения РСУБД» неверно. Деинсталлированная или установленная СУБД - это просто СУБД.

«Домен БД = Обычно такой же, как домен вашей компании» следует избегать. У меня возникла проблема с использованием домена, и проблемы исчезают, когда домен не используется.

«Имя глобальной базы данных = имя базы данных + домен базы данных» также неверно. Имя глобальной базы данных - это имя службы. Это так просто.

«SID = идентифицирует экземпляр базы данных (имя базы данных + номер экземпляра). Поэтому, если имя вашей базы данных - somedb, а номер экземпляра - 3, то ваш SID - somedb3». неправильно. Нет такой привязки личности или имени.

Я предлагаю вам обратиться

Knowledge Xpert for Oracle Administration > Oracle Architecture > Oracle instance, files and processes

если у вас установлена ​​Toad, то даже пробная версия.

Он подробно описывает всю картину.