Чи може хтось пояснити мені, чим відрізняються SID, Ім'я БД, Домен БД, Ім'я глобальної бази даних, Ім'я служби, Псевдоніми служб та Ім’я екземпляра в Oracle?
Дякую Майклу
Чи може хтось пояснити мені, чим відрізняються SID, Ім'я БД, Домен БД, Ім'я глобальної бази даних, Ім'я служби, Псевдоніми служб та Ім’я екземпляра в Oracle?
Дякую Майклу
Відповіді:
SID = ідентифікує екземпляр бази даних (назва бази даних + номер екземпляра). Отже, якщо ім'я вашої бази даних є somedb, а номер вашого примірника - 3, то ваш SID - somedb3.
Ім'я БД = Ім'я бази даних (базу даних можна ділити з кількома екземплярами)
Домен DB = Зазвичай той самий, що і домен вашої компанії (somecompany.com)
Назва глобальної бази даних = Ім'я бази даних + домен бази даних (somedb.somecompany.com)
Назва служби = "Роз'єм" до одного або декількох екземплярів. Часто корисно створювати додаткові імена служб у середовищі RAC, оскільки службу можна модифікувати, щоб використовувати певні SID в якості первинних або вторинних з'єднань або взагалі не використовувати певні SID.
Псевдонім служби = Псевдонім до назви служби (як і CNAME тощо). Скажіть, ви робите ім’я служби чимось значущим для dba, але, можливо, це трохи езотерично. Створіть псевдонім служби та назвіть його щось, що буде корисно для користувача.
Назва екземпляра = те саме, що і SID
default service name
= global db name
?
Спосіб опису SID - це лише поведінка DEFAULT в конфігурації RAC. SID (== name_name) - це саме те, що: назва вашого примірника.
Я завжди на це дивлюсь так: Instance - це екземпляр програмного забезпечення RDBMS. Екземпляр НАРУШУЄ файл керування, (змінює базу даних) У цьому контрольному файлі записується розташування файлів даних. колекція файлів даних (добре, і файл керування) == база даних.
База даних має ім'я, ім'я db_і (та необов'язково) домен (db_domain) -> разом global_db_name. Тепер уявіть, що ви копіюєте (DataGuard) свою базу даних. Ви хотіли б, щоб ім’я DB_ було однаковим, правда? (Я маю на увазі: для даних є одна база даних). Але як потім визначити дві "версії" вашої бази даних? Введіть "DB_UNIQUE_NAME" ... Так, це заплутається ...
Моя особиста практика - називати ІНСТАНЦІЮ, як db_unique_name в налаштуваннях DataGuard, і дотримуватися RAC-імен (db_name + Instance_Number) у налаштуваннях RAC. Тоді db_unique_names, які я складаю, зазвичай нагадують db_name + суфікс 1 літери (MYDBa MYDBb тощо)
Ура, Пол
SID - це примірник. Краще уникайте використання терміна "екземпляр бази даних", просто екземпляр.
"SID = ідентифікує екземпляр бази даних (ім'я бази даних + номер екземпляра)" неправильно. "Інстанція - це екземпляр програмного забезпечення RDBMS" неправильно. Видалений або встановлений СУБД - це лише СУБД.
"Домен DB = Зазвичай той самий, що і домен вашої компанії" слід уникати. У мене виникнула проблема з використанням домену, і проблеми зникають, коли не використовується домен.
"Ім'я глобальної бази даних = Ім'я бази даних + домен бази даних" також помиляється. Назва глобальної бази даних - це ім'я служби. Це так просто.
"SID = ідентифікує екземпляр бази даних (ім'я бази даних + номер екземпляра). Отже, якщо ім'я бази даних - somedb, а номер вашого екземпляра - 3, то ваш SID - somedb3." невірно. Не існує такої катенації особи чи імені.
Я пропоную вам звернутися
Knowledge Xpert for Oracle Administration > Oracle Architecture > Oracle instance, files and processes
якщо у вас встановлений Toad, навіть пробна версія.
У ній детально описано всю картину.