热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

OracleRACcachefusion原理测试-mysql教程

OracleRACcachefusion是RAC最核心的工作机制,他把所有实例的SGA虚拟成一个大的SGA区,每当不同的实例请求相同的数据块,这个数

Oracle RAC cache fusion是RAC最核心的工作机制,他把所有实例的SGA虚拟成一个大的SGA区,每当不同的实例请求相同的数据块,这个数

Oracle RAC cache fusion是RAC最核心的工作机制,他把所有实例的SGA虚拟成一个大的SGA区,每当不同的实例请求相同的数据块,这个数据块就需要在实例间进行传递。那到底什么时候传递呢?加上RAC有4个节点,其中的一个节点执行了一条SQL是全表扫描一张表,这个时候这个节点把这张表的数据加载到缓存;其他的节点如果需要相同的数据块会取第一个节点的数据,,那是需要的时候去,还是第一个节点推送呢?

实验设定:

1.清空4个节点的share pool和databuffer,其实当清除第一个节点的时候,其他的节点都已经清除了,从执行清除语句的时间就可以看出。清除后查下各节点data buffer中有没有缓存将要执行的SQL的表。

2.在第一个节点上执行一条SQL.,在其他的节点上看data buffer中是否缓存SQL的表,如果有,说明是数据块是主动推送的。

实验结论:

数据块从第执行的节点推送到其他的节点上,RAC虽然使得使用的资源多了几倍,但由于cache fusion这个特性,上了RAC后的系统系统是否有提升还是未知之数。

---清理4个节点(54,55,56,57)shared_pool和buffer_cache
现在节点54上清理share pool和data buffer
SQL> alter system flush shared_pool;
系统已更改。
SQL> alter system flush buffer_cache;
系统已更改。

---在其他的节点55,56,57上同样执行

---在第54个节点测试语句
SQL> SELECT COUNT(1)
2 FROM MM_DISTRIBUTION W
3 WHERE W.DATA_AREA LIKE '03'
4 || '%'
5 AND W.CREATE_DATE > TO_DATE('2013-01-01', 'yyyy-mm-dd');
已用时间: 00: 00: 02.40
执行计划
----------------------------------------------------------
Plan hash value: 3507380501
-------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop |
-------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 13 | 5209 (2)| 00:01:03 | | |
| 1 | SORT AGGREGATE | | 1 | 13 | | | | |
| 2 | PARTITION LIST ALL| | 43668 | 554K| 5209 (2)| 00:01:03 | 1 | 2 |
|* 3 | TABLE ACCESS FULL| MM_DISTRIBUTION | 43668 | 554K| 5209 (2)| 00:01:03 | 1 | 2 |
-------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
3 - filter("W"."CREATE_DATE">TO_DATE('2013-01-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss') AND
"W"."DATA_AREA" LIKE '03%')
统计信息
----------------------------------------------------------
2997 recursive calls
0 db block gets
24196 consistent gets
23581 physical reads
0 redo size
334 bytes sent via SQL*Net to client
338 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
39 sorts (memory)
0 sorts (disk)
1 rows processed

SQL> /

已用时间: 00: 00: 00.28

执行计划
----------------------------------------------------------
Plan hash value: 3507380501
-------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop |
-------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 13 | 5209 (2)| 00:01:03 | | |
| 1 | SORT AGGREGATE | | 1 | 13 | | | | |
| 2 | PARTITION LIST ALL| | 43668 | 554K| 5209 (2)| 00:01:03 | 1 | 2 |
|* 3 | TABLE ACCESS FULL| MM_DISTRIBUTION | 43668 | 554K| 5209 (2)| 00:01:03 | 1 | 2 |
-------------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
3 - filter("W"."CREATE_DATE">TO_DATE('2013-01-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss') AND
"W"."DATA_AREA" LIKE '03%')
统计信息
----------------------------------------------------------
0 recursive calls
0 db block gets
23554 consistent gets
0 physical reads
0 redo size
334 bytes sent via SQL*Net to client
338 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed

---在4个节点查看share_pool中的SQL是否同步
select sql_text from v$sql s where sql_text like '%MM_DISTRIBUTION%';

---在4个节点查看测试buffer_cache,可以看到其他的3个节点都已同步缓存数据
select count(b.object_name)
from sys.v_x$bh a, user_objects b
where a.OBJ = b.object_id
and b.object_name = 'MM_DISTRIBUTION'
and a.STATE <> 0; ---state=0表示free,其他表示已占用
COUNT(B.OBJECT_NAME)
--------------------
23543

Oracle教程:实例故障恢复

Linux-6-64下安装Oracle 12C笔记

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

本文永久更新链接地址:


推荐阅读
  • Parallels Desktop for Mac 是一款功能强大的虚拟化软件,能够在不重启的情况下实现在同一台电脑上无缝切换和使用 Windows 和 macOS 系统中的各种应用程序。该软件不仅提供了高效稳定的性能,还支持多种高级功能,如拖放文件、共享剪贴板等,极大地提升了用户的生产力和使用体验。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • centos 7.0 lnmp成功安装过程(很乱)
    下载nginx[rootlocalhostsrc]#wgethttp:nginx.orgdownloadnginx-1.7.9.tar.gz--2015-01-2412:55:2 ... [详细]
  • CentOS 7 中忘记 root 密码时的重置方法
    本文介绍了在 CentOS 7 环境下忘记 root 密码时如何重置密码的详细步骤。不同版本的 Linux 可能存在一定的差异,但本文提供的方法适用于大多数 CentOS 7 系统。 ... [详细]
  • Linux 防火墙与端口管理必备命令
    在使用 Linux 系统进行服务部署和问题排查时,防火墙和端口管理是不可或缺的操作。本文将详细介绍如何查看防火墙状态、端口占用情况,以及如何开放和关闭端口,帮助初学者更好地掌握这些技能。 ... [详细]
  • 如何在虚拟机中实现Linux与Windows主机之间的文件夹共享
    为了在虚拟机中实现Linux与Windows主机之间的文件夹共享,首先需要确保Linux系统已安装VMware Tools。如果尚未安装,可以通过虚拟机软件提供的“安装VMware Tools”选项进行安装。安装完成后,通过配置共享文件夹设置,即可实现主机与虚拟机之间的文件互传。此外,建议检查虚拟机网络设置,确保网络连接正常,以提高文件传输的稳定性和速度。 ... [详细]
  • 在 CentOS 6.7 系统维护中,常用的巡检命令包括:`uname -a` 用于查看内核、操作系统和 CPU 信息;`head -n 1 /etc/issue` 用于查看操作系统的版本;`cat /proc/cpuinfo` 用于获取详细的 CPU 信息;`hostname` 用于显示当前主机名;`ls` 命令则用于列出目录内容。这些命令可以帮助系统管理员快速了解系统的运行状态和配置信息,确保系统的稳定性和安全性。 ... [详细]
  • 在 CentOS 7 系统中安装 Scrapy 时遇到了一些挑战。尽管 Scrapy 在 Ubuntu 上安装简便,但在 CentOS 7 上需要额外的配置和步骤。本文总结了常见问题及其解决方案,帮助用户顺利安装并使用 Scrapy 进行网络爬虫开发。 ... [详细]
  • 在Linux系统中,网络配置是至关重要的任务之一。本文详细解析了Firewalld和Netfilter机制,并探讨了iptables的应用。通过使用`ip addr show`命令来查看网卡IP地址(需要安装`iproute`包),当网卡未分配IP地址或处于关闭状态时,可以通过`ip link set`命令进行配置和激活。此外,文章还介绍了如何利用Firewalld和iptables实现网络流量控制和安全策略管理,为系统管理员提供了实用的操作指南。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • 在 CentOS 7 中,为了扩展可用软件包的数量,通常需要配置多个第三方软件源。这些第三方源包括 EPEL、Nux Dextop 和 ELRepo 等,它们提供了大量官方源中未包含的软件包,从而增强了系统的功能性和灵活性。通过正确配置这些源,用户可以轻松安装和管理更多种类的软件,满足不同的需求。 ... [详细]
  • 如何高效地安装并配置 PostgreSQL 数据库系统?本文将详细介绍从下载到安装、配置环境变量、初始化数据库、以及优化性能的全过程,帮助读者快速掌握 PostgreSQL 的核心操作与最佳实践。文章还涵盖了常见问题的解决方案,确保用户在部署过程中能够顺利解决遇到的各种挑战。 ... [详细]
  • Dense Matrix Inversion Results in Segmentation Fault: Causes and Solutions ... [详细]
  • Linux Shell变量初探:初始值解析与使用指南
    本文探讨了Linux Shell中变量的基本概念及其在BASH中的应用。变量是用于存储可变数据的标识符,能够代表不同的值。文章详细介绍了BASH shell的主要优势,包括强大的命令编辑能力、自动补全功能、命令别名设置、作业控制以及前后台任务管理。此外,还涵盖了编程脚本编写和通配符的使用方法,为初学者提供了全面的指导。 ... [详细]
author-avatar
sdfqwerwfds
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有