博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle监听
阅读量:5951 次
发布时间:2019-06-19

本文共 3614 字,大约阅读时间需要 12 分钟。

  • 原理
    • 客户端向服务器端发送连接请求,监听器监听到客户端德连接请求
    • 监听器监听到客户端德连接请求后,把客户端德连接请求交给数据库服务器处理
    • 客户端和服务器端建立连接,连接建立后,服务器端和客户端直接通信,而不再需要监听器的参与。
      这里写图片描述

监听器启动会读取listener.ora文件

  • LISTENER 是监听的名称(可以自定义)
  • SID_NAME监听器监听的数据库实例名
  • PROTOCOL 是监听器监听的协议
  • HOST 指定数据库服务器的主机名或IP地址
  • PORT 监听器指定的端口号
[oracle@prod1 admin]$ more listener.ora LISTENER =  (DESCRIPTION_LIST =    (DESCRIPTION =      (ADDRESS = (PROTOCOL = TCP)(HOST =192.168.137.127)(PORT = 1521))    )  )SID_LIST_LISTENER=        (SID_LIST=                (SID_DESC=                        (GLOBAL_DBNAME=beijing)                        (SID_NAME=PROD)                        (ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1)                )        )

TNS文件

  • SERVER指定连接请求的服务类型是专有服务器连接(dedicated)还是共享服务器连接(shared)
[oracle@prod1 admin]$ more tnsnames.ora bj= (DESCRIPTION=  (ADDRESS= (PROTOCOL=tcp)(HOST=prod1)(PORT=1521))  (CONNECT_DATA=     (SERVICE_NAME=beijing)     (SERVER=dedicated)   ) )

登录远程数据库方式

#查看监听状态[oracle@prod1 admin]$ lsnrctl statusLSNRCTL for Linux: Version 11.2.0.1.0 - Production on 19-FEB-2015 18:49:04Copyright (c) 1991, 2009, Oracle.  All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.137.127)(PORT=1521)))STATUS of the LISTENER------------------------Alias                     LISTENERVersion                   TNSLSNR for Linux: Version 11.2.0.1.0 - ProductionStart Date                19-FEB-2015 11:45:07Uptime                    0 days 7 hr. 3 min. 56 secTrace Level               offSecurity                  ON: Local OS AuthenticationSNMP                      OFFListener Parameter File   /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.oraListener Log File         /u01/app/oracle/diag/tnslsnr/prod1/listener/alert/log.xmlListening Endpoints Summary...  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.137.127)(PORT=1521)))Services Summary...Service "beijing" has 1 instance(s).  Instance "PROD", status UNKNOWN, has 1 handler(s) for this service...The command completed successfully

使用连接字符串登录

[oracle@prod1 admin]$ sqlplus system/beijing@192.168.137.127:1521/beijing

使用网络服务名登录

#根据tns文件bj= (DESCRIPTION=  (ADDRESS= (PROTOCOL=tcp)(HOST=prod1)(PORT=1521))  (CONNECT_DATA=     (SERVICE_NAME=beijing)     (SERVER=dedicated)   ) )[oracle@prod1 admin]$ sqlplus system/beijing@bj

监听常见的错误

1

TNS-12541: TNS:no listener
  • 可能原因:
    • 客户端指定的目标主机IP有误
    • 客户端指定的端口号有误
    • 客户端指定的SID有误
    • 服务器端监听没开启
#查看服务器端监听状态,如果是如下显示[oracle@prod1 admin]$ lsnrctl statusLSNRCTL for Linux: Version 11.2.0.1.0 - Production on 19-FEB-2015 20:33:21Copyright (c) 1991, 2009, Oracle.  All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.137.127)(PORT=1521)))TNS-12541: TNS:no listener TNS-12560: TNS:protocol adapter error  TNS-00511: No listener   Linux Error: 111: Connection refused#开启监听[oracle@prod1 admin]$ lsnrctl start

2

[oracle@prod1 dbs]$ sqlplus sys/beijing@bj as sysdbaSQL*Plus: Release 11.2.0.1.0 Production on Thu Feb 19 20:49:38 2015Copyright (c) 1982, 2009, Oracle.  All rights reserved.ERROR:ORA-01031: insufficient privileges

出现这个错误说明oracle试图去找口令文件,但是找不到

解决方法

  • file 指定口令文件的名称及路径
  • password 指定用户sys的口令
  • entries 指定最多可以有多少个超级用户(具有sysdba权限)
  • force 是否覆盖已经存在的口令文件
#生成口令文件[oracle@prod1 dbs]$ orapwd file='/u01/app/oracle/product/11.2.0/db_1/dbs/orapwPROD' password=beijing entries=5 force=y#SYSDB为true,说明sys已经有了sysdba权限sys@PROD> select * from v$pwfile_users;   USERNAME                       SYSDB SYSOP SYSAS------------------------------ ----- ----- -----SYS                            TRUE  TRUE  FALSE#重新连接[oracle@prod1 dbs]$ sqlplus sys/beijing@bj as sysdba

3

禁止以操作系统认证方式登录oracle

[oracle@prod1 admin]$ vi sqlnet.ora SQLNET.AUTHENTICATION_SERVICES=(NTS)
你可能感兴趣的文章
Java图像渐变
查看>>
解决ios下的微信打开的页面背景音乐无法自动播放(转载)
查看>>
fidder设置断点,修改请求参数等
查看>>
Material Design之RecyclerView的使用(一)
查看>>
系统编程是什么
查看>>
git rebase简介(基本篇)
查看>>
Backup and Recovery Basics1
查看>>
C语言各种keyword
查看>>
Rescue
查看>>
1775. [国家集训队2010]小Z的袜子
查看>>
前端学习 -- Html&Css -- 表单
查看>>
android的toogleButton和switch的使用方法
查看>>
CSS网页布局垂直居中整理
查看>>
HTML标签列表
查看>>
由“从按下回车到网页显示”粗谈网页优化
查看>>
Zxing 的集成 ---- Maven 对应 Gradle 的写法
查看>>
集合框架总结
查看>>
将字典直接写入文件,出现中文乱码问题
查看>>
bzoj1513【POI2006】Tet-Tetris 3D
查看>>
Android集成一个新产品时,lunch的product name和device name注意事项
查看>>