设为首页 收藏本站
查看: 949|回复: 0

[经验分享] db_name | instance_name oracle_sid | db_domain | service_name

[复制链接]

尚未签到

发表于 2016-7-31 18:16:12 | 显示全部楼层 |阅读模式
  数据库名、实例名、数据库域名、全局数据库名、服务名 ,这是几个
  令很多初学者容易混淆的概念。相信很多初学者都与我一样被标题上这
  些个概念搞得一头雾水。我们现在就来把它们弄个明白。
  
  
   DSC0000.gif 一、数据库名
什么是数据库名?
数据库名就是一个数据库的标识,就像人的身份证号一样。他用参数

  DB_NAME表示,如果一台机器上装了多全数据库,那么每一个数据库都
  有一个数据库名。在数据库安装或创建完成之后,参数DB_NAME被写入
  参数文件之中。格式如下:
DB_NAME=myorcl
...
在创建数据库时就应考虑好数据库名,并且在创建完数据库之后,数据

  库名不宜修改,即使要修改也会很麻烦。因为,数据库名还被写入控制
  文件中,控制文件是以二进制型式存储的,用户无法修改控制文件的内
  容。假设用户修改了参数文件中的数据库名,即修改DB_NAME的值。但
  是在Oracle启动时,由于参数文件中的DB_NAME与控制文件中的数据库
  名不一致,导致数据库启动失败,将返回ORA-01103错误。
  数据库名的作用
数据库名是在安装数据库、创建新的数据库、创建数据库控制文件、修

  改数据结构、备份与恢复数据库时都需要使用到的。
有很多Oracle安装文件目录是与数据库名相关的,如:
winnt: d:oracleproduct10.1.0oradataDB_NAME...
Unix: /home/app/oracle/product/10.1.0/oradata/DB_NAME/...
pfile:
winnt: d:oracleproduct10.1.0adminDB_NAMEpfileini.ora
Unix:

  /home/app/oracle/product/10.1.0/admin/DB_NAME/pfile/init$ORA
  CLE_SID.ora
跟踪文件目录:
winnt:

  /home/app/oracle/product/10.1.0/admin/DB_NAME/bdump/...
另外,在创建数据时,careate database命令中的数据库名也要与参数

  文件中DB_NAME参数的值一致,否则将产生错误。
同样,修改数据库结构的语句alter database, 当然也要指出要修改

  的数据库的名称。
如果控制文件损坏或丢失,数据库将不能加载,这时要重新创建控制文

  件,方法是以nomount方式启动实例,然后以create controlfile命令
  创建控制文件,当然这个命令中也是指指DB_NAME。
还有在备份或恢复数据库时,都需要用到数据库名。
总之,数据库名很重要,要准确理解它的作用。

  查询当前数据名
方法一:select name from v$database;
方法二:show parameter db
方法三:查看参数文件。

  修改数据库名
前面建议:应在创建数据库时就确定好数据库名,数据库名不应作修改

  ,因为修改数据库名是一件比较复杂的事情。那么现在就来说明一下,
  如何在已创建数据之后,修改数据库名。步骤如下:
1.关闭数据库。
2.修改数据库参数文件中的DB_NAME参数的值为新的数据库名。
3.以NOMOUNT方式启动实例,修建控制文件(有关创建控制文件的命令语

  法,请参考oracle文档)
  
  
   DSC0001.gif 二、数据库实例名
什么是数据库实例名?
数据库实例名是用于和操作系统进行联系的标识,就是说数据库和操作

  系统之间的交互用的是数据库实例名。实例名也被写入参数文件中,该
  参数为instance_name,在winnt平台中,实例名同时也被写入注册表。
数据库名和实例名可以相同也可以不同。
在一般情况下,数据库名和实例名是一对一的关系,但如果在oracle并

  行服务器架构(即oracle实时应用集群)中,数据库名和实例名是一对多
  的关系。
  查询当前数据库实例名
方法一:select instance_name from v$instance;
方法二:show parameter instance
方法三:在参数文件中查询。
数据库实例名与ORACLE_SID
虽然两者都表是oracle实例,但两者是有区别的。instance_name是

  oracle数据库参数。而ORACLE_SID是操作系统的环境变量。
  ORACLD_SID用于与操作系统交互,也就是说,从操作系统的角度访问实
  例名,必须通过ORACLE_SID。在winnt下,ORACLE_SID还需存在于注册
  表中。
且ORACLE_SID必须与instance_name的值一致,否则,你将会收到一个

  错误,在unix平台,是“ORACLE not available”,在winnt平台,是
  “TNS:协议适配器错误”。
数据库实例名与网络连接
数据库实例名除了与操作系统交互外,还用于网络连接的oracle服务器

  标识。当你配置oracle主机连接串的时候,就需要指定实例名。当然8i
  以后版本的网络组件要求使用的是服务名SERVICE_NAME。这个概念接下
  来说明 。
  
  
   DSC0002.gif 三、数据库域名
什么是数据库域名?
在分布工数据库系统中,不同版本的数据库服务器之间,不论运行的操

  作系统是unix或是windows,各服务器之间都可以通过数据库链路进行
  远程复制,数据库域名主要用于oracle分布式环境中的复制。举例说明
  如:
全国交通运政系统的分布式数据库,其中:
福建节点: fj.jtyz
福建厦门节点: xm.fj.jtyz
江西: jx.jtyz
江西上饶:sr.jx.jtyz
这就是数据库域名。
数据库域名在存在于参数文件中,他的参数是db_domain.

  查询数据库域名
方法一:select value from v$parameter where name =

  'db_domain';
方法二:show parameter domain
方法三:在参数文件中查询。

  
   DSC0003.gif 全局数据库名
全局数据库名=数据库名+数据库域名,如前述福建节点的全局数据库名

  是:oradb.fj.jtyz
  
  
   DSC0004.gif 四、数据库服务名
什么是数据库服务名?
从oracle9i版本开始,引入了一个新的参数,即数据库服务名。参数名

  是SERVICE_NAME。
如果数据库有域名,则数据库服务名就是全局数据库名;否则,数据库

  服务名与数据库名相同。
  查询数据库服务名
方法一:select value from v$parameter where name =

  'service_name';
方法二:show parameter service_name
方法三:在参数文件中查询。

  数据库服务名与网络连接
从oracle8i开如的oracle网络组件,数据库与客户端的连接主机串使用

  数据库服务名。之前用的是ORACLE_SID,即数据库实例名。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-251549-1-1.html 上篇帖子: WindowsXP下ORACLE 10g安装与操作图解 下篇帖子: oracle中imp导入数据中文乱码问题默认分类 .
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表