备考ocp_ORACLE专题之网络

本文详细探讨了Oracle网络相关知识,包括监听与数据库的关系、连接建立过程、监听配置、tnsnames.ora文件生成及注意事项。通过一系列问题解答,深入解析了Oracle网络中的服务名、数据库名、实例名的查看方法以及客户端连接数据库的故障排查。
摘要由CSDN通过智能技术生成

声明:原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明出处,否则追究版权法律责任。

深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/39780805

    枯燥的知识点介绍是漫天飞舞,我们不妨从中筛选出部分细节,带着问题来学习Oracle体系知识,这样也许印象会更深刻吧。接下来的一段日子里,本人为了通过ocp考试,将会通过这种形式,开始oracle体系、备份、调优等一系列的学习梳理与练习,以下即是一个自我的总结,也作为网络上的简单分享。

    基础知识,如果也能帮助到初学者,欣慰不已。

【不耻下问】

问题1:oracle网络是没有负载的,绘制简单的网络拓扑结构?

数据库由PGA、SGA、相关文件构成,当有用户发出请求时,会通过监听建立连接,生成server process进程,建立网络连接后,监听就不再起作用,一切交互都只会由server process来完成。绘制简单拓扑结构,如下图所示:

问题2:简述监听与数据库间的关系?

监听:对于oracle来说是一个独立的模块。

既可以先启动oracle,再启动监听,也可以先启动监听,再启动oracle。

问题3:监听和数据库间是否存在长连接?

    监听和数据库之间是不存在长连接,这个要明确,只是体现出来的效果是:需要连接时监听可以找到数据库的位置,同样需要连接时数据库也可以找到监听的位置。给人的直观感觉是两者间似乎是存在着长连接的关系,但这并不存在。

问题4:简述客户端和实例是如何通过监听建立连接的?

    因为监听知道数据库在具体的位置,便可以根据请求而建立连接。当用户连接监听时,因为监听是知道数据库的位置的,所以监听就会把用户的连接请求转发给实例(即数据库),实例会专门为连接启动一个server process,同时会把service process的地址告诉监听,监听会把server process地址告诉给客户端,客户端会直接发起对server process的连接请求,这时候客户端和oracle的实例正式建立起连接。

    然后客户端会把用户名和密码交由server process,而server process会将用户名和密码传递给数据库来进行验证。验证成功后,就标志着这个连接正式建立了。

    此后,客户端和数据库之间的会话全交由server process来完成,而监听已经完成了它的使命,不会再起作用了。更明确一点,监听只是在建立连接时才会起作用,监听是没有负载的,这也就与第1题中说的网络没有负载对应上了。

问题5:监听什么时候最容易出问题?

    短时间内发起大量的请求。当有大量连接请求时,比如说短时间内出现上百个连接请求的时候,会超过监听的承载负荷,这段时间内通常是会出现延迟现象。这时候最直观的反应就是,连接数据库时会发现响应时间变长了。

问题6:建立监听后,如何立刻完成动态注册?

无配置启动监听后,需要60秒才能注册。如果想要立刻注册,需要在sqlplus下手工执行语句,如下:

SQL> alter system register;
System altered.

[oracle@hyl ~]$ lsnrctl status

--查询监听状态,你会发现已经完成了注册工作

问题7:监听涉及到的文件有哪些?

tnsnames.ora(客户端文件)、listener.ora(服务器端监听文件)、sqlnet.ora(这是个可选文件)。

问题8:配置监听时如何启动图形化?

在主机端或者远程使用X-manager、VNC等软件,可以调出oracle图形化界面,启动图形化之前,需要操作如下指令:

[root@hyldb ~]# xhost +

access control disabled, clients can connect from any host

[root@hyldb ~]# export DISPLAY=192.168.1.104:0.0

--把图形化界面引入到本地,这里的IP地址是用于远程调取图形化界的机器IP地址

[root@hyldb ~]# su - oracle

[oracle@hyldb ~]$ netca

如下出现配置监听图形化

接下来按照步骤逐步完成即可。

完成后,会自动生成一个listener.ora文件。

问题9:监听文件的路径是什么?

监听文件一般存在于oracle根目录下,可以通过如下路径找到:

[root@hyldb ~]# su - oracle

[oracle@hyldb ~]$ cd $ORACLE_HOME

[oracle@hyldb db_1]$ ls

apex         deinstall      jdev     opmn         slax

assistants   demo           jdk      oracore      sqldeveloper

bin          diagnostics    jlib     oraInst.loc  sqlj

ccr          dv             ldap     ord          sqlplus

cdata        emcli          lib      oui          srvm

cfgtoollogs  EMStage        log      owb          startup.log

clone        has            md       owm          suptools

config       hs             mesg     perl         sysman

crs          ide            mgw      plsql        timingframework

csmig        install        network  precomp      ucp

css          instantclient  nls      racg         uix

ctx          inventory      oc4j     rdbms        usm

cv           j2ee           odbc     relnotes     utl

dbs          javavm         olap     root.sh      wwg

dc_ocm       jdbc           OPatch   scheduler    xdk

[oracle@hyldb db_1]$ cd network

[oracle@hyldb network]$ ls

admin doc  install  jlib  lib  log  mesg 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值