Answers:
SID =标识数据库实例(数据库名称+实例编号)。因此,如果您的数据库名称是somedb,实例号是3,则您的SID是somedb3。
DB名称=数据库名称(可以在多个实例之间共享数据库)
DB域=通常与您的公司域(somecompany.com)相同
全局数据库名称=数据库名称+数据库域(somedb.somecompany.com)
服务名称=一个或多个实例的“连接器”。在RAC环境中创建其他服务名称通常很有用,因为可以将服务修改为使用特定的SID作为主要或辅助连接,或者根本不使用某些SID。
服务别名=服务名称的别名(就像CNAME一样)。假设您使服务名称对dba有意义,但这也许有点深奥。创建一个服务别名,并为其命名,这将对用户有意义。
实例名称=与SID相同
default service name
=是global db name
吗?
描述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等)
保罗,干杯
SID是实例。最好避免使用术语“数据库实例”,而只是实例。
“ SID =标识数据库实例(数据库名称+实例编号)”是错误的。“实例是RDBMS软件的实例”是错误的。卸载或安装的DBMS只是DBMS。
应避免使用“数据库域=通常与公司域相同”。我在使用域时遇到问题,并且在不使用域时问题消失了。
“全局数据库名称=数据库名称+数据库域”也是错误的。全局数据库名称是服务名称。就这么简单。
“ SID =标识数据库实例(数据库名称+实例编号)。因此,如果您的数据库名称是somedb,而实例编号是3,则您的SID是somedb3。” 是错的。没有身份或名称的这种分类。