zoukankan      html  css  js  c++  java
  • 一点使用oracle net的心得

    一点使用net的心得
           刚接触ORACLE,虽然以前也用SQL Server、mySQL等其他数据库管理系统,但是真正要学好、用好ORACLE还需要很大的努力。
    首先,学会安装系统。个人认为这是入门了解ORACLE的最好途径,特别是安装UNIX/LINUX下的ORACLE系统。建议用9i的产品,9i中含有更多我们需要的东西。而且在不了解的情况下,多花些时间,多安装几遍,会遇到许多问题,就想办法解决或请教高手,也就对系统就有一定的了解。首先要知道系统要求,比如硬件、软件都需要什么,需要打什么补丁(了解为什么该打补丁)。然后,安装前准备,从中你可以知道,ORACLE需要什么目录,需要那些那些环境变量,需要那些用户,需要配置那些系统参数。安装手册已经很多了,具体配置详见安装手册。然后就是安装,安装就是按部就班。安装完毕后,如何才能使用ORACLE呢。主要执行dbstart(启动数据库),lsnrctl start(启动侦听器)。
    这里主要介绍SQL*Net的使用,也就是侦听器的使用和配置。

    所有这些文件都会用于设定 Oracle 的网络软件(SQL*Net,和 Oracle8 的 Net8 差不多)。这些文件应该都建立在服务器中的 $ORACLE_HOME/network/admin 目录。

    tnsnames.ora
    TNSNAMES.ORA 档设定所有这计算机提供的服务。现在我们描述所有挂上了服务器的数据库。对服务器上所有数据库你要加上类似以下的一段:
    ________________________________________
    orcl.world =
      (DESCRIPTION =
        (ADDRESS_LIST =
            (ADDRESS =
              (COMMUNITY = tcp.world)
              (PROTOCOL = TCP)
              (Host = )
              (Port = 1521)
            )
            (ADDRESS =
              (COMMUNITY = tcp.world)
              (PROTOCOL = TCP)
              (Host = )
              (Port = 1526)
            )
        )
       (CONNECT_DATA = (SID = ORCL)
        )
      )
    ________________________________________
    listener.ora
    listener.ora 档描述所有其它计算机可得到的服务及服务器的监听程序 (listener) 所需的所有设定。
    它有一段包括监听程序域名、监听程序地址、监听程序提供服务的数据库及参数设定 (listener name, listener address, databases served by the listener and configuration parameters)。
    这里有一个例子:
    ________________________________________
    # 监听程序域名及所收听的地址
    LISTENER =
            ( ADDRESS_LIST =
                    (ADDRESS =
                            (PROTOCOL=tcp)
                            (HOST=)
                            (PORT=1521)
                            (COMMUNITY=UK_SUP_TCPIP)
                    )
                    (ADDRESS =
                            (PROTOCOL=ipc)
                            (KEY=700)
                            (COMMUNITY=UK_SUP_TCPIP)
                    )
            )

    # 列出监听程序提供的服务
    SID_LIST_LISTENER=
            (SID_LIST=
                    (SID_DESC=
                            (SID_NAME=orcl)
                            (ORACLE_HOME=/home/oracle/7.3.3.0.0)
                    )
            )

    # 开始参数设定
    TRACE_LEVEL_LISTENER=OFF
    TRACE_FILE_LISTENER = "listener"
    LOG_FILE_LISTENER = "listener"
    CONNECT_TIMEOUT_LISTENER = 10
    STOP_LISTENER = YES
    DBA_GROUP = dba
    ________________________________________
    sqlnet.ora
    sqlnet.ora 档包括对网络上一个特定节点 (node) 的设定。这些数据和数据库的数目及监听程序的数目无关。这个文件中最重要的东西是 Dead Connection Timeout 变量的设定。
    Dead connection timeout 检查每一个接到该数据库的行程及确保用户端仍有反应。如果那用户(类型不拘)并无反应,对应的 Oracle 服务器影子行程 (shadow process) 便会被杀。
    如果你有很多用户存取那数据库,这点非常有用。尤其是当你仍在程序开发阶段,用户多数不能正确地结□的时候。
    以下是我的 sqlnet.ora 档,供各读者参考:
    ________________________________________
    TRACE_LEVEL_CLIENT = OFF
    sqlnet.expire_time = 30         # 两次检查客户相差的秒数
    names.default_domain = world
    name.default_zone = world
    ________________________________________
    开始及结□监听程序
    现在有关监听程序及 SQL*Net 的设定已经完成,我们可以试用网络软件来驳到数据库。(之前我们只是直接连接到数据库,现在则是在模拟使用远程 (remote) 用户。)
    使用以上的设定来启动监听程序:
    ________________________________________
    $ lsnrctl

    LSNRCTL for SCO System V/386: Version 2.3.3.0.0 - Production on 23-FEB-98 20:38:25

    Copyright (c) Oracle Corporation 1994.  All rights reserved.

    Welcome to LSNRCTL, type "help" for information.

    LSNRCTL> start
    Starting /home/oracle/7.3.3.0.0/bin/tnslsnr: please wait...

    TNSLSNR for SCO System V/386: Version 2.3.3.0.0 - Production
    System parameter file is /home/oracle/7.3.3.0.0/network/admin/listener.ora
    Log messages written to /home/oracle/7.3.3.0.0/network/log/listener.log
    Listening on: (ADDRESS=(PROTOCOL=tcp)(DEV=6)(HOST=192.168.1.1)(PORT=1521))
    Listening on: (ADDRESS=(PROTOCOL=ipc)(DEV=10)(KEY=700))

    Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=magic.com)(PORT=1521)(COMMUNITY=UK_SUP_TCPIP))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for SCO System V/386: Version 2.3.3.0.0 - Production
    Start Date                23-FEB-98 20:38:50
    Uptime                    0 days 0 hr. 0 min. 0 sec
    Trace Level               off
    Security                  OFF
    SNMP                      ON
    Listener Parameter File   /home/oracle/7.3.3.0.0/network/admin/listener.ora
    Listener Log File         /home/oracle/7.3.3.0.0/network/log/listener.log
    Services Summary...
      orcl          has 1 service handler(s)
    The command completed successfully
    LSNRCTL> exit
    ________________________________________
    要停止监听程序:
    ________________________________________
    $ lsnrctl

    LSNRCTL for SCO System V/386: Version 2.3.3.0.0 - Production on 23-FEB-98 20:43:20

    Copyright (c) Oracle Corporation 1994.  All rights reserved.

    Welcome to LSNRCTL, type "help" for information.

    LSNRCTL> stop
    Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=magic.com)(PORT=1521)(COMMUNITY=UK_SUP_TCPIP))
    The command completed successfully
    LSNRCTL> exit
    ________________________________________
    如果你的 DNS 并不传回指定的主机的 IP 地址,启动及结□监听程序会花一点时间(依据 DNS 2-3 的逾时变量 (timeout variable),大致在 2-3 分种之间)。如果真的发生这情况,请耐心等待,不必担心。
    总之,值得注意的是,tnsname.ora是针对客户端的配置,而listener.ora主要是针对服务器接受客户提供的接口。也就是tnsname.ora是用来配置如何找到服务侦听器,而listener.ora让客户连到侦听器后如何找到数据库的SID。

  • 相关阅读:
    Bash 小问题【待更新】
    进程动态优先级调度
    密码
    [Noi2016]优秀的拆分
    [Tjoi2016&Heoi2016]字符串
    [BZOJ 1901]Dynamic Rankings
    [HDU 2665]Kth number
    [BZOJ 4310]跳蚤
    [Sdoi2008]Sandy的卡片
    [Usaco2007 Dec]队列变换
  • 原文地址:https://www.cnblogs.com/liangqihui/p/231665.html
Copyright © 2011-2022 走看看