您的位置:首页 > 数据库 > Oracle

ORACLE DB_NAME ,GLOBAL_NAME,INSTANCE_NAME,ORACLE_SID,Service_NAME

2013-08-01 00:24 393 查看
DB_NAME:数据库名

DB_DOMAIN :数据库域名

GLOBAL_NAME : 数据库全局名

INSTANCE_NAME :数据库实例名

ORACLE_SID:

在创建oracle数据库时建议的数据库全局名称为 DB_NAME . DB_DOMAIN, DB_NAME加点再加DB_DOMAIN就是GLOBAL_NAME

INSTANCE_NAME : 实例名建议实例名称为DB_NAME+SID 和 数据库名区分开

ORACLE_SID :在系统的注册表中,在连接sqlplus时如果没有指定连接的标识符,将会连接到注册表中指定的ORACLE_SID 实例,

如果在注册表中修改的这项值不正确,而且连接sqlplus没有指定连接标识符,将会出现 “TNS 协议适配器错误”的错误,unix下为

" ORACLE未准备好" 所以以后出现这个错误可以检查该项是不是正确。

SERVICE_NAME:是连接数据库时的连接标识符,如果创建数据库时数据库的全局名为DB_NAME.DB_DOMAIN

则oracle将会自动创建Service ,Sevice_name 为DB_NAME,在创建新的Service时可以选择是连接的是实例(SID)

还是数据库的服务(这个服务不是配置的这个服务),服务的名称和要连接的数据库全局名称是一样的,也可以连接指定的实例名,即第二个选项框输入实例名即可

注意:一个实例可以挂载不同的数据库,多个实例可能连接的是同一个数据库。在通过sqlplus连接数据库时,假设不建立服务而是直接通过IP和服务名称来连接数据库,该怎么写连接标识符呢?scott/tiger@192.168.xx.xx/dbname.db_domain ,即练级标识符为数据库全局名,也是数据库服务名

SQL 语句 :

SELECT * FROM V$INSTANCE; --数据库实例名

SELECT * FROM global_name; --全局数据库名

SELECT * FROM V$DATABASE; --数据库名

SELECT * FROM v$PARAMETER WHERE NAME LIKE 'service%' --数据库服务名

下图就是一个例子Service_Name为Orcl 连接到的不是数据库服务而是实例,而且连接实例名称为OrclSId



下图为配置一个Service的过程,在该界面可以选择连接是数据库服务

(不是连接的Service_name,有待进一步学习了解),数据库服务和全局数据库名是相同的



下图为配置一个Service的过程,在该界面可以选择连接是实例而不是数据库服务,实例名称必须写对哦



听网上大神说8i的时候,连接时候连的是Instance_id 即实例名,随着后面的发展,出现了一个数据库对应了多个实例,所以又增加了NetService的概念,Service_Name 再对应实例名或者数据库服务;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐