转自:http://blog.csdn.net/qjyong/article/details/4488183
一、数据库名
就是在你安装oracle软件过程中创建的数据库,或者是安装完后,自己再创建的数据名称。主要用于一个oracle中安装了多个库,
他们之间的区分。一个库会在windows的服务中生成一个oracle_service.数据库名是在安装数据库、创建新的数据库、创建数据库控
制文件、修改数据结构、备份与恢复数据库时都需要使用到的。
查询当前数据名
方法一:select name from v$database;
方法二:show parameter db
二、数据库实例名[SID]
数据库实例名是用于和操作系统进行联系的标识,就是说数据库和操作系统之间的交互用的是数据库实例名。实例名也被写入参数文件
中,该参数为instance_name,在winnt平台中,实例名同时也被写入注册表。数据库名和实例名可以相同也可以不同。在一般情况下,
数据库名和实例名是一对一的关系,但如果在oracle并行服务器架构(即oracle实时应用集群)中,数据库名和实例名是一对多的关系。
(就是一个oracle中创建多个库的时候,每个库和操作系统之间通信的身份标示,和我们用户没有关系嘀!)
查询当前数据库实例名
方法一:select instance_name from v$instance;
方法二:show parameter instance
三、数据库域名
在分布工数据库系统中,不同版本的数据库服务器之间,不论运行的操作系统是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
四、全局数据库名
全局数据库名=数据库名+数据库域名,如前述福建节点的全局数据库名是:oradb.fj.jtyz
五、数据库服务名
从oracle9i版本开始,引入了一个新的参数,即数据库服务名。参数名是SERVICE_NAME。该名称主要是oracle客户端和oracle建立服务的
时候使用,好像没有多么有用的价值!
查询数据库服务名
方法一:select value from v$parameter where name = 'service_name';
方法二:show parameter service_name
(注释:一般情况下我们开发中用到的数据库是单数据库实例,就是oracle中只有一个库。这个时候大部分都有:
数据库服务名 = 全局数据库名 = 数据库名[+ 数据库域名] = SID)