sqlplus连接Oracle数据库的整个流程,
例如 sqlplus /nolog
     conn system/oracle(密码)这个连接Oracle的整个机制是什么(注重于连接的原理上)如果有谁懂或有相关内容给予提示的话,本人将重分感激!

解决方案 »

  1.   


    sqlplus 就一工具,它能连接到数据库并进行相应的操作。既然是工具,我们知道怎么用好它就可以了,没必要去研究它的原理。当然如果是做这块工具研究的除外. 
      

  2.   

    http://download.oracle.com/docs/cd/B19306_01/network.102/b14212/architecture.htm#i1040997這個連接可能有幫助
      

  3.   

    例如 sqlplus /nolog 
        conn system/oracle(密码) 那就拿你这个例子来说吧
    sqlplus /nolog 你可以理解为就是在操作系统上运行了SQLPLUS这个应用程序 因为此时并没有连接到数据库
    conn system/oracle  这句话就是执行连接了
    ORACLE的连接分两种方式 SHARED SERVER 和DEDICATED SERVER
    如果是SHARED SERVER 方式下 那么客户端发起一个连接请求 服务器端的LISTENER会监听到连接请求 接下来把用户连接转接到一个叫DISPATCHER上去 之后客户端进程和SERVER PROCESS的交互就通过这个DISPATCHER来进行
    如果是DEDICATED SERVER方式 那么当客户端发起一个连接请求时 服务器端的LISTENER会派生出一个专有进程与客户端进行进行交互(此处之所以说专有是和前一种模式SHARED SERVER 对比而言 。因为一个DISPATCHER可以服务多个客户端进程)更详细的官方材料可以参考下面链接http://blog.csdn.net/wh62592855/archive/2009/09/28/4604903.aspx
      

  4.   

    当客户端和服务端在一台机器上时,可以不通过listener,只设置ORACLE_SID就能连接
      

  5.   

    曾今写了一个用java做的连接oracle数据库的替代工具,当时老是连不上,一生气,删除了。后来才恍然大悟,我没有装oracle。老猪是不是也想做一个啊?
      

  6.   

    1) 查询sqlnet.ora看看名称的解析方式,发现是TNSNAME,或者hostname。
    2) 则查询tnsnames.ora文件,从里边找tnsname的记录,并且找到主机名,端口和service_name。
    3) 如果listener进程没有问题的话,建立与listener进程的连接。
    4) 根据不同的服务器模式如专用服务器模式或者共享服务器模式,listener采取接下去的动作。默认是专用服务器模式,没有问题的话客户端就连接上了数据库的server process。
    5) 这时候网络连接已经建立,listener进程的历史使命也就完成了。
      

  7.   


    1的描述有点问题, sqlnet.ora是服务器配置简单来讲就是socket握手和验证的过程
    客户端发出指令给服务器,服务器根据用户的用户名和密码来验证,返回消息给客户端不过这么简单的一个握手验证行为,Oracle根据自己的体系的需要,考虑的很全面,从而引入了很多的概念你可以先一些看一些有区别的概念
    1.通过tnsname登录和本地登录2.sysdba/sysoper登录和normal登录3. 共享密码文件,独占密码文件4. 专有服务和共享服务你可以先对这些概念了解一下,了解这些概念后,你基本上对登录的方式和内在流程有一定了解了。
      

  8.   

    呵呵 对哦 SQLNET和LISNTER都是服务器端的配置 疏忽了疏忽了