11g rac配置scan ip(r6笔记第30天)

作者: admin 分类: 公众号存档            2 次浏览 发布时间: 2015-08-16 23:45

公众号:杨建荣的学习笔记 · 作者:r6笔记第30天 · 发布:2015-08-16 23:45:18 · 原文链接

如果是从10g转战11g rac就会发现很多不同之处,其中一个比较大的改变就是在11g中有了一个新特性scan,其实这是一个简称,完整的名称为:SCAN(Single Client Access Name),但是单纯根据简称理解为scan似乎也能说得通。
在10g中我们一般是这么配置tns的。
racdb=

(DESCRIPTION =

(ADDRESS= (PROTOCOL= TCP)(HOST=192.168.3.101)(PORT= 1521))

(ADDRESS= (PROTOCOL= TCP)(HOST=192.168.3.201)(PORT= 1521))

(LOAD_BALANCE = yes)

(FAILOVER = ON)

(CONNECT_DATA =

(SERVER= DEDICATED)

(SERVICE_NAME = racdb)

(FAILOVER_MODE =

(TYPE= SELECT)

(METHOD= BASIC)

(RETRIES = 30)

(DELAY = 5))))

但是到了11g中,无须我们这样配置,查看tnsnames.ora里面就只有短短几行内容。

-bash-4.1$ cat tnsnames.ora
# tnsnames.ora Network Configuration File: /u04/app/11.2.0/db/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

RACDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac-scan)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = RACDB)
)
)

整个配置一下子没有了原来的那种高达上的感觉,一下感觉和单实例的数据库配置没有什么两样。
这个时候就会在数据库层面和客户端层面之间添加了一个虚拟的转换层,即我们所说的scan ip和scan ip listener
这个时候如果你去查看listener会发现多了一个scan相关的listener
-bash-4.1$ ps -ef|grep tns
root 13 2 0 07:02 ? 00:00:00 [netns]
grid 3086 1 0 07:17 ? 00:00:00 /u04/app/11.2.0/grid/bin/tnslsnr LISTENER -inherit
grid 3090 1 0 07:17 ? 00:00:00 /u04/app/11.2.0/grid/bin/tnslsnr LISTENER_SCAN1 -inherit
grid 3624 2377 0 07:32 pts/0 00:00:00 grep tns这个时候c客户端连接数据库的过程就会是下面的方式
客户端 -> scan listener -> local listener -> 对应的数据库实例
用图形显示就是下面的形式

这个解析的过程是一个动态处理的过程,比如我们也可以在这个基础上进行扩展,我们希望配备多个scan ip,也是支持的。

admin

杨建荣,《Oracle DBA工作笔记》《MySQL DBA工作笔记》作者,dbaplus社群发起人之一,腾讯云TVP,现任竞技世界系统部经理,拥有十多年数据库开发和运维经验,目前专注于开源技术、运维自动化和性能调优

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注