oracle网络原理,Oracle 数据库网络原理

1.Oracle监听拓扑结构

??? 1521

Oracle网络没有负载,没有负载的一般不容易出问题

连接建立流程

监听:用户连接监听,监听知道数据库在什么位置,他们之间没有长连接

??? 监听把用户的连接请求转发给instance,实例会为这个连接启动一个Server Process,

??? 同时会把Server Process的地址告诉监听,监听告诉客户端,然后客户端直接发起对SP的请求,

??? 同时把用户名和密码给SP,SP会验证,验证成功,建立成功连接,此时和监听没有任何关系,

??? 监听只是在数据库之间建立连接的时候起作用

监听的独立性

监听和数据库之间没有必然联系,但是相互之间可以找到,他们之间没有长连接

监听只做一件事情就是在建立连接的时候起作用,负责转发,一段连接建立,监听没有负载

短时间内有大量的链接请求,可能会出现短时间的延迟,监听是一个端口

2.共享和专用服务器模式

3.Oracle数据库的几个名字

数据库名:show parameter name

实例名:show parameter instance

服务名:show parameter service,其中服务名可以修改

如何得到数据库的服务名字:show parameter service

4.netca

??? Oracle 的监听其实就是三个文件listener.ora 和tnsnames.ora 和 sqlnet.ora

??? 其中sqlnet.ora 基本不用,客户端放置tnsnames.ora,服务器端放置listener.ora

??? 但是实际环境中服务端有两个文件listener.ora 和tnsnames.ora

??? tnsnames.ora是客户端配置的,主机名字是Oracle的监听listener.ora文件里面配置的,也是程序监听的IP

??? 查看方法:netstat -tunpl |grep 1521 ,来确定IP因为实际环境中一个数据库上面可能有多个网卡和IP

5.双监听:双IP或者双端口

6.相关命令

7.动态注册和静态注册

??? 默认情况下Oracle会通过PMon把serviceName注册到监听里面,可以使用命令alter system register 来强制PMON来注册

??? 静态注册:GLOBAL_DBNAME(数据库ServiceName),SID_NAME(数据库实例名字),Oracle_HOME 解决ORacle动态注册不稳定情况

8.几种连接方式

??? sqplus [email protected]? :去tnsnames.ora根据字符串进行解析IP,port 和serviceName,监听必须认识Oracle数据库的serviceName

??? sqplus 用户名/密码 :不走监听,在本地

??? sqplus [email protected]:PORT/服务名字 走监听不走tnsnames.ora

??? sqplus / as sysdba:不走监听,在本地

9.排错流程

连接不上

检查客户端tnsnames.ora?

iP和 port 在服务器端使用:netstat -tunpl |grep 1521 查看IP和Port

service_names :show parameter service 得到服务名字

tnsping:客户端使用命令: tnsping service_names

如果可以通过说明tnsnames.ora 配置没有问题

lsnrctl status

原文:http://gaojingsong.iteye.com/blog/2283248

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值