unix查看oracle监听_unix系统oracle查询监听状态 - CSDN
精华内容
参与话题
  • 使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等。本文给出Linux 下使用 shell 脚本来监控 ...

        使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等。本文给出Linux 下使用 shell 脚本来监控 Oracle 监听器。

        Linux Shell的相关参考:
            Linux/Unix shell 脚本中调用SQL,RMAN脚本
            Linux/Unix shell sql 之间传递变量
            Linux/Unix shell 调用 PL/SQL
            Linux/Unix shell 监控Oracle实例(monitor instance)

     

    1、监控Oracle监听shell脚本

    robin@SZDB:~/dba_scripts/custom/bin> more ck_lsnr.sh 
    # +-------------------------------------------------------+
    # +    CHECK LISTENER STATUS AND RESTART IT WHEN FAILED   |
    # +    Author : Robinson                                  | 
    # +    Blog   :http://blog.csdn.net/robinson_0612        |
    # +    Parameter : No                                     | 
    # +-------------------------------------------------------+
    
    #!/bin/bash 
    # --------------------
    # Define variable
    # --------------------
    
    if [ -f ~/.bash_profile ]; then
    . ~/.bash_profile
    fi
     
    TIMESTAMP=`date +%Y%m%d%H%M`;  export TIMESTAMP
    DBALIST="robinson.cheng@12306.com"; export DBALIST
    MAILPATH=/users/robin/dba_scripts/sendEmail-v1.56
    LOG_DIR=/users/robin/dba_scripts/custom/log
    LOG_FILE=${LOG_DIR}/lsnr_status_$TIMESTAMP.log
    RETENTION=2
    
    # -----------------------------------------
    # Define how many listeners need to monitor
    # -----------------------------------------
    
    DB_COUNT=6
    DB[1]=CNBO1
    DB[2]=CNBOTST
    DB[3]=CNMMBO
    DB[4]=MMBOTST
    DB[5]=SYBO2SZ
    DB[6]=CNBO2
    
    # -------------------------
    # Begin to check listener
    # -------------------------
    
    touch $LOG_FILE
    echo "`date` " >>$LOG_FILE
    echo " The following listeners are down on `hostname`" >>$LOG_FILE
    echo "-----------------------------------------------" >>$LOG_FILE
    
    COUNT=1
    while [ $COUNT -le $DB_COUNT ];
    do
        for db in ${DB[$COUNT]};
        do
        lsnr_flag=`ps -ef | grep -i listener_${DB[$COUNT]} | grep -v grep`
            if [ -z "$lsnr_flag" ]; then
                echo "The listener for the database ${DB[$COUNT]} is down." >>$LOG_FILE
                echo "=======> restart listener for the database ${DB[$COUNT]}" >>$LOG_FILE
                lsnrctl start listener_${DB[$COUNT]} >>$LOG_FILE
                echo -e "------------------------------------------------------------------\n" >>$LOG_FILE
            fi
        done;
        COUNT=`expr $COUNT + 1`
    done;
    
    # --------------------------
    # Send Email
    # --------------------------
    
    cnt=`grep "restart listener" $LOG_FILE |wc -l`
    if [ "$cnt" -gt 0 ];then
        $MAILPATH/sendEmail -f szdb@2gotrade.com -t $DBALIST -u "Listener crashed on `hostname`" -o message-file=$LOG_FILE
    else
        rm -rf $LOG_FILE
    fi
    
    # ------------------------------------------------
    # Removing files older than $RETENTION parameter 
    # ------------------------------------------------
    
    find ${LOG_DIR} -name "*lsnr_status*" -mtime +$RETENTION -exec rm {} \;
    
    exit
    
    oracle@SZDB:/users/robin/dba_scripts/custom/bin> ./ck_lsnr.sh 
    Feb 01 17:16:34 szdb sendEmail[18611]: Email was sent successfully!
    Fri Feb  1 17:16:33 CST 2013      #下面是测试脚本邮件发送包含的内容
     The following listeners are down on SZDB
    -----------------------------------------------
    The listener for the database CNBO1 is down.
    =======> restart listener for the database CNBO1
    
    LSNRCTL for Linux: Version 10.2.0.3.0 - Production on 01-FEB-2013 17:16:33
    
    Copyright (c) 1991, 2006, Oracle.  All rights reserved.
    
    Starting /users/oracle/OraHome10g/bin/tnslsnr: please wait...
    
    TNSLSNR for Linux: Version 10.2.0.3.0 - Production System parameter file is 
    /users/oracle/OraHome10g/network/admin/listener.ora
    Log messages written to /users/oracle/OraHome10g/network/log/listener_cnbo1.log
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.101.7.2)(PORT=1901)))
    
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.101.7.2)(PORT=1901)))
    STATUS of the LISTENER
    ------------------------
    Alias                     listener_CNBO1
    Version                   TNSLSNR for Linux: Version 10.2.0.3.0 - Production
    Start Date                01-FEB-2013 17:16:33
    Uptime                    0 days 0 hr. 0 min. 0 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Parameter File   /users/oracle/OraHome10g/network/admin/listener.ora
    Listener Log File         /users/oracle/OraHome10g/network/log/listener_cnbo1.log
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.101.7.2)(PORT=1901)))
    Services Summary...
    Service "CNBO1" has 1 instance(s).
      Instance "CNBO1", status UNKNOWN, has 1 handler(s) for this service...
    The command completed successfully
    ------------------------------------------------------------------
    
    

    2、补充
       a、上面的监控监听脚本可以监控多个监听器。
       b、监听器的名字的定义格式为LISTENER_$ORACLE_SID,未考虑缺省监听器的情形,如使用缺省监听器请做相应更改。
       c、使用了数组的方式来定义实例名,每一个对应一个监听器,确保DB_COUNT的值与需要监控的监听器个数相符。
       d、数组的每一个元素使用的是ORACLE_SID,如果是RAC,可以将其改为主机名。
       e、如果检测到监听器宕掉的情形则会自动重启监听并发送邮件。
       f、使用了sendEmail邮件发送程序来发送邮件。参阅:不可或缺的 sendEmail
       g、通过crontab来部署该脚本。另,Oracle 10g测试可用,Oracle 11g待测。

     

    更多参考

    有关Oracle RAC请参考
         使用crs_setperm修改RAC资源的所有者及权限
         使用crs_profile管理RAC资源配置文件
         RAC 数据库的启动与关闭
         再说 Oracle RAC services
         Services in Oracle Database 10g
         Migrate datbase from single instance to Oracle RAC
         Oracle RAC 连接到指定实例
         Oracle RAC 负载均衡测试(结合服务器端与客户端)
         Oracle RAC 服务器端连接负载均衡(Load Balance)
         Oracle RAC 客户端连接负载均衡(Load Balance)
         ORACLE RAC 下非缺省端口监听配置(listener.ora tnsnames.ora)
         ORACLE RAC 监听配置 (listener.ora tnsnames.ora)
         配置 RAC 负载均衡与故障转移
         CRS-1006 , CRS-0215 故障一例 
         基于Linux (RHEL 5.5) 安装Oracle 10g RAC
         使用 runcluvfy 校验Oracle RAC安装环境

    有关Oracle 网络配置相关基础以及概念性的问题请参考:
         配置非默认端口的动态服务注册
         配置sqlnet.ora限制IP访问Oracle
         Oracle 监听器日志配置与管理
         设置 Oracle 监听器密码(LISTENER)
         配置ORACLE 客户端连接到数据库

    有关基于用户管理的备份和备份恢复的概念请参考
         Oracle 冷备份
         Oracle 热备份
         Oracle 备份恢复概念
         Oracle 实例恢复
         Oracle 基于用户管理恢复的处理
         SYSTEM 表空间管理及备份恢复
         SYSAUX表空间管理及恢复
         Oracle 基于备份控制文件的恢复(unsing backup controlfile)

    有关RMAN的备份恢复与管理请参考
         RMAN 概述及其体系结构
         RMAN 配置、监控与管理
         RMAN 备份详解
         RMAN 还原与恢复
         RMAN catalog 的创建和使用
         基于catalog 创建RMAN存储脚本
         基于catalog 的RMAN 备份与恢复
         RMAN 备份路径困惑
         使用RMAN实现异机备份恢复(WIN平台)
         使用RMAN迁移文件系统数据库到ASM
         linux 下RMAN备份shell脚本
         使用RMAN迁移数据库到异机

    有关ORACLE体系结构请参考
         Oracle 表空间与数据文件
         Oracle 密码文件
         Oracle 参数文件
         Oracle 联机重做日志文件(ONLINE LOG FILE)
         Oracle 控制文件(CONTROLFILE)
         Oracle 归档日志
         Oracle 回滚(ROLLBACK)和撤销(UNDO)
         Oracle 数据库实例启动关闭过程
         Oracle 10g SGA 的自动化管理
         Oracle 实例和Oracle数据库(Oracle体系结构) 

    展开全文
  • oracle监听器和本地服务配置(有图哟)

    万次阅读 2009-07-09 01:03:00
    近段时间很多网友提出监听配置... 一、监听器(LISTENER) 监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。既然是基于服务器端的服务,那么它也只存在于数据库服务器端,

    近段时间很多网友提出监听配置相关问题,客户终端(Client)无法连接服务器端(Server)。本文现对监听配置作一简单介绍,并提出一些客户终端无法连接服务器端的解决思路,愿对广大网友与读者有一些帮助。

    一、监听器(LISTENER)

    监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器端完成的。

    二、本地服务名(Tnsname)

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

    本地服务名是Oracle客户端网络配置的一种,另外还有Oracle名字服务器(Oracle Names Server)等。Oracle常用的客户端配置就是采用的本地服务名,本文中介绍的也主要是基于本地服务名的配置。

    三、Oracle网络连接配置方法

    配 置Oracle服务器端与客户端都可以在其自带的图形化Oracle网络管理器(Oracle Net Manager)里完成(强烈建议在这个图形化的工具下完成Oracle服务端或客户端的配置)。在Windows下,点击“开始/程序/Oracle - OraHome92/Configuration and Migration Tools/Net Manager”启动Oracle网络管理器工具,在Linux/Unix下,利用netmgr命令来启动图形化Oracle网络管理器,如: $ netmgr。

    Windows下启动Net Manager图形窗口如下图示:

     

     

     

    图(一)

    1、 Oracle监听器配置(LISTENER):

    如 图(一)示,选中树形目录中监听程序项,再点击左上侧“+”按钮添加监听程序,点击监听程序目录,默认新加的监听器名称是LISTENER(该名称也可以 由任意合法字符命名)。选中该名称,选中窗口右侧栏下拉选项中的“监听位置”,点击添加地址按钮。在出现的网络地址栏的协议下拉选项中选中 “TCP/IP”,主机文本框中输入主机名称或IP地址(如果主机即用作服务端也作为客户端,输入两项之一均有效;如果主机作为服务端并需要通过网络连 接,建议输入IP地址),端口文本框中输入数字端口,默认是1521,也可以自定义任意有效数字端口。配置好的监听位置如下图示:

     

     

    图(二)

    选 中窗口右侧栏下拉选项中的“数据库服务”,点击添加数据库按钮。在出现的数据库栏中输入全局数据库名,如myoracle。注意这里的全局数据库名与数据 库SID有所区别,全局数据库名实际通过域名来控制在同一网段内数据库全局命名的唯一性,就如Windows下的域名控制器,如这里可以输入 myoracle.192.168.1.5。Oracle主目录可以不填写,输入SID,如myoracle。完整的数据库服务配置如下图示:

     

     

    图(三)

    保存以上配置,默认即可在Oracle安装目录下找到监听配置文件 (Windows下如D:oracleora92networkadminlistener.ora,Linux/Unix下 $ ORACLE_HOME/network/admin/listerer.ora)。至此,Oracle服务端监听器配置已经完成。

    2、 本地服务名配置(Tnsnames):

    本地服务名是基于Oracle客户端的网络配置,所以,如果客户端需要连接数据库服务器进行操作,则需要配置该客户端,其依附对象可以是任意一台欲连接数据 库服务器进行操作的PC机,也可以是数据库服务器自身。如前面所介绍,可以利用Oracle自带的图形化管理工具Net Manager来完成Oracle客户端的配置。选中如图(一)中的服务命名,再点击左上侧“+”按钮,弹出如下图示对话框:

     

     

    图(四)

    输入Net服务名,如myoracle,点击下一步,进入下图示对话框:

     

     

    图(五)

    选中TCP/IP(Internet协议),点击下一步,如下图示:

     

     

    图(六)

    输入主机名与端口号。注意这里的主机名与端口号必须与数据库服务器端监听器配置的主机名和端口号相同。点击下一步,如下图示:

     

     

    图(七)

    选中(Oracle8i或更高版本)服务名,输入服务名。这里的服务名实际上就是数据库服务器端监听器配置中的全局数据库名,前者与后者必须相同。连接类型 通常选专用服务器,这要视数据库服务器的配置而定,如果配置的共享数据库服务器,这里的连接类型就要选共享服务器,否则建议选专用服务器(关于专用服务器 的介绍请参阅相关文档)。配置好后点击下一步,如下图示:

     

     

    图(八)

    如果数据库服务器端相关服务启动了,可以点击测试按钮进行连接测试。Oracle默认是通过scott/tiger用户进行测试连接,由于scott用户是 Oracle自带的示例用户,对于正式的业务数据库或专业测试数据库可能没有配置这个用户,所以需要更改成有效的用户登录才可能测试成功。如果这里测试连 接不成功,也不要紧,先点完成按钮结束配置。

    回到Oracle网络管理器(Oracle Net Manager)主窗口,保存配置,默认即可在Oracle安装目录下找到本地服务名配置文件 (Windows下如D:oracleora92networkadmintnsnames.ora,Linux/Unix下 $ ORACLE_HOME/network/admin/ tnsnames.ora)。配置完成的本地服务名如下图示:

     

     

    图(九)

    树形目录下的服务命名可以通过编辑菜单里的重命名菜单更改成任意合法字符组成的服务名称,注意服务名称前不能有空格字符,否则可能无法连接数据库服务器。

    3、 连接数据库服务器:

    (1)启动服务器端监听器与数据库服务:

    Linux/Unix下,启动监听器: $ lsnrctl start。

    关闭监听器: $ lsnrctl stop。

    查看监听状态: $ lsnrctl status。

    启动数据库: $ sqlplus /nolog。

    SQL>conn sys@myoracle as sysdba --这里的myoracle是前面配置的客户端本地服务名。

    SQL>conn / as sysdbaSQL>startup

     

    Windows下,启动监听器:C:lsnrctl start。

    启动Oracle实例服务:C:oradim –startup –sid myoracle。

    关闭Oracle实例服务:C:oradim –shutdown –sid myoracle。

    以上服务必须同时启动,客户端才能连接数据库。由于默认配置的监听器名称是Listener,上述命令可以正常启动监听器,如果监听器名称是其它名称,如aListener,则需要用下列方式才能启动:

    Linux/Unix下: $ lsnrctl start aListener。

    Windows下:C:lsnrctl start aListener。

    (2)测试连接数据库服务器。

    测试的方法多种多样,可以在上面配置本地服务名时进行测试,也可以是第三方客户端工具,如PL/SQL Developer,最方便的是用Oracle自带的SQLplus工具,以下利用SQLplus进行测试:

    C:sqlplus /nologSQL>conn zgh@myoracle

     

    已连接。

    四、客户端连接服务器端常见问题排除方法

    要排除客户端与服务器端的连接问题,首先检查客户端配置是否正确(客户端配置必须与数据库服务器端监听配置一致),再根据错误提示解决。下面列出几种常见的连接问题:

    1、 ORA-12541: TNS: 没有监听器:

    显而易见,服务器端的监听器没有启动,另外检查客户端IP地址或端口填写是否正确。启动监听器:

     $ lsnrctl start或C:lsnrctl start。

    2、 ORA-12500: TNS: 监听程序无法启动专用服务器进程:

    对于Windows而言,没有启动Oracle实例服务。启动实例服务:C:oradim –startup -sid myoracle。

    3、 ORA-12535: TNS: 操作超时:

    出现这个问题的原因很多,但主要跟网络有关。解决这个问题,首先检查客户端与服务端的网络是否畅通,如果网络连通,则检查两端的防火墙是否阻挡了连接。

    4、 ORA-12154: TNS: 无法处理服务名:

    检 查输入的服务名与配置的服务名是否一致。另外注意生成的本地服务名文件(Windows下如D:oracleora92networkadmin tnsnames.ora,Linux/Unix下 $ORACLE_HOME/network/admin/tnsnames.ora)里每项服务的首 行服务名称前不能有空格。

    5、 ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的 SERVICE_NAME打开Net Manager,选中服务名称,检查服务标识栏里的服务名输入是否正确。该服务名必须与服务器端监听器配置的全局数据库名一致。

    6、 Windows下启动监听服务提示找不到路径:

    用 命令或在服务窗口中启动监听提示找不到路径,或监听服务启动异常。打开注册表,进入HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/OracleOraHome92TNSListener项,查看ImagePath字符串项是否存在,如果没 有,设定值为D:oracleora92BINTNSLSNR,不同的安装路径设定值做相应的更改。这种方法同样适用于Oracle实例服务,同上,找到如同HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/Oracle ServiceMYORACLE项,查看ImagePath字符串项是否存在,如果没有,则新建,设定值为d:oracleora92 binORACLE.EXE MYORACLE。

    以上是Oracle客户端连接服务器端常见的一些问题,当然不能囊括所有的连接异常。解决问题的关键在于方法与思路,而不是每种问题都有固定的答案。(

     

    展开全文
  • Oracle 数据库监听配置

    万次阅读 热门讨论 2009-11-24 10:12:00
    一、监听器(LISTENER) 监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库...

     

    一、监听器(LISTENER)
      监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器端完成的。
     
    二、本地服务名(Tnsname)
      Oracle客户端与服务器端的连接是通过客户端发出连接请求,由服务器端监听器对客户端连接请求进行合法检查,如果连接请求有效,则进行连接,否则拒绝该连接。
    本地服务名是Oracle客户端网络配置的一种,另外还有Oracle名字服务器(Oracle Names Server)等。Oracle常用的客户端配置就是采用的本地服务名,本文中介绍的也主要是基于本地服务名的配置。
     
    三、Oracle网络连接配置方法
      配 置Oracle服务器端与客户端都可以在其自带的图形化Oracle网络管理器(Oracle Net Manager)里完成(强烈建议在这个图形化的工具下完成Oracle服务端或客户端的配置)。在Windows下,点击“开始/程序/Oracle - OraHome92/Configuration and Migration Tools/Net Manager”启动Oracle网络管理器工具,在Linux/Unix下,利用netmgr命令来启动图形化Oracle网络管理器,如:
    $ netmgr
    Windows下启动Net Manager图形窗口如下图示:
     
                                                                  图(一)
     
    1、 Oracle监听器配置(LISTENER)
      如 图(一)示,选中树形目录中监听程序项,再点击左上侧“+”按钮添加监听程序,点击监听程序目录,默认新加的监听器名称是LISTENER(该名称也可以 由任意合法字符命名)。选中该名称,选中窗口右侧栏下拉选项中的“监听位置”,点击添加地址按钮。在出现的网络地址栏的协议下拉选项中选中 “TCP/IP”,主机文本框中输入主机名称或IP地址(如果主机即用作服务端也作为客户端,输入两项之一均有效;如果主机作为服务端并需要通过网络连 接,建议输入IP地址),端口文本框中输入数字端口,默认是1521,也可以自定义任意有效数字端口。配置好的监听位置如下图示:
     
                                                                   图(二)
     
      选 中窗口右侧栏下拉选项中的“数据库服务”,点击添加数据库按钮。在出现的数据库栏中输入全局数据库名,如myoracle。注意这里的全局数据库名与数据 库SID有所区别,全局数据库名实际通过域名来控制在同一网段内数据库全局命名的唯一性,就如Windows下的域名控制器,如这里可以输入 myoracle.192.168.1.5。Oracle主目录可以不填写,输入SID,如myoracle。完整的数据库服务配置如下图示:

              图(三)
     
      保 存以上配置,默认即可在Oracle安装目录下找到监听配置文件 (Windows下如D:oracleora92networkadminlistener.ora,Linux/Unix下$ ORACLE_HOME/network/admin/listerer.ora)。至此,Oracle服务端监听器配置已经完成。
     
    2、 本地服务名配置(Tnsnames)
      本 地服务名是基于Oracle客户端的网络配置,所以,如果客户端需要连接数据库服务器进行操作,则需要配置该客户端,其依附对象可以是任意一台欲连接数据 库服务器进行操作的pc机,也可以是数据库服务器自身。如前面所介绍,可以利用Oracle自带的图形化管理工具Net Manager来完成Oracle客户端的配置。选中如图(一)中的服务命名,再点击左上侧“+”按钮,弹出如下图示对话框:
     
                          图(四)
     
      输入Net服务名,如myoracle,点击下一步,进入下图示对话框:
     
                    图(五)
     
     选中TCP/IP(Internet协议),点击下一步,如下图示:
                    图(六)
     
      输入主机名与端口号。注意这里的主机名与端口号必须与数据库服务器端监听器配置的主机名和端口号相同。点击下一步,如下图示:
     
                         图(七)
     
      选 中(Oracle8i或更高版本)服务名,输入服务名。这里的服务名实际上就是数据库服务器端监听器配置中的全局数据库名,前者与后者必须相同。连接类型 通常选专用服务器,这要视数据库服务器的配置而定,如果配置的共享数据库服务器,这里的连接类型就要选共享服务器,否则建议选专用服务器(关于专用服务器 的介绍请参阅相关文档)。配置好后点击下一步,如下图示:
     
                    图(八)
     
      如 果数据库服务器端相关服务启动了,可以点击测试按钮进行连接测试。Oracle默认是通过scott/tiger用户进行测试连接,由于scott用户是 Oracle自带的示例用户,对于正式的业务数据库或专业测试数据库可能没有配置这个用户,所以需要更改成有效的用户登录才可能测试成功。如果这里测试连 接不成功,也不要紧,先点完成按钮结束配置。
      回 到Oracle网络管理器(Oracle Net Manager)主窗口,保存配置,默认即可在Oracle安装目录下找到本地服务名配置文件 (Windows下如D:oracleora92networkadmintnsnames.ora,Linux/Unix下$ ORACLE_HOME/network/admin/ tnsnames.ora)。配置完成的本地服务名如下图示:

                      图(九)
     
      树形目录下的服务命名可以通过编辑菜单里的重命名菜单更改成任意合法字符组成的服务名称,注意服务名称前不能有空格字符,否则可能无法连接数据库服务器。
     
    3、 连接数据库服务器
    (1)   启动服务器端监听器与数据库服务
    Linux/Unix下,启动监听器:
    $ lsnrctl start                    
    关闭监听器:
    $ lsnrctl stop
    查看监听状态:
    $ lsnrctl status
    启动数据库:
    $ sqlplus /nolog
    SQL>conn sys@myoracle as sysdba   --这里的myoracle是前面配置的客户端本地服务名
    SQL>conn / as sysdba
    SQL>startup
    Windows下,启动监听器:
    C:lsnrctl start
    启动Oracle实例服务:
    C:oradim ?a href="http://game.pchome.net/pcgame" class="none" title="cs" rel="external">cstartup –sid myoracle  
    关闭Oracle实例服务:
    C:oradim –shutdown –sid myoracle
      以上服务必须同时启动,客户端才能连接数据库。由于默认配置的监听器名称是Listener,上述命令可以正常启动监听器,如果监听器名称是其它名称,如aListener,则需要用下列方式才能启动:
    Linux/Unix下:
    $ lsnrctl start aListener
    Windows下:
    C:lsnrctl start aListener
     
    (2)   测试连接数据库服务器
      测试的方法多种多样,可以在上面配置本地服务名时进行测试,也可以是第三方客户端工具,如PL/SQL Developer,最方便的是用Oracle自带的sqlplus工具,以下利用sqlplus进行测试:
    C:sqlplus /nolog
    SQL>conn zgh@myoracle
    已连接。
     
     
    四、客户端连接服务器端常见问题排除方法
      要排除客户端与服务器端的连接问题,首先检查客户端配置是否正确(客户端配置必须与数据库服务器端监听配置一致),再根据错误提示解决。下面列出几种常见的连接问题:
    1、 ORA-12541: TNS: 没有监听器
    显而易见,服务器端的监听器没有启动,另外检查客户端IP地址或端口填写是否正确。启动监听器:
    $ lsnrctl start
    C:lsnrctl start
    2、 ORA-12500: TNS: 监听程序无法启动专用服务器进程
    对于Windows而言,没有启动Oracle实例服务。启动实例服务:
    C:oradim –startup -sid myoracle
    3、 ORA-12535: TNS: 操作超时
      出现这个问题的原因很多,但主要跟网络有关。解决这个问题,首先检查客户端与服务端的网络是否畅通,如果网络连通,则检查两端的防火墙是否阻挡了连接。
    4、 ORA-12154: TNS: 无法处理服务名
      检 查输入的服务名与配置的服务名是否一致。另外注意生成的本地服务名文件(Windows下如D:oracleora92networkadmin tnsnames.ora,Linux/Unix下/network/admin/tnsnames.ora)里每项服务的首 行服务名称前不能有空格。
    5、 ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的 SERVICE_NAME
      打开Net Manager,选中服务名称,检查服务标识栏里的服务名输入是否正确。该服务名必须与服务器端监听器配置的全局数据库名一致。
    6、 Windows下启动监听服务提示找不到路径
      用 命令或在服务窗口中启动监听提示找不到路径,或监听服务启动异常。打开注册表,进入HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/OracleOraHome92TNSListener项,查看ImagePath字符串项是否存在,如果没 有,设定值为D:oracleora92BINTNSLSNR,不同的安装路径设定值做相应的更改。这种方法同样适用于Oracle实例服务,同 上,找到如同HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/Oracle ServiceMYORACLE项,查看ImagePath字符串项是否存在,如果没有,则新建,设定值为d:oracleora92 binORACLE.EXE MYORACLE。
    以上是Oracle客户端连接服务器端常见的一些问题,当然不能囊括所有的连接异常。解决问题的关键在于方法与思路,而不是每种问题都有固定的答案。
    展开全文
  • Oracle数据库监听配置

    万次阅读 热门讨论 2007-03-17 00:57:00
    Oracle数据库监听配置 近段时间很多网友提出监听配置相关问题,客户终端(Client)无法连接服务器端(Server)。本文现对监听配置作一简单介绍,并提出一些客户终端无法连接服务器端的解决思路,愿对广大网友与读者有...

     

    Oracle数据库监听配置
     
     
    近段时间很多网友提出监听配置相关问题,客户终端(Client)无法连接服务器端(Server)。本文现对监听配置作一简单介绍,并提出一些客户终端无法连接服务器端的解决思路,愿对广大网友与读者有一些帮助。
     
    一、监听器(LISTENER)
    监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器端完成的。
     
    二、本地服务名(Tnsname)
    Oracle客户端与服务器端的连接是通过客户端发出连接请求,由服务器端监听器对客户端连接请求进行合法检查,如果连接请求有效,则进行连接,否则拒绝该连接。
    本地服务名是Oracle客户端网络配置的一种,另外还有Oracle名字服务器(Oracle Names Server)等。Oracle常用的客户端配置就是采用的本地服务名,本文中介绍的也主要是基于本地服务名的配置。
     
    三、Oracle网络连接配置方法
    配置Oracle服务器端与客户端都可以在其自带的图形化Oracle网络管理器(Oracle Net Manager)里完成(强烈建议在这个图形化的工具下完成Oracle服务端或客户端的配置)。在Windows下,点击“开始/程序/Oracle - OraHome92/Configuration and Migration Tools/Net Manager”启动Oracle网络管理器工具,在Linux/Unix下,利用netmgr命令来启动图形化Oracle网络管理器,如:
    $ netmgr
    Windows下启动Net Manager图形窗口如下图示:
     
                                                                  图(一)
     
    1、 Oracle监听器配置(LISTENER)
    如图(一)示,选中树形目录中监听程序项,再点击左上侧“+”按钮添加监听程序,点击监听程序目录,默认新加的监听器名称是LISTENER(该名称也可以由任意合法字符命名)。选中该名称,选中窗口右侧栏下拉选项中的“监听位置”,点击添加地址按钮。在出现的网络地址栏的协议下拉选项中选中“TCP/IP”,主机文本框中输入主机名称或IP地址(如果主机即用作服务端也作为客户端,输入两项之一均有效;如果主机作为服务端并需要通过网络连接,建议输入IP地址),端口文本框中输入数字端口,默认是1521,也可以自定义任意有效数字端口。配置好的监听位置如下图示:
     
                                                                   图(二)
     
    选中窗口右侧栏下拉选项中的“数据库服务”,点击添加数据库按钮。在出现的数据库栏中输入全局数据库名,如myoracle。注意这里的全局数据库名与数据库SID有所区别,全局数据库名实际通过域名来控制在同一网段内数据库全局命名的唯一性,就如Windows下的域名控制器,如这里可以输入myoracle.192.168.1.5。Oracle主目录可以不填写,输入SID,如myoracle。完整的数据库服务配置如下图示:
     
              图(三)
     
    保存以上配置,默认即可在Oracle安装目录下找到监听配置文件 (Windows下如D:/oracle/ora92/network/admin/listener.ora,Linux/Unix下$ORACLE_HOME/network/admin/listerer.ora)。至此,Oracle服务端监听器配置已经完成。
     
    2、 本地服务名配置(Tnsnames)
    本地服务名是基于Oracle客户端的网络配置,所以,如果客户端需要连接数据库服务器进行操作,则需要配置该客户端,其依附对象可以是任意一台欲连接数据库服务器进行操作的PC机,也可以是数据库服务器自身。如前面所介绍,可以利用Oracle自带的图形化管理工具Net Manager来完成Oracle客户端的配置。选中如图(一)中的服务命名,再点击左上侧“+”按钮,弹出如下图示对话框:
     
                          图(四)
     
    输入Net服务名,如myoracle,点击下一步,进入下图示对话框:
     
                    图(五)
     
    选中TCP/IP(Internet协议),点击下一步,如下图示:
     
                    图(六)
     
    输入主机名与端口号。注意这里的主机名与端口号必须与数据库服务器端监听器配置的主机名和端口号相同。点击下一步,如下图示:
     
                         图(七)
     
    选中(Oracle8i或更高版本)服务名,输入服务名。这里的服务名实际上就是数据库服务器端监听器配置中的全局数据库名,前者与后者必须相同。连接类型通常选专用服务器,这要视数据库服务器的配置而定,如果配置的共享数据库服务器,这里的连接类型就要选共享服务器,否则建议选专用服务器(关于专用服务器的介绍请参阅相关文档)。配置好后点击下一步,如下图示:
     
                    图(八)
     
    如果数据库服务器端相关服务启动了,可以点击测试按钮进行连接测试。Oracle默认是通过scott/tiger用户进行测试连接,由于scott用户是Oracle自带的示例用户,对于正式的业务数据库或专业测试数据库可能没有配置这个用户,所以需要更改成有效的用户登录才可能测试成功。如果这里测试连接不成功,也不要紧,先点完成按钮结束配置。
    回到Oracle网络管理器(Oracle Net Manager)主窗口,保存配置,默认即可在Oracle安装目录下找到本地服务名配置文件 (Windows下如D:/oracle/ora92/network/admin/tnsnames.ora,Linux/Unix下$ORACLE_HOME/network/admin/ tnsnames.ora)。配置完成的本地服务名如下图示:
     
                      图(九)
     
    树形目录下的服务命名可以通过编辑菜单里的重命名菜单更改成任意合法字符组成的服务名称,注意服务名称前不能有空格字符,否则可能无法连接数据库服务器。
     
    3、 连接数据库服务器
    (1)   启动服务器端监听器与数据库服务
    Linux/Unix下,启动监听器:
    $ lsnrctl start                    
    关闭监听器:
    $ lsnrctl stop
    查看监听状态:
    $ lsnrctl status
    启动数据库:
    $ sqlplus /nolog
    SQL>conn sys@myoracle as sysdba   --这里的myoracle是前面配置的客户端本地服务名
    SQL>conn / as sysdba
    SQL>startup
    Windows下,启动监听器:
    C:/lsnrctl start
    启动Oracle实例服务:
    C:/oradim –startup –sid myoracle  
    关闭Oracle实例服务:
    C:/oradim –shutdown –sid myoracle
    以上服务必须同时启动,客户端才能连接数据库。由于默认配置的监听器名称是Listener,上述命令可以正常启动监听器,如果监听器名称是其它名称,如aListener,则需要用下列方式才能启动:
    Linux/Unix下:
    $ lsnrctl start aListener
    Windows下:
    C:/lsnrctl start aListener
     
    (2)   测试连接数据库服务器
    测试的方法多种多样,可以在上面配置本地服务名时进行测试,也可以是第三方客户端工具,如PL/SQL Developer,最方便的是用Oracle自带的sqlplus工具,以下利用sqlplus进行测试:
    C:/sqlplus /nolog
    SQL>conn zgh@myoracle
    已连接。
     
    四、客户端连接服务器端常见问题排除方法
    要排除客户端与服务器端的连接问题,首先检查客户端配置是否正确(客户端配置必须与数据库服务器端监听配置一致),再根据错误提示解决。下面列出几种常见的连接问题:
    1、 ORA-12541: TNS: 没有监听器
    显而易见,服务器端的监听器没有启动,另外检查客户端IP地址或端口填写是否正确。启动监听器:
    $ lsnrctl start
    C:/lsnrctl start
    2、 ORA-12500: TNS: 监听程序无法启动专用服务器进程
    对于Windows而言,没有启动Oracle实例服务。启动实例服务:
    C:/oradim –startup -sid myoracle
    3、 ORA-12535: TNS: 操作超时
    出现这个问题的原因很多,但主要跟网络有关。解决这个问题,首先检查客户端与服务端的网络是否畅通,如果网络连通,则检查两端的防火墙是否阻挡了连接。
    4、 ORA-12154: TNS: 无法处理服务名
    检查输入的服务名与配置的服务名是否一致。另外注意生成的本地服务名文件(Windows下如D:/oracle/ora92/network/admin/tnsnames.ora,Linux/Unix下$ORACLE_HOME/network/admin/tnsnames.ora)里每项服务的首行服务名称前不能有空格。
    5、 ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的 SERVICE_NAME
    打开Net Manager,选中服务名称,检查服务标识栏里的服务名输入是否正确。该服务名必须与服务器端监听器配置的全局数据库名一致。
    6、 Windows下启动监听服务提示找不到路径
    用命令或在服务窗口中启动监听提示找不到路径,或监听服务启动异常。打开注册表,进入HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/OracleOraHome92TNSListener项,查看ImagePath字符串项是否存在,如果没有,设定值为D:/oracle/ora92/BIN/TNSLSNR,不同的安装路径设定值做相应的更改。这种方法同样适用于Oracle实例服务,同上,找到如同HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/Oracle ServiceMYORACLE项,查看ImagePath字符串项是否存在,如果没有,则新建,设定值为d:/oracle/ora92/binORACLE.EXE MYORACLE。
    以上是Oracle客户端连接服务器端常见的一些问题,当然不能囊括所有的连接异常。解决问题的关键在于方法与思路,而不是每种问题都有固定的答案。
    展开全文
  • 配置监听_1521端口占用问题

    万次阅读 2015-05-23 16:36:22
    声明:原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必...配置监听,警告提示,如下所示: 解决方法 1、检查1521端口 [root@hyl ~]# netstat -a --查看端口占用情况,查明1521端口并未被占用 Active Inte
  • 监听日志过大处理指南

    千次阅读 2017-12-13 16:13:26
    随着Oracle数据库的运行,监听日志如果不处理会越来越大,当日志过大会影响监听进程的稳定,特别是windows平台,当日志大小达到4G,可能出现连接不正常。因此,建议定期对日志进行转储,由于监听进程会持有监听日志...
  • ora-12500和ora-12560错误的解决

    万次阅读 2006-03-03 11:03:00
    ora-12500:TNS监听程序无法启动专用服务器进程/ora-12560:TNS:协议适配器错误,但从系统中可以看到listener监听是启动的,而且是正常的,在这种情况下,可以如下解决的方法:1、查看你系统中的ORACLE_SID的设置,有...
  • Oracle 11g服务器监听配置

    万次阅读 2016-03-21 09:19:15
    1. Oracle监听器理论基础(摘自书本、网络) Oracle监听器运行于数据库服务器端一个进程,用于监听所有来自客户端的连接请求,并提供处理数据库服务方面的请求。这个进程负责监听用户的连接请求,每当收到一个...
  • 配置监听的目的: oracle数据库用的一般是1521端口。监听程序就是监听这个端口的,一旦发现有程序连接这个端口,那么就引导程序去连接数据库。 配置监听的做法:打开net Manager,配置监听。 以下...
  • 如何删除Windows系统的Oracle的相关服务,如监听器服务  (2013-10-31 15:04:55) 转载▼ 标签:  it 分类: 技术相关 由于某些原因在使用Oracle的时候,在系统里面多建立了...
  • oracle 配置监听和TNS常见的问题

    千次阅读 2009-08-23 10:05:00
    Oracle监听器一直以来都存在一个严重的安全问题,那就是:如果不设置安全措施,那么能够访问的用户就可以远程关闭监听器。本文现对监听配置作一简单介绍,并提出一些客户终端无法连接服务器端的解决思路,愿对广大...
  • Oracel数据库,每隔一段时间连接时就会出现:ORA-12518:监听程序无法分发客户机连接,如图 上网查了资料原因和解决方案如下: 一、【问题描述】  最近,在系统高峰期的时候,会提示如上的错误,致使无法连接到...
  • 由于oracle有默认的监听名称:listener,默认的端口号:1521,当采用动态监听的时候,所以即使没有listener.ora文件,监听进程依然可以正常工作。  
  • 实际上,在安装完oracle11g时候,就已经配置监听器了。 不信?cmd 中 输入services.msc, 打开服务会看到OracleOraDb11g_home1TNSListener。 下面是默认配置文件信息如上图,配置和移植工具->Net Manager。 在...
  • Oracle监听器和服务名的配置

    千次阅读 2013-10-17 17:11:17
    Oracle监听器和服务名的配置 一、监听器(LISTENER)  监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。既然是基于服务器端的服务,那么它也只存在于数据库服务器端,...
  • Oracle监听(listener)到底是什么

    千次阅读 2015-08-11 16:15:21
    Oracle监听器listener是一个重要的数据库服务器组件,在整个Oracle体系结构中,扮演着重要的作用。  监听器Lisener功能  从当前的Oracle版本看,Listener主要负责下面的几方面功能:  1、 监听客户端...
  • IntelliJ IDEA 连接数据库 MySQL、Oracle

    万次阅读 2018-02-21 21:20:14
    示例:连接本地 Oracle 11g 数据库方面没问题的话,直接去 IDEA 里操作。 打开 IDEA ->工具栏 View -> Tool Windows -> Database(或者直接打开 IDEA 右侧栏的 Database),前提是那里有 ...
  • oracle中多实例配置多监听器的问题

    千次阅读 2020-04-17 11:28:06
    在windows7旗舰版上装了Oracle10G的服务端,现在通过DBCA创建了一个启动实例orcl,另外两个业务实例instan1,instan2,数据库名和实例名相同,创建相应用户。通过netca或者netmanager给两个业务实例instan1,instan2...
  • 轻松四步配置Oracle数据库监听

    千次阅读 2007-06-01 14:22:00
    出处:http://blog.csdn.net/zgh2003/archive/2007/03/16/1531774.aspx近段时间很多网友提出监听配置相关问题,客户终端(Client)无法连接服务器端(Server)。... 一、监听器(LISTENER) 监听器是Oracle基于服务器
  • Oracle11g安装教程1. 安装Oracle11g需要的包虚拟机必须能连网,可以使用yum命令yum install libstdc* libstdc++* libstdc++-devel make* pdksh* sysstat* xscreensaver* libaio* libaio-devel* glibc-devel* glibc-...
1 2 3 4 5 ... 20
收藏数 12,578
精华内容 5,031
关键字:

unix查看oracle监听