ORACLE数据库的连接

简介:

监听程序

数据库启动后,连接数据库有两种方式,分别是:本地连接通过监听程序连接

本地连接

通过登录数据库运行的主机后,不通过监听程序访问数据库实例,使用ps –ef|grep ‘LOCAL=YES’可以查看到其进程情况

通过监听程序连接

远程客户端程序通过监听器连接到数据库实例,可以通过ps –ef|grep ‘LOCAL=NO’方式查看。

实例通过两种方式注册到监听程序,分别是:静态注册动态注册两种方式。  

静态注册

静态注册方式是配置$ORACLE_HOME/network/admin/listener.ora文件,当监听程序启动后实例被直接注册到监听程序中,如下是配置信息:

586ab9afad1c7ca7cca972ab646f98baad582631

监听启动后,通过lsnrctl status可查看到服务状态,如果是UNKNOWN状态,表示实例是通过静态注册方式注册成功的

动态注册

ba0076009c54d9ffc08aa91675167a29e0bb2433

动态注册是在监听启动后,pmon进程每1分钟向监听注册一次,使用lsnrctl status可查看服务状态是READY,可确定实例是通过动态注册方式注册成功的。

监听配置及问题排查

监听配置

listener.ora配置文件主要有如下几个参数:

8a1ee73c8f1a66e10639365c596691e22c41cb04

sqlnet.ora配置文件主要有如下几个参数:

708ef10588d2a802a419d5d1ff4dcab4e4351ca7

问题排查

监听连接不上:

  1. 首先通过 telnet ip地址 端口号 或tnsping ip地址:端口号判断监听是否正常
  2. 再查看核对服务名是否正确

服务名不对:

通过Sqlplus或pl/sql连接时要注意服务名和实例名的区别,通过sqlplus或pl/sql连接,需要使用服务名进行连接,如果使用Java瘦客户端需要使用实例名访问。

TAF 配置

Client-Side Connect time Failover

在用户端的tnsnames.ora中配置多个地址,用户发起连接请求时,尝试依次按地址列表进行访问,如果第一个地址无法访问,那么访问第二个地址,直至连接成功或全部IP地址访问完毕。这种连接的特点是一旦连接建立之后,节点出现故障都不会做处理,从客户端的表现就是会话断开了,用户程序必须重新建立连接。

TAF

所谓TAF(Transparent ApplicationFailover ),就是连接建立以后,应用系统运行过程中,如果某个实例发生故障,连接到这个实例上的用户会被自动迁移到其他的健康实例上。

对于应用程序而言,这个迁移过程是透明的,不需要用户的介入.在配置时,需要添加FAILOVER_MODE配置项,此配置项有:METHODTYPEDELAYRETRIES四个子配置项。

METHOD(basic指感知到故障节点时才创建其他节点的连接;preconnect指事先创建好连接)

TYPE(session指事务方式回滚,如果是查询则丢弃之前的查询重新获取数据.select指从剩下节点获取剩余数据,之前已获取的数据不再在新节点获取)

DELAY(重新连接的时间间隔)

RETRIES(重试次数)

Server-Side TAF

在Server端配置TAF,必须配置SERVICE配置项。

RAC 下SCAN-IP原理和局限

SCAN-IP注册访问原理

de6fe09d65fdf0ac014ee095427a5d02ccfbe002

  1. RAC下各VIP注册到SCAN监听器中
  2. 客户端访问SCAN监听
  3. SCAN监听根据负载情况,分配一个VIP给客户端
  4. 客户端收到VIP后,访问对应的VIP地址

SCAN-IP的局限

918c9460ebd9518f2a8996756e325178bd2dc113

  1. RAC下各VIP注册到SCAN监听器中
  2. 客户端访问SCAN监听
  3. SCAN监听根据负载情况,分配一个VIP给客户端
  4. 客户端收到VIP后,访问对应的VIP地址,数据库如果在防火墙内,返回给客户端的是防火墙内的VIP地址,客户端在防火墙外无法直接使用防火墙内的VIP地址,此时会访问失败
原文发布时间为:2018-01-22
本文作者:姜刚
本文来自云栖社区合作伙伴“ 数据和云”,了解相关信息可以关注“ 数据和云”微信公众号
相关文章
|
15天前
|
SQL Oracle 关系型数据库
【Oracle】玩转Oracle数据库(一):装上去,飞起来!
【Oracle】玩转Oracle数据库(一):装上去,飞起来!
56 7
|
15天前
|
SQL Oracle 关系型数据库
【Oracle】玩转Oracle数据库(七):RMAN恢复管理器
【Oracle】玩转Oracle数据库(七):RMAN恢复管理器
41 5
|
8天前
|
存储 Oracle 关系型数据库
Oracle的模式与模式对象:数据库的“城市规划师”
【4月更文挑战第19天】在Oracle数据库中,模式是用户对象的集合,相当于数据库的城市规划,包含表、视图、索引等模式对象。模式对象是数据存储结构,如表用于存储数据,视图提供不同查看角度,索引加速数据定位。良好的模式与模式对象设计关乎数据效率、安全和稳定性。规划时需考虑业务需求、性能、安全和可扩展性,以构建高效数据库环境,支持企业业务发展。
|
12天前
|
JavaScript 关系型数据库 MySQL
❤Nodejs 第二章(Node连接本地数据库)
【4月更文挑战第2天】本文介绍了如何使用Node.js连接本地MySQL数据库。首先,提到了在MySQL官网下载安装数据库和使用Navicat for MySQL进行数据库管理。接着,通过`yarn add mysql`在项目中安装数据库依赖。然后,创建`app.js`文件,设置数据库连接参数,并建立连接进行查询操作。遇到导入模块的错误后,修改导入方式为CommonJS语法。
30 1
|
14天前
|
SQL 监控 关系型数据库
PG数据库释放闲置连接
PG数据库释放闲置连接
21 0
|
15天前
|
存储 SQL Oracle
【Oracle】玩转Oracle数据库(二):体系结构、存储结构与各类参数
【Oracle】玩转Oracle数据库(二):体系结构、存储结构与各类参数
36 7
|
24天前
|
弹性计算 关系型数据库 MySQL
阿里云数据库服务器价格表,数据库创建、连接和使用教程
阿里云数据库使用流程包括购买和管理。选择所需数据库类型如MySQL,完成实名认证后购买,配置CPU、内存和存储。确保数据库地域与ECS相同以允许内网连接。创建数据库和账号,设置权限。通过DMS登录数据库,使用账号密码连接。同一VPC内的ECS需添加至白名单以进行内网通信。参考官方文档进行详细操作。
125 3
|
25天前
|
网络协议 数据库连接 网络安全
DM数据库连接数据库时报:创建sokect连接失败
DM数据库连接数据库时报:创建sokect连接失败
13 0
|
7天前
|
关系型数据库 MySQL 分布式数据库
《MySQL 简易速速上手小册》第6章:MySQL 复制和分布式数据库(2024 最新版)
《MySQL 简易速速上手小册》第6章:MySQL 复制和分布式数据库(2024 最新版)
43 2
|
23天前
|
SQL 数据可视化 关系型数据库
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
105 0

推荐镜像

更多