Chinaunix首页 | 论坛 | 博客
  • 博客访问: 435437
  • 博文数量: 121
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 540
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-16 16:28
文章分类

全部博文(121)

文章存档

2021年(3)

2018年(1)

2017年(5)

2016年(9)

2015年(23)

2014年(80)

我的朋友

分类: Oracle

2014-02-27 12:52:37

DB_UNIQUE_NAME和DB_NAME的理解

DB_UNIQUE_NAME 
DB_NAME 
在一般的数据库里我们看到倒是没有什么特殊的差异的,不过在多实例多数据系统里,这两个倒是经常被提及。不小心就把两个看成一个东东了。其实不然。 

这里个人吧对其的理解归纳如下。 

DB_NAME 数据库名称,也就是数据库的名字标示。这里,数据库里可能有多个实例,比如RAC里的多节点,这多个节点是不同的实例,但是却有相同的名字,他们的 DB_NAME是相同的 但是Instance_name是不同的。DB_NAME会保持在数据文件头里,所以更改DB_NAME不能仅仅修改parameter,还需要用nid 来进行更改,并且更改后还需要手工做些工作,是其生效。 

DB_UNIQUE_NAME这在另一个HA的应用,Dataguard会经常提及的,和DB_NAME不一样的作用,在DG里,要求物理DG, 主从库都有一样的DB_NAME,虽然他们和RAC不一样,并不是同一个库。这里是数据库的唯一名字。但是他们的DB_UNIQUE_NAME是不一样 的,用以进行不同的标示。DB_UNQUIE_NAME的会影响到Service_names,也会影响到动态监听的时候的service_name 

比如如下片段 
Service "zxdbdg1" has 1 instance(s). 
Instance "zxdb", status BLOCKED, has 1 handler(s) for this service... 
Service "zxdbdg1_XPT" has 1 instance(s). 
Instance "zxdb", status BLOCKED, has 1 handler(s) for this service... 
The command completed successfully 

这里的zxdbdg1就是dg中的从库。从库的db_name和主库保持一样为zxdb,DB_UNIQUE_NAME不同。在动态监听后,注册为 
zxdbdg1的service,启动的instance_name还是zxdb 

Instance_name简单讲就是ORACLE_SID,oracle里通过ORSCLE_SID来管理不同的数据库实例。 

另, 
上面的动态监听信息里出现了Instance "zxdb", status BLOCKED 

这里是因为我的从库数据库不是open状态。
更多0
阅读(1726) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~