全局数据库名:是将数据库与任何其他数据库唯一标识出来的数据库全称。全局数据库名的格式为<database_name>.<database_domain>。例如,student.cs.hubu是一个典型的全局数据库名。数据库名部分(如student)是数据库的简单名称,数据库域部分(如cs.hubu)指定数据库所在的域,它通常和企业内的网络域相同。全局数据库名的数据库名部分不能超过8个字符,并且只能包含字母、数字字符和句点(.)字符。
SID(System Identifier,系统标识符):用来标识Oracle数据库的特定例程。对于任何一个数据库,都至少有一个引用数据库的例程。SID可以是未被此计算机上其他例程使用的任何名称。SID是Oracle数据库例程的唯一标识符,最多只能有8个字母、数字字符。每个数据库例程对应一个SID和一系列数据库文件。例如,当创建SID为XXX的数据库时,将同时创建数据库例程及其数据库文件(初始化参数文件、控制文件、重做日志文件和数据文件)。
1。什么是数据库实例名?数据库实例名是用于和 *** 作系统进行联系的标识,就是说数据库和 *** 作系统之间的交互用的是数据库实例名。实例名也被写入参数文件中,该参数为instance_name,在winnt平台中,实例名同时也被写入注册表。
数据库名和实例名可以相同也可以不同。
在一般情况下,数据库名和实例名是一对一的关系,但如果在oracle并行服务器架构(即oracle实时应用集群)中,数据库名和实例名是一对多的关系。
2 查询当前数据库实例名
方法一:select instance_name from v$instance
方法二:show parameter instance_name
方法三:在参数文件中查询。
3数据库实例名与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:协议适配器错误”。
4数据库实例名与网络连接
数据库实例名除了与 *** 作系统交互外,还用于网络连接的oracle服务器标识。当你配置oracle主机连接串的时候,就需要指定实例名。当然8i以后版本的网络组件要求使用的是服务名SERVICE_NAME。这个概念接下来说明。
一般单机服务器上,实例名和sid相同。你可以看看集群的相关文档,就更好理解了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)