中易网

请问Oracle的全局数据库是干嘛的啊,谢谢

答案:2  悬赏:40  
解决时间 2021-03-07 02:15
DriverManager.getConnection("jdbc:oracle:thin:@169.254.90.215:1521:orcl","scott","tiger");
请问这个连接字符串的orcl是干嘛的啊





最佳答案
全局数据库名指得是数据库名+域名,例如数据库实例名为orcl,域名为srv1.abc.com,则全局数据库名为orcl.srv1.abc.com,该图中实际输入的是数据库名而非全局数据库名。本地访问的话是可以这样的。
全部回答
数据库名、实例名、数据库域名、全局数据库名、服务名 , 这是几个令很多初学者容易混淆的概念。相信很多初学者都与我一样被标题上这些个概念搞得一头雾水。我们现在就来把它们弄个明白。 一、数据库名 什么是数据库名? 数据库名就是一个数据库的标识,就像人的身份证号一样。他用参数db_name表示,如果一台机器上装了多全数据库,那么每一个数据库都有一个数据库名。在数据库安装或创建完成之后,参数db_name被写入参数文件之中。格式如下: db_name=myorcl ... 在创建数据库时就应考虑好数据库名,并且在创建完数据库之后,数据库名不宜修改,即使要修改也会很麻烦。因为,数据库名还被写入控制文件中,控制文件是以二进制型式存储的,用户无法修改控制文件的内容。假设用户修改了参数文件中的数据库名,即修改db_name的值。但是在oracle启动时,由于参数文件中的db_name与控制文件中的数据库名不一致,导致数据库启动失败,将返回ora-01103错误。 数据库名的作用 数据库名是在安装数据库、创建新的数据库、创建数据库控制文件、修改数据结构、备份与恢复数据库时都需要使用到的。 有很多oracle安装文件目录是与数据库名相关的,如: winnt: d:\oracle\product\10.1.0\oradata\db_name\... unix: /home/app/oracle/product/10.1.0/oradata/db_name/... pfile: winnt: d:\oracle\product\10.1.0\admin\db_name\pfile\ini.ora unix: /home/app/oracle/product/10.1.0/admin/db_name/pfile/init$oracle_sid.ora 跟踪文件目录: winnt: /home/app/oracle/product/10.1.0/admin/db_name/bdump/... 另外,在创建数据时,careate database命令中的数据库名也要与参数文件中db_name参数的值一致,否则将产生错误。 同样,修改数据库结构的语句alter database, 当然也要指出要修改的数据库的名称。 如果控制文件损坏或丢失,数据库将不能加载,这时要重新创建控制文件,方法是以nomount方式启动实例,然后以create controlfile命令创建控制文件,当然这个命令中也是指指db_name。 还有在备份或恢复数据库时,都需要用到数据库名。 总之,数据库名很重要,要准确理解它的作用。 查询当前数据名 方法一:select name from v$database; 方法二:show parameter db 方法三:查看参数文件。 修改数据库名 前面建议:应在创建数据库时就确定好数据库名,数据库名不应作修改,因为修改数据库名是一件比较复杂的事情。那么现在就来说明一下,如何在已创建数据之后,修改数据库名。步骤如下: 1.关闭数据库。 2.修改数据库参数文件中的db_name参数的值为新的数据库名。 3.以nomount方式启动实例,修建控制文件(有关创建控制文件的命令语法,请参考oracle文档) 二、数据库实例名 什么是数据库实例名? 数据库实例名是用于和操作系统进行联系的标识,就是说数据库和操作系统之间的交互用的是数据库实例名。实例名也被写入参数文件中,该参数为instance_name,在winnt平台中,实例名同时也被写入注册表。 数据库名和实例名可以相同也可以不同。 在一般情况下,数据库名和实例名是一对一的关系,但如果在oracle并行服务器架构(即oracle实时应用集群)中,数据库名和实例名是一对多的关系。这一点在第一篇中已有图例说明。 查询当前数据库实例名 方法一:select instance_name from v$instance; 方法二:show parameter instance 方法三:在参数文件中查询。 数据库实例名与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:协议适配器错误”。 数据库实例名与网络连接 数据库实例名除了与操作系统交互外,还用于网络连接的oracle服务器标识。当你配置oracle主机连接串的时候,就需要指定实例名。当然8i以后版本的网络组件要求使用的是服务名service_name。这个概念接下来说明 。 三、数据库域名 什么是数据库域名? 在分布工数据库系统中,不同版本的数据库服务器之间,不论运行的操作系统是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。 如果数据库有域名,则数据库服务名就是全局数据库名;否则,数据库服务名与数据库名相同。 查询数据库服务名 方法一:select value from v$parameter where name = 'service_name'; 方法二:show parameter service_name 方法三:在参数文件中查询。 数据库服务名与网络连接 从oracle8i开如的oracle网络组件,数据库与客户端的连接主机串使用数据库服务名。之前用的是oracle_sid,即数据库实例名 创建oracle数据库(以oracle10g为例) 有两种创建数据库的方式,一种是以命令行脚本方式,即手动方式创建;另一种是利用oracle提供的数据库配置向导来创建。本篇主要介绍在unix和windows下以命令行脚本方式创建oracle数据库。 一个完整的数据库系统,应包括一个物理结构、一个逻辑结构、一个内存结构和一个进程结构,如果要创建一个新的数据库,则这些结构都必须完整的建立起来
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
世界杯和奥运会哪个影响力大 知乎
圆床实用吗,好不好
高考就剩80天,400分冲刺500分
公安大道西加气站我想知道这个在什么地方
才买的新电脑一问,廉租房不让装宽带怎么办啊
阴阳师月卡值得买吗 月卡划算吗
北京人 父母愿意让自己的儿子或者女儿找外地
栖霞市亭口市场监督管理所我想知道这个在什么
使用高位消防水箱有什么优势?
Je m'appelle Hélène我的名字叫伊莲,
我的手一沾洗衣粉就起皮 该怎么办呢
我的世界用什么字母在雪地
79.8平方米的6mm的钢板重量
志军锁业在什么地方啊,我要过去处理事情
ssh整合时,出现message Unable to instantia
推荐资讯
20吨吊车电脑线如何安装
真艺电器维修我想知道这个在什么地方
现在有没有在常州保利大剧院工作的,技术部门
美图秀秀的遮挡,涂鸦,九宫格在哪里?
养兰花和荷兰朱顶红哪个有档次
汽车小刮擦露白底会生锈吗
华润万家(慢城店)在什么地方啊,我要过去处理
唯丽美养生纤体美容SPA在哪里啊,我有事要去
如何评价近几年的国产品牌游戏机
请老师帮忙解决:鸭蛋打开后有的蛋清会是绿色
在吗 当我典当以后不想拿回来可以直接卖掉吗
虞城县司法局地址在哪,我要去那里办事
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?