众力资讯网

Oracle RAC 基础知识

oracle网络的传输速度比访问磁盘的速度要快。Oracle rac的sga组成部分:1.共享池Shared Pool2

oracle网络的传输速度比访问磁盘的速度要快。

Oracle rac的sga组成部分:

1.共享池Shared Pool

2.数据库缓冲区高速缓存

Database Buffer Cache

3.重做日志缓冲区

Redo Log Buffer

4.大型池

Large Pool

5.Java池

Java Pool

6.流池

Streams Pool

7.其他缓冲区,包括:

Keep Buffer Cache、Recycle Buffer Cache、nK Block Size Buffer。

缓存融合允许一个数据库实例的缓冲区缓存Buffer Cache直接通过高速互联网络为另一个数据库实例的缓冲区缓存提供数据块,而无需首先将数据块写入磁盘。集群中的所有实例的缓冲区缓存Buffer Cache被有效地融合成一个逻辑上统一的、被所有实例共享的庞大缓存池。

全局缓存:

global cache。

LMS: Lock Manager Server Process锁管理服务器进程,负责跨实例的资源管理。

LMS:全局缓存服务进程: Global Cache Service Process,负责处理远程全局缓存服务GCS消息。

cache fusion:Read-sharing和Write-Sharing共享模式。

read-sharing机制通过Oracle的Consistent Read 一致性读机制来实现的,Oracle CR 是基于多版本的并发控制协议,可以使得事务不上任何锁,读取到一致的数据集。Oracle的每个事务都有一个对应的快照时间,也就是SCN,cr机制能够保证事务能够读取scn时间点的一致的数据集。

scn: System Change Number系统更改号,是Oracle中非常重要的一个概念。scn的作用是维护数据的一致性和顺序恢复。

查看当前SCN:

select current_scn from v$database;

cssd: Cluster Synchronization Services Daemon 集群同步服务守护进程。

cssd重启参数:

misscount阈值是30秒,心跳丢失30秒认为节点可能失联。

reboottime阈值是3秒,判断失败后等待3秒执行重启。

disk timeout是200毫秒。Voting disk I/O超时时间是200毫秒。

通过实例查询主实例:

select INST_ID,INSTANCE_NUMBER,VERSION,to_char(STARTUP_TIME,'yyyy-mm-dd hh24:mi:ss') from gv$instance;

实例是由后台进程和内存结构组成。

多个实例同时驱动一个数据库的架构叫集群Oracle Real Application Clusters,简称RAC。

内存结构sga包括:

1.共享池Shared pool

2.数据库高速缓冲区Database Buffer Cache

3.日志缓冲区Redo Log Buffer

4.Java池 Java Pool

5.大池Large Pool

6.流池 Streams Pool

后台进程包括:

1.数据库写进程DBWR

2.系统监控进程SMON

3.进程监控进程PMON

4.检查点进程CKPT

5.日志写进程LGWR

6.归档进程ARC0。

Oracle的内存由PGA和SGA组成,PGA叫程序全局区Program Global Area。

数据库高速缓冲区Database Buffer Cache主要用于存放数据文件的副本。

共享池Shared Pool主要分成库缓冲区和字典缓冲区。库缓冲区主要存放使用过的SQL语句,数据库对象的信息存放在数据字典表中。信息包括:用户账号数据、数据文件名、段名、盘区位置、表的说明和权限。

重做日志缓冲区用来存放用户对数据库的改变,这是一片循环使用的内存区域。

查看CPU型号:

cat /proc/cpuinfo |grep name | cut -f2 -d: | uniq

显示:

Intel(R) Xeon(R) Gold 6132 CPU ​GHz

查看物理CPU数量:

cat /proc/cpuinfo | grep "physical id" | sort -u | wc -l

结果是:4

查看物理核心数:

cat /proc/cpuinfo | grep "core id "| sort -u | wc -l

结果是: 14

查看逻辑CPU总数:

cat /proc/cpuinfo | grep "processor" | wc -l

结果是:112

是否开启超线程:

cat /proc/cpuinfo | egrep -i 'siblings| cpu cores' | sort |uniq

结果是:

cpu cores: 14

siblings: 28

开启了超线程技术。

查看Oracle 客户端版本:

sqlplus -v

查看内存插槽总数:

dmidecode -t 16

查看每个插槽内存占用情况:

dmidecode -t 17 | egrep 'Size|Locator' | column -t

oracle的主目录oralce_home必须是oracle 根目录oracle_base的子目录。

查看数据块大小:

select value from v$parameter where name ='db_block_size';

数据块一般是8K 大小。

查看数据文件位置:

select * from dba_data_files;

槐树花

鼓励的话语: 做自己点太阳,不必凭借谁的光!