Oracle单实例配置多监听

一、前言

有时候我们项目中需要使用Oracle数据库,同时要需要不同的数据源,而Oracle不像Mysql那样直接建个库即可,Oracle是以账号为单位,可以理解为一个账号就是一个库,但实际有区别,项目中数据库连接数据源往往默认是安装Oracle时生成的ORCL(目前只有一个ORCL实例,称为“单实例”),这时候有人就想,那创建一个账号不就行了,的确是需要创建账号,但是本身数据源还是ORCL这一点始终没有变,在Oracle数据库中我们创建一个账号实现了相当于创建了一个库,但对于项目来说,还是一个ORCL数据源,无非就是账号和密码变了,对于他来说这一点是不行的,所以可以使用一下方法解决他

方案一

创建一个新实例,并将它注册到监听中即可(本篇文章暂不介绍,可自行百度)

方案二(本篇)

也就是标题说的,单个实例,配置多个监听,此时,对内实际还是使用同一个实例,对外看似是不同数据源和不同账号,实际上是同一实例,不同账号(可以理解为Mysql的不同库)罢了

二、单实例配置多监听

主要修改两个配置文件即可 在ORACLE_HOME目录下的/network/admin/目录下

listener.ora和tnsnames.ora文件,却有注释,可根据自身实际情况进行修改

listener.ora

#这是名称为LISTENER的监听器静态注册的服务
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
#服务名 多个监听不能配置相同,否则连接进来不知道具体在那个服务上
(GLOBAL_DBNAME = snorcl11g)
#oracle实例名称
(SID_NAME = snorcl11g)
(ORACLE_HOME = /oracle/home)
)
) #LISTENER2监听器监听的静态实例注册
SID_LIST_LISTENER2 =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl11g)
#oracle实例名称
(SID_NAME = snorcl11g)
(ORACLE_HOME = /oracle/home)
)
) #这是名称为LISTENER的监听器 默认
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.7)(PORT = 1521))
)
) #LISTENER2的监听器
LISTENER2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.7)(PORT = 1522))
)
) #oracle安装目录
ADR_BASE_LISTENER = /oracle

tnsnames.ora

#SNORCL11G 随便起,建议见名知意
#snorcl11g是实例名
#表示使用TCP协议,连接IP地址为127.0.0.1,端口号为1521的数据库主机上服务名为snorcl11g的数据库
#如果有多个监听,可以手动添加
SNORCL11G =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.7)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = snorcl11g)
)
) LISTENER2_SNORCL11G =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.7)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = snorcl11g)
)
)

至此配置就结束啦,我们来启动试试

启动监听服务

# 默认启动listener监听
# stop 停止
# status 监听状态
lsnrctl start # 启动新监听LISTENER2
lsnrctl start listener2

可以看到默认配置的监听启动成功了,对外连接使用SNORCL11G,监听实例为SNORCL11G,监听端口1521

可以看到我们配置的第二个监听启动成功了,对外连接使用ORCL11G,监听实例为SNORCL11G,监听端口1522

# 测试实例是否被监听
tnsping snorcl11g

此处的端口号为默认的,可忽略,只要看到OK,就表示该实例已监听到了

这下可以通过远程连接根据监听的内容去尝试连接啦

Linux下Oracle单实例配置多监听的更多相关文章

  1. linux下Oracle数据库实例开机自启动设置

    linux下数据库实例开机自启动设置 1.改动/oratab [root@org54 ~]# vi/etc/oratab     --把N改为Y,例如以下提示 # This file is used ...

  2. Linux下Oracle 10g DataGuard配置(主从同步及切换)

    环境描述:主库: IP: 10.8.3.191 主机名:primaryORACLE_SID=afcORACLE_BASE=/u01/oracleORACLE_HOME=/u01/oracle/10g备 ...

  3. Linux下MongoDB单实例的安装和配置详解

    推荐网站 MongoDB官网:http://www.mongodb.org/ MongoDB学习网站:http://www.runoob.com/mongodb 一.创建MongoDB的资源目录和安装 ...

  4. Linux下如何查看哪些端口处于监听状态

    查看某一端口的占用情况: lsof -i:端口号 前提:首先你必须知道,端口不是独立存在的,它是依附于进程的.某个进程开启,那么它对应的端口就开启了,进程关闭,则该端口也就关闭了.下次若某个进程再次开 ...

  5. linux下mysql无法看到3306端口监听

    这个问题搞定了,原因是我的my.cnf有话:skip-network注释掉,然后运行netstat -an|grep 3306 就可以看到了

  6. linux下oracle数据库服务和监听的启动停止

    oracle数据库是重量级的,其管理非常复杂,将其在linux平台上的启动和关闭步骤整理一下. 安装完毕oracle以后,需要创建oracle系统用户,并在/home/oracle下面的.bash_p ...

  7. Oracle单实例情况下的library cache pin的问题模拟与问题分析

    Oracle单实例情况下的library cache pin的问题模拟与问题分析 參考自: WAITEVENT: "library cache pin" Reference Not ...

  8. Oracle 单实例 迁移到 RAC 实例 -- 使用RMAN 异机恢复

    Oracle 官网有关单实例迁移到RAC的一个步骤说明: How to Convert 10g Single-Instance database to 10g RAC using Manual Con ...

  9. CentOS Linux 新建oracle数据库实例并连接

    CentOS Linux 新建oracle数据库实例 安装好oracle之后,首先想到的那就是自己建一个库来看看效果喽. 创建的过程如下文章所说,http://blog.chinaunix.net/u ...

  10. oracle 单实例DG(搭建篇一)

    一,介绍 lodding... 二,安装前环境配置 01,依赖包的安装: yum install binutils-* yum install compat-libstdc++-* yum insta ...

随机推荐

  1. 探索FSM (有限状态机)应用

    我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品.我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值.. 本文作者:木杪 有限状态机(FSM) 是计算机科学中的一种数学模型 ...

  2. HashMap实现原理和自动扩容

    HashMap实现原理: JDK1.7:数组+单向链表(头插) 在并发情况下头插可能出现循环链表(死循环)问题.原因:因为头插,在新数组中链表的元素顺序发生了变化, 如上图,假设线程1在扩容,刚刚调整 ...

  3. vue中实际代码模拟JS中promise调接口的运行流程

    假设我们有一个需要调用接口的场景,我们可以使用Vue中的axios库来发送请求.以下是一个简单的例子: // 引入axios库import axios from 'axios' // 定义一个函数,用 ...

  4. [C++项目] 通讯录管理系统

    文章目录 通讯录管理系统 1.系统需求 2.创建项目 2.1 创建项目 2.2添加文件 3.菜单功能 4.退出功能 5.添加联系人 5.1 设计联系人结构体 5.2 设计通讯录结构体 5.3 main ...

  5. Jmeter小白使用攻略

    <Jmeter小白使用攻略> 一.主界面 二.如何测试一个接口

  6. 分享Zeal的全套离线文档

    鉴于Zeal自身的下载速度... 为了方便大家,现在把我自己下载好的Zeal离线文档全部分享出来 百度网盘链接:https://pan.baidu.com/s/19WeEWij3evnuMWhzbHu ...

  7. 2022-10-11:一个整数区间 [a, b] ( a < b ) 代表着从 a 到 b 的所有连续整数,包括 a 和 b。 给你一组整数区间intervals,请找到一个最小的集合 S, 使得

    2022-10-11:一个整数区间 [a, b] ( a < b ) 代表着从 a 到 b 的所有连续整数,包括 a 和 b. 给你一组整数区间intervals,请找到一个最小的集合 S, 使 ...

  8. vue入门第一坑:Eslint

    Eslint是语法检查插件,它会严格要求你的代码,就你本身代码没错,但是一运行,Eslint就跳出来报错了.它会自动检查你的代码是否符合规范.所以,建议新手入门Vue创建项目的时候可以关掉Eslint ...

  9. < Python全景系列-4 > 史上最全文件类型读写库大盘点!什么?还包括音频、视频?

    欢迎来到我们的系列博客<Python全景系列>!在这个系列中,我们将带领你从Python的基础知识开始,一步步深入到高级话题,帮助你掌握这门强大而灵活的编程语言! 本文系列第四篇,介绍史上 ...

  10. harbor仓库主从同步