ORACLE学习笔记-ORACLE基本概念

ORACLE学习笔记-ORACLE基本概念

数据库名

数据库名是存储在控制文件中的名称,它代表的是数据库,也就是数据库包含的所有的物理文件的总称。数据库名即下图的全局数据库名,实例名即下图的SID

img

查询数据库名称SQL:

 SELECT NAME FROM V$DATABASE;

查询数据库当前实例名:

 SELECT INSTANCE_NAME FROM V$INSTANCE;

**实例名 **

用于响应某个数据库操作的数据库管理系统的名称。实例名是由初始化参数文件的参数instance_name决定的。如果这个参数不被指定(即instance_name没有被指定为任何值),那么实例的名字由该用户的环境变量ORACLE_SID(注意这里是大写)决定。一个数据库可以有多个实例,例如RAC,实例名(SID)用于标识数据库内的每一个实例的名称

服务名

SERVICE_NAME指的是listener中的全局数据库名:这个名字是由listener.ora中GLOBAL_DBNAME参数决定的。SERVICE_NAME是Oracle8i新引进的,8i之前一个数据库只能有一个实例。8i之后一个数据库可以对应多个实例,例如RAC。为了充分利用所有实例,并且令客户端连接配置简单,ORACLE提出了SERVICE_NAME的概念。该参数直接对应数据库,而不是某个实例。

img

简单的来说:

​ SID是对内的,是实例级别的一个名字,用来内部之间称呼用。SERVICE_name是对外的,是数据库级别的一个名字,用来告诉外面的人

上面了解到数据库实例名和服务名的概念,下面我们解释JDBC连接数据库的三种方式:

格式一:jdbc:oracle:thin:@//:/<service_name>
格式二:jdbc:oracle:thin:@::
格式三:jdbc:oracle:thin:@

格式一是通过SERVICE_NAME连接Oracle数据库,适合于单实例和多实例数据库

格式二是通过实例名连接数据库,RAC环境下实例名不唯一,不能充分利用数据库资源

格式三为通过本地配置的TNSNAME。

综上建议使用格式一或者格式三。
我们通过Navicat Premium 连接oracle采用的是第一种方式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jmDWmnpZ-1594890194321)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1594889590604.png)]

也可以采用第二种方式:只是上述方式应该是要连接的服务名,而下面的方式用的是实例名

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-onfy1Rg7-1594890194322)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1594889704729.png)]

我们用ODI工具的JDBC驱动连接Oracle 则采用的是第二种方式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gVNdhhZQ-1594890194326)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1594889912189.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2yKiZuDz-1594890194329)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1594889966414.png)]

594890194326)]

[外链图片转存中…(img-2yKiZuDz-1594890194329)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值