Может ли кто-нибудь объяснить мне, в чем разница между 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, то даже пробная версия.
Он подробно описывает всю картину.