Oracle在SID,数据库名称,数据库域,全局数据库名称,服务名称,服务别名和实例名称之间的区别


14

有人可以向我解释Oracle中SID,数据库名称,数据库域,全局数据库名称,服务名称,服务别名和实例名称有什么区别吗?

谢谢迈克尔

Answers:


11

SID =标识数据库实例(数据库名称+实例编号)。因此,如果您的数据库名称是somedb,实例号是3,则您的SID是somedb3。

DB名称=数据库名称(可以在多个实例之间共享数据库)

DB域=通常与您的公司域(somecompany.com)相同

全局数据库名称=数据库名称+数据库域(somedb.somecompany.com)

服务名称=一个或多个实例的“连接器”。在RAC环境中创建其他服务名称通常很有用,因为可以将服务修改为使用特定的SID作为主要或辅助连接,或者根本不使用某些SID。

服务别名=服务名称的别名(就像CNAME一样)。假设您使服务名称对dba有意义,但这也许有点深奥。创建一个服务别名,并为其命名,这将对用户有意义。

实例名称=与SID相同


在什么情况下您有实例编号?仅仅是RAC吗?
JonnyRaa 2014年

那么,default service name=是global db name吗?
Alireza Mohamadi

4

描述SID的方式仅是RAC配置中的DEFAULT行为。SID(== instance_name)就是:实例的​​名称。

我总是这样看:实例,是RDBMS软件的实例。实例安装一个控制文件,(在此数据库文件中更改)在该控制文件中写入数据文件的位置。数据文件的集合(好了,控制文件)==数据库。

数据库具有名称,db_name和(可选)域(db_domain)->以及global_db_name。现在,假设您正在复制(DataGuard)数据库。您想保持DB_name不变,对吗?(我的意思是:从数据角度来看,它是SAME数据库)但是如何识别数据库的两个“版本”?输入“ DB_UNIQUE_NAME” ...是的,这很混乱...

我的个人做法是在DataGuard设置中将INSTANCE命名为db_unique_name,并在RAC设置中坚持使用RAC名称(db_name + Instance_Number)。然后,我组成的db_unique_name通常类似于db_name + 1个字母后缀(MYDBa MYDBb等)

保罗,干杯


0

SID是实例。最好避免使用术语“数据库实例”,而只是实例。

“ SID =标识数据库实例(数据库名称+实例编号)”是错误的。“实例是RDBMS软件的实例”是错误的。卸载或安装的DBMS只是DBMS。

应避免使用“数据库域=通常与公司域相同”。我在使用域时遇到问题,并且在不使用域时问题消失了。

“全局数据库名称=数据库名称+数据库域”也是错误的。全局数据库名称是服务名称。就这么简单。

“ SID =标识数据库实例(数据库名称+实例编号)。因此,如果您的数据库名称是somedb,而实例编号是3,则您的SID是somedb3。” 是错的。没有身份或名称的这种分类。


-1

我建议你参考

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

如果您安装了Toad,甚至是试用版。

它彻底描述了整个图片。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.