zoukankan      html  css  js  c++  java
  • day06_oracle监听+数据传输


      listener.ora

    # listener.ora Network Configuration File: /oracle/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
    # Generated by Oracle configuration tools.

    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME = ECOM)    【第二步:配置的监听的数据库,及实例名】
          (ORACLE_HOME = /oracle/app/oracle/product/10.2.0/db_1)
          (SID_NAME = ECOM)
        )
      )

    LISTENER =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.8)(PORT = 1521))   【第一步:TCP协议,监听的地址,监听的端口】
      )  

    tnsnames.ora

    # tnsnames.ora Network Configuration File: /oracle/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
    # Generated by Oracle configuration tools.

    DB150【传输文件名】 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.18.150)(PORT = 1521)) 【服务器端开放的IP和端口】
        )
        (CONNECT_DATA =
          (SERVICE_NAME = TEST) 【服务名】
        )
      )

    测试监听监听效果:


    监听示意图:


    监听+传输文件:

    oracle 数据库在最后面,公司没有发布数据库的吧,前端有中间件吧,外部请求通过web转给中间件,中间件再传给中间件,然后数据库再返回来!
    那么中间件为什么能传给数据库呢?数据库得开放一个端口,这个端口就叫做监听端口。来接收外部的请求,这就是开启监听的目的。
    所以说Oracle数据库必须要开启监听,要不没法与外界连接。【数据库之前连接也是通过监听】



    【关闭防火墙和selinux】



    开启监听2种方式:

    1、图形化操作 【用oracle用户登录,不能用root,会有shell变量问题】

    (1)netca

    Litener configuration--->Add--->

    (2)netmgr【进入oracle网络管理器】

    Listeners---->新建--->添加LISTENER NAME--->

    Listening Locations---->Add Adress Host:添加IP或主机名   Port:1521

    服务器下可以有多个库吧,你要监听哪个库?多实例就多个库吗,

    Database Services--->Add Database--->Golbal Database Name:TEST    SID:TEST ------>关闭、保存


    2、直接修改配置文件(配置好一次,可以留下一份,下次再用时,直接copy修改一下就成)
    $ORACLE_HOME/network/admin





    监听器启动 【命令是安装Oracle时创建的,执行第2个脚本,就是将一些命令放到你的 /usr/bin下】
         $ lsnrctl start
    停止监听器的命令为
         $ lsnrctl stop
    监测监听器当前状态的命令为
         $ lsnrctl status




    验证:服务器之间测试,两台oracle数据库

    在本地创建一个 lipengfei表,然后在测试库上查询本地,然后再远程连接查看





    二、传输文件(Tnsname文件,说明要连接哪个服务器,哪个端口)

    Oracle客户端与服务器端的连接是通过客户端发出连接请求,由服务器端监听器对客户端连接请求进行合法检查,如果连接请求有效,则进行连接,否则拒绝该连接。


    tnsnames.ora主要记录了服务别名和对应的信息

    例如 你要连接 pc1主机上服务端口为1521的prod数据库服务,那么你必要提供这些信息:

    sqlplus 用户/密码@远端IP:1521/实例名 

    为了方便和早期兼容性, 把这些信息 以服务别名的形式写入到tnsnames.ora里, 这样ORCL这个服务别名 就对应于 pc:1521/orcl  这些信息,在连接时你只需要提供这个服务别名:

    sqlplus system@orcl





    1、命令操作
    netmgr

    Service Naming--->新建--->Net Service Name--->DB160--->TCP/IP(internet protocol,第2个是加密的,咱们不用加密)
    --->Host Name:192.168.18.160【对端】   Port Number:1521【对端】--->Service Name:TEST--->finish

    关闭--->保存



    2、直接修改配置文件(配置好一次,可以留下一份,下次再用时,直接copy修改一下就成)
    $ORACLE_HOME/network/admin


    【校验】

    sqlplus sys/lipengfei@db160 as sysdba   【登录走的是传输文件,登录的是对端服务器】

    select * from lipengfei; 【这是远端服务器独有的表】




    【登录方式】

    9i之前:
    sqlplus /nolog

    show user ;【空的,当前只是登录sqlplus工具】

    conn sys/lipengfei as sysdba


    10g后:
    sqlplus sys/lipengfei as sysdba   






    两方服务器互相连接如何?操作?【通过scp文件过去】















  • 相关阅读:
    4. Postman测试集的批量执行(转)
    3. Postman Tests断言(转)
    2. Postman发送各种格式请求的方法
    1. Postman的安装
    2. Django创建项目
    Redis学习笔记(一)
    Oracle连接查询
    Redis学习笔记(五)- 数据类型之set类型
    Redis学习笔记(四)-数据类型之list类型
    PL/SQL实现JAVA中的split()方法的小例子
  • 原文地址:https://www.cnblogs.com/xiaoxiao5ya/p/445a1fb259b182193744b80cde64f1af.html
Copyright © 2011-2022 走看看