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 用户名/密码@字符串  :去tnsnames.ora根据字符串进行解析IP,port 和serviceName,监听必须认识Oracle数据库的serviceName
    sqplus 用户名/密码 :不走监听,在本地
    sqplus 用户名/密码@IP: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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值