oracle ofsaa是干什么用的

2025-04-28 14:28:49
推荐回答(1个)
回答1:

  DB_NAME:
  ① 是数据库名,长度不能超过8个字符,记录在datafile、redolog和control file中
  ② 在DataGuard环境中DB_NAME相同而DB_UNIQUE_NAME不同
  ③ 在RAC环境中,各个节点的DB_NAME 都相同,但是INSTANCE_NAME不同
  ④ DB_NAME还在动态注册监听的时候起作用,无论是否定义了SERVICE_NAME,PMON进程都会使用DB_NAME动态注册监听
  >>>>
  DBID:
  ① DBID可以看做是DB_NAME在数据库内部的表示,它是在数据库创建的时候用DB_NAME结合算法计算出来的
  ② 它存在于datafile和control file中,用来表示数据文件的归属,所以DBID是唯一的,对于不同的数据库,DB_NAME可以是相同的,但是DBID一定是唯一的,例如在DataGuard中,主备库的DB_NAME相同,但是DBID一定不同(看过一个很形象的例子,就是可以有同名的人,但是身份证号码一定不同)
  >>>>
  DB_UNIQUE_NAME:
  ① 在DataGuard中,主备库拥有相同的DB_NAME,为了区别,就必须有不同的DB_UNIQUE_NAME
  ② DB_UNIQUE_NAME在DG中会影响动态注册的SERVICE_NAME,即如果采用的是动态注册,则注册的SERVICE_NAME为DB_UNIQUE_NAME,但是实例还是INSTANCE_NAME,即SID