oracle包含

1、软件

2、数据库

3、实例

4、监听(listener)

监听的特点

可以独立启动,就是说,数据库没有启动,监听可以启动;数据库启动,监听也可以不启动;数据库启动,监听也启动

监听和数据库是独立分开的

数据库的整个网络结构



图解:

1、数据库有数据库的名字:dbname;实例有实例的名字:instancename;对整个数据库来说,还有一个名字:servername(跟后面的负载均衡有关);默认情况下,这三个名字是一样的,前两个的名字不能改,但是servername是可以改的

2、数据库启动,监听也启动了,这时候,pmonitor进程会做一件事:就是把实例的名字和servername自动告诉(自动注册)监听,这个是oracle自动完成的,

3、用户连接上数据库的时候,监听会启动一个端口号:1521,用户连接之后,监听会返回来问用户要连接哪个servername,然后根据servername就可以找到instancename,之后,实例就会起一个server process,同时把server process的地址告诉监听,然后监听把server process的地址告诉用户,用户直接通过server process连接实例,这时候实例会跟用户要用户名和密码,然后跟实例的用户名和密码进行对比,正确的话,连接就正式建立了,也就是客户端和实例之间就正式建立了一个连接,也就是建立了一个会话,客户端就可以访问数据库实例了

4、连接建立以后,这时候如果把监听关了,连接也在,连接也不会断开

监听只是负责用户(客户端)连接上数据库实例的,连接上之后,监听就没有意义

监听:

1、默认:1521端口启动
以后配监听的时候,必须确认这个监听在哪个ip地址上,端口号是多少
2、监听是独立的
3、用于连接建立的
4、监听和实例之间有一个关系
1、ip和端口
2、连接哪个servername
3、server process
4、username/password
5、用户发送SQL、PLSQL

使用sqlplus客户端连接数据库(网络连接):

sqlplus sysdb/oracle@192.168.56.1:1521/orcl    --orcl:servername

手工配置监听

监听可能存在这么一个问题:pmonitor可能没有把instancename和servername那么好的注册到监听里,就导致用户连接数据库失败了,这时候,我们可以手工配置

手工配置(静态注册)有这么一个特点:监听启动以后,监听里面就有了servername和instancename,就算实例没有启动,也会认为监听里面有servername和instancename

当pmonitor自动注册不稳定的时候,我们可以手工配置一下servername和instancename

用户(客户端)连接数据库时候需要注意的几个点:

1、监听有没有启动了(监听在不在,就是ip和端口号在不在)
2、判断监听下面有没有servername和instancename,同时判断监听里面的servername和客户端要连接的servername是不是一致的
3、判断实例是否启动了
4、确认用户名和密码是否正确

6、oracle网络(监听)的更多相关文章

  1. Oracle 网络监听配置管理

    Oracle 网络配置与管理 详细信息可以参考以下信息: [学习目标] 一.原理解析 二.配置侦听器(LISTENER) 三.配置客户端网络服务名 四.关于注册 五.查询某服务是静态还是动态注册 Or ...

  2. Oracle 数据库监听配置和服务

    -- 补充说明 如果要远程连接192.168.10.44上的oracle,那么192.168.10.44服务器必须启动TNSListener.(配置文件 listener.ora) PLSQL Dev ...

  3. Oracle修改监听端口号1521[转]

    在oracle中,默认的监听端口号为1521,一旦有人扫描出这个端口号就会知道此服务器为oracle数据库服务器,存在极其大的安全隐患,在这里,教大家如何修改oracle默认端口号为9999: 1.查 ...

  4. iOS 网络监听、判断

    一 网络监听 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary ...

  5. 从零开始学 Web 之 HTML5(三)网络监听,全屏,文件读取,地理定位接口,应用程序缓存

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  6. Oracle修改监听端口教程

    Oracle默认监听端口1521,一众扫描器通常通过探测1521端口是否开启来探测是否存在Oracle服务,如果修改默认监听端口在一定程度上可以提升数据库和主机的安全性. 比如这里我们修改成2521为 ...

  7. 修改oracle默认监听端口

    修改oracle默认监听端口 oracle端口修改 主要是修改两个文件和修改oracle参数local_listener 1 查看当前监听状态 [oracle@test ~]$ lsnrctl sta ...

  8. iOS:Reachability网络监听

    iOS利用Reachability确认网络环境3G/WIFI 开发Web等网络应用程序的时候,需要确认网络环境,连接情况等信息.如果没有处理它们,是不会通过Apple的审查的,一般情况下,可以把网络监 ...

  9. java实现网络监听

    Java实现网络监听 import java.net.*; import java.io.*; public class tcpServer { public static void main(Str ...

  10. Windows环境下修改Oracle实例监听IP地址

    Windows环境下修改Oracle实例监听IP地址. 配置文件路径:<ORACLE_HOME>\NETWORK\ADMIN 如:C:\Oracle11gR2\product\11.2.0 ...

随机推荐

  1. DDD是软件工程的第一性原理?

    本文书接上回<DDD建模后写代码的正确姿势>,关注公众号(老肖想当外语大佬)获取信息: 最新文章更新: DDD框架源码(.NET.Java双平台): 加群畅聊,建模分析.技术实现交流: 视 ...

  2. CANopen学习笔记(三)NMT

    NMT NMT主要用来管理和控制各个节点的状态,具体协议可以分为以下四类: NMT protocol Node guard protocol Heartbeat protocol Bootup pro ...

  3. Make 使用

    GNU Make 参考:Make 命令教程 | 阮一峰的网络日志 Makefile 文件的格式 Makefile 文件由一系列 规则(rules)构成.每条 规则 的形式如下. <target& ...

  4. 【YashanDB数据库】yasql登录有特殊字符@导致无法登录

    问题备机 Linux bash shell环境下,使用yasql登录数据库没有使用转义导致登录失败.报错信息如下 问题分析 linux特殊字符转义问题,多加几层转义可以解决问题. 解决办法 su - ...

  5. Docker镜像源地址

    Docker镜像源地址(1)官方镜像:https://registry.docker-cn.com(2)网易镜像:http://hub-mirror.c.163.com(3)清华大学:https:// ...

  6. Angular Material 18+ 高级教程 – Datepicker の Calendar & Custom DateAdapter (Temporal)

    前言 本篇只会教 Angular Material Datepicker 里最关键的组件 -- Calendar 组件. 还有如何自定义 DateAdapter,让 Calendar 支持 TC39 ...

  7. C# and TypeScript – Enum Flags

    前言 以前就有提过 Enum Flags,但平日不常用.最近翻 Angular 源码,发现它很多地方用到,而且没有封装语义代码.一堆符号真的看不惯啊... 于是又去复习了一遍,熟悉熟悉.顺便写一篇做记 ...

  8. ASP.NET Core Library – FluentValidation

    前言 之前就有写过学习笔记: Asp.net core 学习笔记 Fluent Validation 但都是用一点记入一点,零零散散不好读, 这一篇来稍微整理一下. 主要参考: Fluent Vali ...

  9. 面试官的几句话,差点让我挂在HTTPS上

    作为软件测试,大家都知道一些常用的网络协议是我们必须要了解和掌握的,比如 HTTP 协议,HTTPS 协议就是两个使用非常广泛的协议,所以也是面试官问的面试的时候问的比较多的两个协议:而且因为这两个协 ...

  10. DDL-操作表

    1.查询表 查询当前数据库下所有表名称 show tables; 查询表结构 desc 表名称; 2.创建表 create table 表名 ( 字段名1 数据类型1, 字段名2 数据类型2, ... ...