当用户登录数据库时,用户进程发送请求,服务器端的监听程序监听到用户进程的请求,使用listener.ora核对用户连接信息,如果正确,则启动一个服务器进程,然后把用户进程直接或者间接交付给服务器进程。(专用服务器模式)
解决方案 »
- 截掉字符串"HelloWorldh"中首尾的"H"和"h"
- SQL查询优化
- 怎么解决Dual表的序号问题
- 怎样用SQL语句把某个表里的字段都列出来??
- 存储过程列表获取。
- * 和 ?有什么作用和区别,在取数据的时候!
- 什么是session?知道的说一下吧~
- 把这10分加上:oracle805的客户端可以连接oracle816的服务器么?如果可以,分别在服务器端和客户端如何设置啊
- Oracle9i win2000 server 中安装失败!!!
- select 学号 from 表 where 学号....
- 请教 oracle10g 行列数据转换问题
- 配置ASM时,出现以下报错Marking disk "VOL1" as an ASM disk:[FAILED]
专用服务器连接模式下,监听到用户请求时创建专用服务器进程,用来处理和响应用户请求
共享服务器连接模式下,将监听到的用户请求转发调度器,再由调试器调度共享服务器进程处理conn / as sysdba连接时,使用的是当前登陆操作系统的用户名和密码认证。如果oracle是由当前用户安装的,那它可以成功登陆
监听是监测用户请求,并把合理请求提交给服务器处理。不用密码登陆,是因为用操作系统认证。sqlnet.ora 里面有SQLNET.AUTHENTICATION_SERVICES = (NTS)
把NTS改成none,就不能用这种方式登陆了 。
关于超级管理员登陆不需要密码因为:
数据库的三种验证机制:
操作系统验证(具有sysdba和sysopera的用户)
密码文件验证(具有sysdba和sysopera的用户)
数据库验证(普通用户)
因为不需要密码是不安全的,所以一般在计算机管理中的用户组ora_dba
把Administrator删除,删除之后就要输入密码了。
监听是监测用户请求,并把合理请求提交给服务器处理。不用密码登陆,是因为用操作系统认证。sqlnet.ora 里面有SQLNET.AUTHENTICATION_SERVICES = (NTS)
把NTS改成none,就不能用这种方式登陆了 。 为什么 我在我们公司的的环境下面没有发现有这个配置 ?
如果把你本地oracle作为服务端,那么这时候,你的oracle监听就启作用了,如果你是直连别人,监听就没用了。
监听的作用就是给客户端电脑和中心数据库电脑建立数据的连接。一旦建立连接就不对两者造成任何影响,连接上的客户端上的用户可以做任何操作和查询,哪怕监听已经关闭或者被破坏。
注意:在数据库本机电脑连接数据库不需要用监听。哪怕没有监听都可以建立链接。
1.举例说明假设有一台电脑A中安装了一个数据库,其中只有一个实例peng,然后有一台客户端电脑B相连接到A中的数据库实例peng,那A中就必须对监听进行设置,否则B无法连接到A中的数据库实例peng。
2.如果已经配置好了监听,那马上B中的数据库客户端就可以通过监听建立到A的连接,而且没有断开连接。此时A中的监听已经完成使命,如果此时将A中的监听服务停止或者破坏或者删除,B还是可以继续访问A的数据库,不会受到任何影响。但假如B连接上后又与A的数据库断开了连接。那么B再想连接上A的话,就得A上的监听启动并配置好。
3.一句话,监听是配置在数据库服务端的,而且是用作建立客户端和数据库服务端直接的连接的一个服务程序;
conn / as sysdba连接时,使用的是当前登陆操作系统的用户名和密码认证。如果oracle是由当前用户安装的,那它可以成功登陆,通俗点说,当你用“as sysdba”登录时是按照操作系统用户验证的,也就是说oracle认为你都已经是这台电脑的老大了,我oracle没法限制你?