it-swarm.cn

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

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

谢谢迈克尔

14
Michael Ellick Ang

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

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

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

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

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

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

实例名称=与SID相同

11
jswoods7

描述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等)

保罗,干杯

4
paul

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

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

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

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

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

0
Bernaridho