zoukankan      html  css  js  c++  java
  • 配置OracleNet网络

    1. 三个重要文件
      1. 基于服务端的Listener.ora
      2. 基于客户端的Tnsnames.ora
      3. 基于服务端或客户端(两端)的Sqlnet.ora(可选)
      4. 注:Linux环境下,安装后默认没有此三类文件,需要通过工具或手工编辑进行建立。默认的存储位置:$ORACLE_HOME/network/adminw
    2. Listener.ora
      1. 监听文件---在客户端上不起作用,在服务端上用来监听来自客户端的会话
      2. 监听能不能起来,和有没有Listener.ora没有关系,但是官方建议有。在默认没有Listener.ora文件的前提下,客户端也是可以连接到服务端的。
      3. 创建的三种方式:
        1. NETMGR-----此工具中的两个文件夹,代表含义如下:
          1. Service Naming----对应的就是$ORACLE_HOME/network/admin/tnsnames.ora
          2. Listeners----对应的就是$ORACLE_HOME/network/admin/listener.ora
        2. NETCA
        3. 手工编辑
      4. 监听状态
        1. lsnrctl status ----查看监听状态
        2. lsnrctl start [LISTENER] 启动监听 lsnrctl start xxxx;
        3. lsnrctl stop [LISTNER] 关闭监听
      5. 监听注册(实例注册)
        1. 动态监听注册
          1. Oracle默认是动态监听注册,60s轮询一次,在60s内动态完成注册。如果不想等待60s,则可以运行 alter system register 命令,则实例会立马注册成功。
          2. ORA报错
            1. ORA-012541: 无监听程序-----查看监听是否启动
            2. ORA-012514:监听程序当前无法识别连接描述符中的请求服务------第一想到的是实例有没有注册上
          3. 数据库默认的动态监听注册是往LISTENER上注册。但是通过修改参数 Local_listner,可以实现动态注册到不同的端口号监听中。
          4. alter system set local_listener=' ';-----即使将此参数设置为空,默认也会动态注册到LISTENER上。如果改成其他的端口,则就会往该端口上注册
          5. 总结:
            1. 默认情况下,LREG会将实例信息动态的注册到LISTENER监听上(默认端口1521);
            2. 如果有新的监听LSNR2(新端口号1888),要让LREG动态的将实例信息注册到LISTENER和LSNR2上,那么需要修改local_listener参数,把他们都添加进来。修改格式:SQL> alter system set local_listener='(ADDRESS=(PROTOCOL=tcp)(HOST=henry)(PORT=1521))','(ADDRESS=(PROTOCOL=tcp)(HOST=henry)(PORT=1888))' ;
            3. 如果所有的端口号都在LISTENER监听上(因为是默认的),所以可以将local_listener参数置空,这时在LISTENER上的所有端口,都将被动态注册实例信息。
        2. 静态监听注册
          1. 怎样辨别是动态注册还是静态注册?
            1. status= UNKONWN ----- 静态监听注册
            2. status= READY -----动态监听注册
          2. SID_name=‘大小写敏感’
          3. 在Listener.ora中添加一段代码就是静态监听注册
    SID_LIST_LSNR2 = 
      (SID_LIST=
        (SID_DESC=
        (GLOBAL_DBNAME = memeda)
        (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
        (SID_NAME =CDB1) )
      )
        1. 动态注册和静态注册的区别:在数据库关闭后,动态注册是不能远程到数据库的,但静态注册可以远程到数据库,对数据库进行远程启动。
    • Tnsnames.ora
      1. 主要配置在客户端上,主要作用是用来提供名称解析。
      2. Linux可以直接使用NETMGR命令进行图形化配置
      3. 连接方式
        1. EZ connect:sqlplus scott/tiger@192.168.59.135/PROD1
        2. SQL*PLUS工具:输入用户名和密码即可
        3. CMD窗口登录
        4. SQL Developer:Oracle自己的工具
        5. PL/SQL Developer :一个三方工具
    • Sqlnet.ora
      1. 作用:
        1. 指定客户端名称解析的顺序(NAMES.DIRECTORY_PATH)
        2. 认证方式的限制(SQLNET.AUTHENTICATION_SERVICES)
    • DB Link
      1. 用于查询不用数据库之间的数据,有公有和私有之分
      2. 创建语句(在PROD1上查询PROD2的数据,则可以在PROD1上创建DBLINK)
    SQL> create database link link_henry connect to soctt identified by tiger using 'PROD2'; ---后面的USING 'PROD2',这个需要在本机查找Tnsnames.ora文件中的别名 PROD2
      1. DBLink 和Tnsname.ora都配置好了,启动监听,就可以执行语句进行不同数据库之间的数据查询。

  • 相关阅读:
    kafka 控制台命令
    VMware centos7 如何配置静态ip并且可上网
    kafka学习-坑篇
    IDEA中Git的更新、提交、还原方法
    深入理解Java的接口和抽象类
    java动态代理实现与原理详细分析
    注解 @EnableFeignClients 工作原理
    com.mysql.cj.jdbc.Driver 新特性jdbc.url连接供参考
    插入数据库中文乱码
    logback配置文件
  • 原文地址:https://www.cnblogs.com/eniniemand/p/13648200.html
Copyright © 2011-2022 走看看