• 关于oracle11g简单的网络配置


        大家在学习oracle的时候,网络配置和os认证一般很困扰,下面来介绍下关于oracle的网络配置。

        我的服务器是在虚拟机里,客户端是在我的电脑上。我的oracle服务器基本信息:

    数据库名:orcl3939    ip:178.3.601.172           虚拟机名: localhost.localdomain           数据库全局名:orcl3939.localdomain

    客户端是从oracle官网上下载的win64_11gR2_client,第三方工具使用的是PL/SQL DEVELOPER

    下面介绍一下网络配置方面的一些名词:

    Global_name对一个数据库(Oracle database)的唯一标识,oracle建议用此种方法命令数据库。该值是在创建数据库是决定的,缺省值为Db_name. Db_domain。

    DB_NAME:    
    DB_NAME概念相比于INSTANCE_NAME要重要的多,它决定实例将挂在的数据文件。它出现在数据文件,控制文件,日志文件中。在参数文件中也出现,且必须出现。这个参数涉及到系统的物理文件。
    SERVICE_NAME和GLOBAL_DBNAME
     这两个参数之所以放在一起讲,是因为他们往往是成对出现的。SERVICE_NAME出现在Tnsnames.ora文件中,是客户端要请求的服务名。
    Service_name该参数是oracle8i新引进的。在8i以前,我们用SID来表示标识数据库的一个实例,但是在Oracle的并行环境中,一个数据库对应多个实例,这样就需要多个网络服务名,设置繁琐。为了方便并行环境中的设置,引进了Service_name参数,该参数对应一个数据库,而不是一个实例,而且该参数有许多其它的好处。该参数的缺省值为Db_name. Db_domain,即等于Global_name。一个数据库可以对应多个Service_name,以便实现更灵活的配置。该参数与SID没有直接关系,即不必Service name 必须与SID一样。
    Net service name网络服务名,又可以称为数据库别名(database alias)。是客户端程序访问数据库时所需要,屏蔽了客户端如何连接到服务器端的细节,实现了数据库的位置透明的特性。

    ORACLE_SID(INSTANCE_NAME):(ORACLE SYSTEM IDENTIFIER)
    以环境变量的形式出现的。
    Oracle实例是由SGA和一组后台进程组成的,实例的创建和启动需要一个参数文件,而参数文件的名称就是由ORACLE_SID决定的。对于init文件,缺省的文件名称是init<ORACLE_SID>.ora,对于spfile文件,缺省的文件名称是spfile<ORACLE_SID>.ora
    设置不同的ORACLE_SID值,就可以默认使用不同的参数文件启动不同的数据库实例。
    另外,ORACLE_SID的作用远远不是作为一个实例入口这么简单的,在实例启动后,实例名称INSTANCE_NAME也是从ORACLE_SID得到的。
    ORACLE_SID参数,这个参数是操作系统中用到的,它是描述我们要默认连接的数据库实例.
    instance_name是oracle数据库参数。而ORACLE_SID是操作系统的环境变量,ORACLE_SID必须与instance_name的值一致.
    INSTANCE_NAME:
    实例名称,这是Oracle实例的名字,用来区分不通的实例。在Oracle9i之前,该名字存储在两个地方:参数文件和数据库的内部视图(V$INSTANCE).
    而在Oracle10g之后的版本中,该名字不再出现在参数文件中,而是动态从系统中获得,默认是取自ORACLE_SID。
    INSTANCE_NAME的作用除了区别不同实例之外,在监听器动态注册时,还会用于向监听器注册。比如instance_name=kanon,监听中将动态注册Instance "kanon",status READY信息。
       因为我的服务器是在安装在虚拟机linux下的,所以虚拟机的网络配置也很重要,虚拟机选择桥接连接模式,自动获取ip(在虚拟网络编辑器里一定要主要网卡的选择,这个可能造成你网连不通),vim  /etc/sysconfig/network-ig/network-scripts/ifcfg-eth0(注意红颜色部分)
    TYPE=Ethernet
    DEVICE=eth0
    HWADDR=00:50:56:34:9c:ed
    BOOTPROTO=dhcp
    ONBOOT=yes
    USERCTL=no
    IPV6INIT=no
    PEERDNS=yes
    CHANNEL=自动
    MODE=Auto
    SECURITYMODE=off
    RATE=auto
    这一切弄好后,可以ifconfig或者在我电脑上ping 178.3.601.172
    来自 172.18.112.178 的回复: 字节=32 时间=3ms TTL=64
    来自 172.18.112.178 的回复: 字节=32 时间<1ms TTL=64
    来自 172.18.112.178 的回复: 字节=32 时间<1ms TTL=64
    来自 172.18.112.178 的回复: 字节=32 时间<1ms TTL=64
    172.18.112.178 的 Ping 统计信息:
        数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
    往返行程的估计时间(以毫秒为单位):
        最短 = 0ms,最长 = 3ms,平均 = 0ms
    看到了吧,虚拟机和电脑网络是通的。


    服务器的网络配置:

    服务器端的配置是配置监听,也就是配置../dbhome/network/admit/listener.org

    默认的监听是listener,我加了一个监听(listener1):

                                

    LISTENER1 =

      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1522))
        )
      )          

    [oracle@localhost ~]$ lsnrctl start listener1;


    LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 17-12月-2014 13:11:24


    Copyright (c) 1991, 2009, Oracle.  All rights reserved.


    启动/u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr: 请稍候...


    TNSLSNR for Linux: Version 11.2.0.1.0 - Production
    系统参数文件为/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
    写入/u01/app/oracle/diag/tnslsnr/localhost/listener1/alert/log.xml的日志信息
    监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1522)))


    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1522)))
    LISTENER 的 STATUS
    ------------------------
    别名                      listener1
    版本                      TNSLSNR for Linux: Version 11.2.0.1.0 - Production
    启动日期                  17-12月-2014 13:11:27
    正常运行时间              0 天 0 小时 0 分 5 秒
    跟踪级别                  off
    安全性                    ON: Local OS Authentication
    SNMP                      OFF
    监听程序参数文件          /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
    监听程序日志文件          /u01/app/oracle/diag/tnslsnr/localhost/listener1/alert/log.xml
    监听端点概要...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1522)))
    监听程序不支持服务
    命令执行成功


       我所加的监听listener1是动态注册,我们也可以静态注册。如下:

                  LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          
          (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
        )
      )
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = orcl3939)
          (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
            (GLOBAL_DBNAME = orcl3939.localdomain)
        )
    )

    以上所涉及到的名词不在赘述,开头已经介绍。

    我们来启动静态监听listener:

     [oracle@localhost ~]$ lsnrctl start listener;


    LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 17-12月-2014 13:18:15


    Copyright (c) 1991, 2009, Oracle.  All rights reserved.


    启动/u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr: 请稍候...


    TNSLSNR for Linux: Version 11.2.0.1.0 - Production
    系统参数文件为/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
    写入/u01/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml的日志信息
    监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521)))


    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521)))
    LISTENER 的 STATUS
    ------------------------
    别名                      listener
    版本                      TNSLSNR for Linux: Version 11.2.0.1.0 - Production
    启动日期                  17-12月-2014 13:18:15
    正常运行时间              0 天 0 小时 0 分 1 秒
    跟踪级别                  off
    安全性                    ON: Local OS Authentication
    SNMP                      OFF
    监听程序参数文件          /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
    监听程序日志文件          /u01/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
    监听端点概要...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521)))
    服务摘要..
    服务 "orcl3939.localdomain" 包含 1 个实例。
      实例 "orcl3939", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
    命令执行成功

    此时oracle的服务器端已经配置好了,那我们再配置客户端。



    客户端的网络配置:

    客户端的配置,推荐用oracle net mananger配置其实就是配置服务命名和监听,oracle把很多东西都包装在服务命名中,服务命名此时就是一个数据库,可以这么理解。

    首先我们手动配置:

    手动配置tns:

    F:product11.2.0client etworkadmin下配置tnsnames.ora文件:

    JINGTAI(很多人都问,这里要填什么,你填什么都可以) =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 178.3.601.172 )(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = orcl3939.localdomain)
        )
      )

       手动配置listener:

    woo =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 178.3.601.172)(PORT = 1521))
      )


    SID_LIST_888 =
      (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME = orcl3939.localdomain)
          (SID_NAME = orcl3939)
        )
      )

          到这里我们手动配置客户端就OK了,下面我们介绍利用oracle net mananger来配置。


    利用oracle net mananger:

    在oracle net mananger 里新建一个服务命名wo(你写啥都可以):

     这里的主机名:填写服务器所在的ip地址

     服务名:填写全局数据库名

     端口号:和你tns中对应配置的相同。

    接下来我们来配置一些监听:

    新建一个监听woo(你写啥都行):

    监听位置里对应的主机写ip.

    数据库服务里的oracle主目录是可选的。

    接下来我们可以tnsping wo:

    C:UsersAdministrator>tnsping wo
    TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 17-12月-
    2014 13:48:44
    Copyright (c) 1997, 2010, Oracle.  All rights reserved.
    已使用的参数文件:
    F:appAdministratorproduct11.2.0client etworkadminsqlnet.ora

    已使用 TNSNAMES 适配器来解析别名
    尝试连接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST =178.3.601.172   )(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl3939.localdomain))
    )
    OK (120 毫秒)

    测试结果:



    已经ok啦。

    此时我们打开第三方工具pl/sql developer时:


    以上就是比较基本的oracle客户端连接服务器端的网络配置,希望对大家有用。

      

                         


  • 相关阅读:
    phpfpm进程数设置多少合适
    GitLab的安装及使用教程
    男人的中年危机坏在哪?(转载)
    让敏捷落地,从“认识自我”开始
    优化你的架构设计
    工作中的那点事儿是工作经验,还是思路给了你生存的能力(原创)
    窗口过程处理WndProc遇到的问题
    CodeBlocks 10.0+OpenCV 2.4.0配置方法
    OpenCV在VS2010下永久性配置
    Win8下的STCISP下载问题解决
  • 原文地址:https://www.cnblogs.com/diy-os/p/5083372.html
Copyright © 2020-2023  润新知