一个rac 集群中可否有两个以上的数据库

一个rac 集群中可否有两个以上的数据库,第1张

一个数据库可以由多个实例打开,但任何时刻一个实例只能打开一个数据库。多个实例可以同时运行在同一个机器上,它们彼此访问各自独立的物理数据库。

对于一个数据库里的多个表空间,是享用RAC功能的,在应用程序配置数据库连接池的时候,用“用户”区分开就可以了。

例如:

一个双节点的RAC,每个节点两个网卡,eth0,eth1

节点一:

eth0 配置私有IP(priv ip)

私有IP包括network heartbeat和cache fusion,用于心跳同步,这个对于用户层面,可以直接忽略,简单理解,这个Ip用来保证两台服务器同步数据用的私网IP。

eth1 配置公有IP(public ip)(提供对外数据服务)

公有IP一般用于管理员,用来确保可以 *** 作到正确的机器,我更愿意叫他真实IP。

eth0:1 虚拟IP(VIP)

当启动集群服务时,会在网卡eth0上自动生成一个临时网卡eth0:1。

虚拟IP用于客户端应用,以支持失效转移,通俗说就是一台挂了,另一台自动接管,客户端没有任何感觉。

同理

节点二 也有三个 IP:priv ip,public ip,vip

节点一+节点二=6个ip

还有一个IP是SCAN IP

SCAN:

Single Client Access Name,单一客户访问名称,意思是客户端(如jdbc,pl/sql等)访问数据库时的公共域名,由于rac是多节点的,客户端要访问数据库,通过scan机制,只需要提供一个访问名称,oracle rac会自动为客户端分配一个节点,这对客户端来说是透明的。

其中:私有IP,VIP,SCANip在一个网段

首先,RAC是基于应用的集群,HA是基于 *** 作系统的集群,两种集群有很大区别的。

RAC是在集群中的每台服务器上启动一个数据库实例,同时对用户群组的请求进行响应。而HA其实是由 *** 作系统决定数据库运行在哪个主机上,其他主机上面是一般是不运行任何数据库的(除了双机互备系统),实际上HA是个单机数据库,它是为避免单个主机故障而出现的。

crs_stat 命令是oracle的集群组件中的工具。如果使用crs_stat -t命令返回结果如下:

rac2-> crs_stat -t

Name Type Target State Host

------------------------------------------------------------

oraCRMcs application OFFLINE OFFLINE

oradb1srv application OFFLINE OFFLINE

oradevdbdb application ONLINE ONLINE rac2

orab1inst application ONLINE ONLINE rac1

orab2inst application ONLINE ONLINE rac2

oraSM1asm application ONLINE ONLINE rac1

oraC1lsnr application ONLINE OFFLINE

orarac1gsd application ONLINE ONLINE rac1

orarac1ons application ONLINE ONLINE rac1

orarac1vip application ONLINE ONLINE rac1

oraSM2asm application ONLINE ONLINE rac2

oraC2lsnr application ONLINE OFFLINE

orarac2gsd application ONLINE ONLINE rac2

orarac2ons application ONLINE ONLINE rac2

orarac2vip application ONLINE ONLINE rac2

包含以下两行

orab1inst application ONLINE ONLINE rac1

orab2inst application ONLINE ONLINE rac2

就说明是RAC数据库

其中第一行说明orab1inst这个数据库实例是在rac1这个主机上online的

同理第二行是orab2inst这个数据库实例是在rac2这个主机上online的

所有实例和服务的状态

$ srvctl status database d orcl

Instance orcl is running on node linux

Instance orcl is running on node linux

单个实例的状态

$ srvctl status instance d orcl i orcl

Instance orcl is running on node linux

在数据库全局命名服务的状态

$ srvctl status service d orcl s orcltest

Service orcltest is running on instance(s) orcl orcl

特定节点上节点应用程序的状态

$ srvctl status nodeapps n linux

VIP is running on node: linux

GSD is running on node: linux

Listener is running on node: linux

ONS daemon is running on node: linux

ASM 实例的状态

$ srvctl status a n linux

ASM instance +ASM is running on node linux

列出配置的所有数据库

$ srvctl config database

orcl

显示 RAC 数据库的配置

$ srvctl config database d orcl

linux orcl /u /app/oracle/product/ /db_

linux orcl /u /app/oracle/product/ /db_

显示指定集群数据库的所有服务

$ srvctl config service d orcl

orcltest PREF: orcl orcl AVAIL:

显示节点应用程序的配置 —(VIP GSD ONS 监听器)

$ srvctl config nodeapps n linux a g s l

VIP exists : /linux vip/ / /eth :eth

GSD exists

ONS daemon exists

Listener exists

显示 ASM 实例的配置

$ srvctl config a n linux

+ASM /u /app/oracle/product/ /db_

集群中所有正在运行的实例

SELECT

inst_id

instance_number inst_no

instance_name inst_name

parallel

status

database_status db_status

active_state state

host_name host

FROM gv$instance

ORDER BY inst_id;

INST_ID INST_NO INST_NAME PAR STATUS DB_STATUS STATE HOST

orcl YES OPEN ACTIVE NORMAL rac

orcl YES OPEN ACTIVE NORMAL rac

位于磁盘组中的所有数据文件

select name from v$datafile

union

select member from v$logfile

union

select name from v$controlfile

union

select name from v$tempfile;

NAME

+FLASH_RECOVERY_AREA/orcl/controlfile/current

+FLASH_RECOVERY_AREA/orcl/onlinelog/group_

+FLASH_RECOVERY_AREA/orcl/onlinelog/group_

+FLASH_RECOVERY_AREA/orcl/onlinelog/group_

+FLASH_RECOVERY_AREA/orcl/onlinelog/group_

+ORCL_DATA /orcl/controlfile/current

+ORCL_DATA /orcl/datafile/example

+ORCL_DATA /orcl/datafile/indx

+ORCL_DATA /orcl/datafile/sysaux

+ORCL_DATA /orcl/datafile/system

+ORCL_DATA /orcl/datafile/undotbs

+ORCL_DATA /orcl/datafile/undotbs

+ORCL_DATA /orcl/datafile/undotbs

+ORCL_DATA /orcl/datafile/undotbs

+ORCL_DATA /orcl/datafile/users

+ORCL_DATA /orcl/datafile/users

+ORCL_DATA /orcl/onlinelog/group_

+ORCL_DATA /orcl/onlinelog/group_

+ORCL_DATA /orcl/onlinelog/group_

+ORCL_DATA /orcl/onlinelog/group_

+ORCL_DATA /orcl/tempfile/temp

rows selected

属于 ORCL_DATA 磁盘组的所有 ASM 磁盘

SELECT path

FROM v$a _disk

WHERE group_number IN (select group_number

from v$a _diskgroup

where name = ORCL_DATA );

PATH

ORCL:VOL

ORCL:VOL

启动/停止RAC集群

确保是以 oracle UNIX 用户登录的 我们将从rac 节点运行所有命令

# su – oracle

$ hostname

Rac

停止 Oracle RAC g 环境

第一步是停止 Oracle 实例 当此实例(和相关服务)关闭后 关闭 ASM 实例 最后 关闭节点应用程序(虚拟IP GSD TNS 监听器和 ONS)

$ export ORACLE_SID=orcl

$ emctl stop dbconsole

$ srvctl stop instance d orcl i orcl

$ srvctl stop a n rac

$ srvctl stop nodeapps –n rac

启动 Oracle RAC g 环境

第一步是启动节点应用程序(虚拟 IP GSD TNS 监听器和 ONS) 当成功启动节点应用程序后 启动 ASM 实例 最后 启动 Oracle 实例(和相关服务)以及企业管理器数据库控制台

$ export ORACLE_SID=orcl

$ srvctl start nodeapps n rac

$ srvctl start a n rac

$ srvctl start instance d orcl i orcl

$ emctl start dbconsole

使用 SRVCTL 启动/停止所有实例

启动/停止所有实例及其启用的服务 我只是觉得有意思就把此步骤作为关闭所有实例的一种方法加进来了!

$ srvctl start database d orcl

lishixinzhi/Article/program/Oracle/201311/16967

对于“IPC Send timeout”:

1) 通过Oracle自带的CHM (Cluster Health Monitor)的输出来检查当时的资源、网络使用情况。CHM只在某些平台和版本上存在,关于CHM,请参考文章11gR2

新特性:Oracle Cluster Health Monitor(CHM)简介。

2) 如果没有CHM,请安装OSWBB来监控网络和主机资源。

3) 检查网络上是否有UDP或者IP包丢失的情况、网络上是否有错误。

4) 检查所有节点的网络设置是否正确。比如,所有节点MTU的设置必须是一致的,如果Jumbo Frame被使用的话,需要保证交换机可以支持MTU为9000

5) 检查服务器是否有CPU使用率高或者内存不足的情况。

6) 检查实例被驱逐之前是否有数据库hang或者严重的性能问题。

以上就是关于一个rac 集群中可否有两个以上的数据库全部的内容,包括:一个rac 集群中可否有两个以上的数据库、11g rac 需要多少个ip、如何查看我的oracle数据库是RAC还是HAcrs_stat 可以运行就是RAC,不然就是HA了等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9483533.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存