• 【Oracle11g】06_网络配置


    1.Oracle11g在windows上访问的两种方式

    1.1 通过网络访问

    通过tcp/ip协议访问数据库的话,需要启动2个服务:

    • OracleServiceORCL
    • OracleOraDb11g_home1TNSListener

    访问命令为:sqlplus scott/tiger@orcl

    1.2 本地直接访问

    如果是直接访问本地的话,那么只需要启动1个服务即可

    • OracleServiceORCL

    访问命令为:sqlplus scott/tiger

    2.客户端访问服务器

    Oracle11g中进行网络配置的主要文件有三个,位于$ORACLE_HOMENETWORKADMIN下的sqlnet.ora、listener.ora、tnsnames.ora文件。

    1)tnsnames.ora文件
    客户端的网络服务名配置信息包括服务器地址、监听端口号和数据库SID等,与服务器的监听器建立连接。配置信息保存在名为tnsnames.ora的文件中。

    2)listener.ora文件
    服务器端监听器配置信息包括监听协议、地址及其他相关信息。配置信息保存在名为listener.ora的文件中。在安装服务器软件时自动配置一个监听器。

    2.1 监听相关内容

    • 启动监听:lsnrctl start
    • 停止监听:lsnrctl stop
    • 查看监听:lsnrctl start

    1)监听的配置也可以通过netca来完成。
    2)也可以直接修改$ORACLE_HOMENETWORKADMINlistener.ora文件

    2.1.1 listener.ora的作用

    以下是对listener.ora文件内容的详细解释

    上图中1表示:在oracle对外部过程调用的时候进行的监听,此处的外部过程指的是Oracle无法实现的功能,通过c、c++、java等高级语言编写的函数。
    上图中2表示:在本地计算机上通过1521端口对tcpip进行监听

    2.2 sqlnet.ora的作用

    2.2.1 SQLNET.AUTHENTICATION_SERVICES参数

    1)当用户登录到操作系统后,如果进而允许此用户登录数据库系统,则需要在sqlnet.ora中设置SQLNET.AUTHENTICATION_SERVICES= (NTS);

    2)如果设置为SQLNET.AUTHENTICATION_SERVICES= (NONE),则不允许登录到数据库系统中。

    上述参数我们也可以在netca中进行配置,以下是具体的配置步骤:
    首先在cmd命令窗口中打开netca

    选择【命名方法配置】,点击下一步,在下图就可以看到与sqlnet.ora中的两个参数对应的中文描述

    配置完成后,则会在sqlnet.ora文件中生效

    2.2.2 NAMES.DIRECTORY_PATH参数

    例如:不想让客户端通过简单连接连接到服务端,删除EZCONNECT即可。

    2.3 tnsnames.ora的作用

    1)简单连接:类似conn scott/scott@a84p1l1x02meo8p:1521/orcl的连接方式,不需要客户端进行任何配置
    2)本地命名:类似conn scott/scott@orcl的连接方式,需要客户端配置一个本地命名解析文件,为$ORACLE_HOMENETWORKADMIN nsnames.ora文件,可以使用netca配置。

    以下是tnsnames.ora文件的部分内容:

    该文件一般是在客户端定义,表示:我将以tcp/ip协议通过1521端口连接到100.100.0.106服务器上的orcl数据库。我在客户端mydb作为连接字符串,此处的mydb为服务名

    测试服务是否能连接上:tnsping mydb

    3.动态注册和静态注册

    3.1 动态注册

    在listener.ora中,如果有类似

    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
          (ADDRESS = (PROTOCOL = TCP)(HOST = a84p1l1x02meo8p)(PORT = 1521))
        )
      )
    

    就是动态注册。动态注册的一个特点就是不需要LISTENER.ORA文件。默
    认情况PMON 向LSNRCTL 注册TCP/IP协议,PORT 为1521。

    以下是一个小实验:验证动态注册
    我们先停止监听lsnrctl stop,然后删除listener.ora文件,接着启动监听lsnrctl start,通过lsnrctl status查看状态,第一次查看状态如下:

    此时的监听还没启动,过30s后再次查看

    但是依旧没有生成listener.ora文件

    3.2 静态注册

    注册就是将数据库作为一个服务注册到监听程序,在数据
    库服务器启动过程中,数据库服务器会向监听程序注册相应的
    服务 。
    在listener.ora中,如果有类似

    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME = Orcl)
          (ORACLE_HOME =   D:appAdministratorproduct11.1.0db_1)
          (SID_NAME = ORCL)
        )
      )
    

    ,就是静态注册

    以下是静态注册的步骤,使用Net Manager进行注册

    打开后如下如:

    点击【添加地址】后出现下图

    接着选择数据库服务,则出现下图:

    点击【添加数据库】

    填写完相应的信息后,直接关闭窗口,提示保存,保存即可

    此时,在对应的路径下生成了listener.ora文件了

    停止监听,启动后查看状态,如下:

    状态为UNKNOWN表示是通过静态注册的服务名。

    3.3 小结

    使用lsnrctl status查看某个服务是静态注册、还是动态注册;如果是UNKNOWN,表示静态注册;如果是READY,表示动态注册。
    READY的服务是由PMON进程动态的注册到监听器,因此PMON进程所在的数据库一定处于打开状态,所以说这些服务名所对应的实例已经准备好(READY)接受用户的连接请求。
    UNKNOWN的服务是通过编辑listener.ora而静态注册的服务名,监听器并不知道该服务名对应的实例是否打开了,所以用UNKNOWN表示。
    动态注册、静态注册可以根据需要进行转换

  • 相关阅读:
    STL与基础数据结构
    solr基础总结
    linux命令笔记
    SolrCloud集群部署
    oracle SQL笔记
    内存溢出之Tomcat内存配置
    solr查询优化(实践了一下效果比较明显)
    JAVA处理线程超时
    Solr 数据导入 <一>DIH简单使用
    几种防止表单重复提交的方法
  • 原文地址:https://www.cnblogs.com/OliverQin/p/12629992.html
Copyright © 2020-2023  润新知