设为首页
收藏本站
淘宝精选
开启辅助访问
登录
注册后绑定Q登陆
手机号登录
手机号码,快捷登录
微信登录
QQ登录
快捷导航
发布信息
搜索
搜索
支持我们
使用96IE来支持论坛
首页
任务
勋章
签到
签到等于每天打卡
导读
邀请码
装机必备的软件、去广告版
装机助手
装机网
精品操作系统下载
免费邀请码
记录
Doing
每日签到
本版
帖子
用户
PCOS技术网
»
首页
›
≡技术交流≡
›
电脑技术交流
›
Oracle基础:数据库名 实例名 ORACLE_SID 服务名 域名 ...
返回列表
发新帖
查看:
844
|
回复:
0
Oracle基础:数据库名 实例名 ORACLE_SID 服务名 域名 全局数据库名
[复制链接]
amwdnuff
amwdnuff
当前离线
积分
10395258
IP卡
狗仔卡
签到天数: 2623 天
连续签到: 2 天
[LV.Master]至尊海神IIIIII
发表于 2011-2-19 12:39
|
广东
|
显示全部楼层
|
阅读模式
Oracle基础:数据库名 实例名 ORACLE_SID 服务名 域名 全局数据库名
Oracle中存在着这些容易混淆的名称:
数据库名 实例名 ORACLE_SID 服务名 域名 全局数据库名
在oracle7/8/9i/10g中都有数据库名和实例名,在9i和10g中又引进了三个新的数据库标识类参数:数据库域名(db_domain)、全局数据库名(global_dbname)和数据库服务名(service_names)。下面介绍一下这些名称的关系:
1. 数据库名
用于区分一个数据库的内部标识,在安装数据库、创建新数据库、创建控制文件、修改数据库结构、利用RMAN备份时都需要使用数据库名。
存在于(但不仅限于)以下地方:
(1) 以二进制方式存储在控制文件中。
(2) Pfile/spfile中:db_name
(3) 数据库物理结构文件目录中
D:\oracle\oradata\db_name\*.*
D:\oracle\admin\db_name\*.*
查询方法:select name from v$database;
2. 实例名
用于和操作
系统
进行联系。在操作系统中要取得与数据库之间的交互必须使用实例名。例如,要和某一个数据库服务器连接,则必须知道其数据库实例名,知道数据库名是没用的。在安装/创建数据库后,实例名允许修改的。
存在于(但不仅限于)以下地方:
(1) Windows nt/2000注册表中(oracle_sid)
(2) pfile/spfile中:instance_name
(3) 数据库参数文件名中:init<oracle_sid>.ora
查询方法:select instance_name from v$instance;
与数据库名的关系:一般是一一对应的,RAC中除外。
3. ORACLE_SID
细心的朋友可以发现,2.3中有个问题:2中讲的是instance_name,但2.3存储的却是oracle_sid。
因为从名称上来说,instance_name=oracle_sid。对于数据库实例名的描述,有时使用instance_name,有时使用oracle_sid,这两个都是数据库实例名。但instance_name是oracle数据库参数,而oracle_sid是操作系统环境变量。
Oracle_sid用于和操作系统交互。也就是说,在操作系统中要想得到实例名,必须使用oracle_sid。例如同一服务器上创建了多个数据库,则就有多个对应的实例,可以通过在操作系统中设置oracle_sid指定要登录的数据库:
$oracle_sid=orcl
$export oracle_sid
C:\>set oracle_sid=orcl
存在于(但不仅限于)以下地方:
(1) Windows nt/2000注册表中(oracle_sid)
(2) 数据库参数文件名中:init<oracle_sid>.ora
实例名除用于和操作系统联系外,还用于网络连接,即与客户端或其他服务器之间的连接。配置网络连接,就是配置网络连接串。
例如登录某远程数据库:
C:\>sqlplus xtjb/xtjb@s101
这里的s101就是一个网络连接串。
在oracle的不同版本中,网络连接串的内容是不同的。在网络驱动版本为sql*net或net8时,网络连接串使用数据库实例名构造;网络驱动版本为net8i或net services时,网络连接串使用数据库服务名构造(服务名见后面介绍)。见图3中的填写说明。
4. 域名
9i/10g中新引进参数。在数据库名称后面增加域名构成,类似网络中的域名,使数据库的取名在整个网络环境中唯一。
域名主要用于分布式数据库中数据库之间的连接。例如,在一个网络中有两个数据库,数据库名都是orcl,若这连个数据库之间要建立连接,则必须使用不同的域名加以区分。
5. 全局数据库名
9i/10g中新引进参数。全局数据库名=数据库名+域名。
6. 服务名
9i/10g中新引进参数。服务名=全局数据库名。
当使用网络驱动net8i, net services与oracle9i/10g服务器连接时,不再使用实例名,而使用数据库服务名。
7. 补充
当同一网络中两个数据库的global_dbname相同时,可以通过修改域名和服务名的方式进行调整(当然也可以修改数据库名,不过太繁琐)。
修改完毕后,需修改**中的全局数据库名,并重启**(见8中例子)。
8. 举例
(1) 创建一个数据库,全局数据库名为ora.world,SID(实例名)为orasid。见图1。
(2) 创建完毕后,使用服务名(全局数据库名)建立网络连接。见图2、图3。
(4) 修改全局数据库名(修改域名和服务名)
SQL> alter system set db_domain='''' scope=spfile;
系统已更改。
SQL> alter system set service_names=''ora'' scope=spfile;
系统已更改。
PCOS系统下载站:http://zhuangji.wang
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
抢沙发
千斤顶
显身卡
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册后绑定Q登陆
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页