游客:
注册
|
登录
|
帮助
网友俱乐部
»
数据库操作
»
Oracle教程
» oracle中对db的不同命名方式
网友生活网
|
网友学堂
如何获得金币?
诚招斑竹
IP归属地查询 PR查询 收录查询 whois查询
免费超短2级域名,your.jpy.cc
传世私服
|
传奇世界私服
注册亚洲交友中心,找个人来同居吧!
7CODE查杀恶意代码,守护您的电脑
‹‹ 上一主题
|
下一主题 ››
投票
交易
悬赏
活动
打印
|
推荐
|
订阅
|
收藏
标题: oracle中对db的不同命名方式
lonjew
元帅
UID 73191
精华
1
积分 30615
帖子 14941
威望 3
金币 14931
热心 12
阅读权限 100
注册 2008-1-28
状态 离线
#1
使用道具
发表于 2008-4-2 08:30
资料
个人空间
主页
短消息
加为好友
oracle中对db的不同命名方式
oracle中对db的不同命名方式
(包括:Db_name、Db_domain、Global_name、Service_name、Net service name)
【Db_name:】
对一个数据库(
Oracle
database)的唯一标识,该数据库为第一章讲到的
Oracle
database。这种表示对于单个数据库是足够的,但是随着由多个数据库构成的分布式数据库的普及,这种命令数据库的方法给数据库的管理造成一定的负担,因为各个数据库的名字可能一样,造成管理上的混乱。为了解决这种情况,引入了Db_domain参数,这样在数据库的标识是由Db_name和 Db_domain两个参数共同决定的,避免了因为数据库重名而造成管理上的混乱。这类似于互连网上的机器名的管理。我们将Db_name和 Db_domain两个参数用’.’连接起来,表示一个数据库,并将该数据库的名称称为Global_name,即它扩展了Db_name。 Db_name参数只能由字母、数字、’_’、’#’、’$’组成,而且最多8个字符。
【Db_domain:】
定义一个数据库所在的域,该域的命名同
互联网
的’域’没有任何关系,只是数据库管理员为了更好的管理分布式数据库而根据实际情况决定的。当然为了管理方便,可以将其等于
互联网
的域。
【Global_name:】
对一个数据库(Oracle database)的唯一标识,oracle建议用此种方法命令数据库。该值是在创建数据库是决定的,缺省值为Db_name. Db_domain。在以后对参数文件中Db_name与Db_domain参数的任何修改不影响Global_name的值,如果要修改 Global_name,只能用ALTER DATABASE RENAME GLOBAL_NAME TO <db_name.db_domain>命令进行修改,然后修改相应参数。
【Service_name:】
该参数是oracle8i新引进的。在8i以前,我们用SID来表示标识数据库的一个实例,但是在Oracle的并行环境中,一个数据库对应多个实例,这样就需要多个网络服务名,设置繁琐。为了方便并行环境中的设置,引进了Service_name参数,该参数对应一个数据库,而不是一个实例,而且该参数有许多其它的好处。该参数的缺省值为Db_name. Db_domain,即等于Global_name。一个数据库可以对应多个Service_name,以便实现更灵活的配置。该参数与SID没有直接关系,即不必Service name 必须与SID一样。
在tnsnames.ora中,既可以用service_name, 也可以用sid
【Net service name:】
网络服务名,又可以称为数据库别名(database
alias)。是客户端程序访问数据库时所需要,屏蔽了客户端如何连接到
服务器
端的细节,实现了数据库的位置透明的特性。网络服务名被记录在tnsnames.ora文件中。
===关于错误ORA-12154:====
有时即使在tnsnames.ora文件中有相应的网络服务名,可是用该网络服务名连接时还会出错,出现这种情况的典型配置如下(在客户端的机器上):
tnsnames.ora中有:
HZUAT =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.18.1.102)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = hzuat)
)
)
sqlnet.ora中有:
NAMES.DEFAULT_DOMAIN = staff.ebao.com
可当用 user/passwd@HZUAT去连时, 却报ora-12154错。
其原因就是因为sqlplus程序会自动到sqlnet.ora文件中找NAMES.DEFAULT_DOMAIN参数,假如该参数存在,则将该参数中的值取出,加到网络服务名的后面。解决办法一是删掉NAMES.DEFAULT_DOMAIN, 二是把tnsnames.ora改成
HZUAT.COM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.18.1.102)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = hzuat)
)
)
网友
lonjew
签名 - 网友社区
==
[广告]
免费域名(Free Subdomain)
免费空间(Free hosting)
PR查询(Google Pagerank)
投票
交易
悬赏
活动
控制面板首页
编辑个人资料
积分交易
公众用户组
好友列表
个人空间管理
基本概况
流量统计
客户软件
发帖量记录
论坛排行
主题排行
发帖排行
积分排行
在线时间
管理团队
管理统计
当前时区 GMT+8, 现在时间是 2008-9-5 20:36
信产部ICP备案:
京ICP备05066424号
北京市公安局网监备案:1101050648号
Powered by
Discuz!
5.5.0
TOP
清除 Cookies
-
联系我们
-
网友俱乐部
-
Archiver
-
WAP