11g R2RAC Dynamic remastering
to be redistributed to the surviving nodes. Similarly, when a new instance enters the cluster, the GRD portions of the existing instances must be redistributed to create the GRD portion of the new instance. This is called dynamic resource reconfiguration.
keeps track of the number of GCS requests on a per-instance and per-object basis. This means that if an instance, compared to another, is heavily accessing blocks from the same object, the GCS can take the decision to dynamically migrate all of that object’s
resources to the instance that is accessing the object most. LMON, LMD and LMS processes are responsible for Dynamic remastering.
SYS> col owner for a10
col data_object_id for 9999999
col object_name for a15
select owner, data_object_id, object_name
from dba_objects
where owner = 'SCOTT'
and object_name = 'EMP';
SQL>select empno, dbms_rowid.rowid_relative_fno(rowid),
dbms_rowid.rowid_block_number(rowid)
from scott.emp
where empno in (7788, 7369);
[oracle@host01 ~]$ srvctl stop database -d racdb
srvctl start database -d racdb
srvctl status database -d racdb
SCOTT@NODE2> select * from emp;
SYS@NODE2>col hexname for a25
col resource_name for a15
select b.kjblname hexname, b.kjblname2 resource_name,
b.kjblgrant, b.kjblrole, b.kjblrequest
from x$le a, x$kjbl b
where a.le_kjbl=b.kjbllockp
and a.le_addr = (select le_addr
from x$bh
where dbablk = 151
and obj = 73181
and class = 1
and state <> 3);
SYS>select o.object_name, m.CURRENT_MASTER,
m.PREVIOUS_MASTER, m.REMASTER_CNT
from dba_objects o, v$gcspfmaster_info m
where o.data_object_id=73181
and m.data_object_id = 73181 ;
SYS@NODE2> select kj.kjblname, kj.kjblname2, kj.kjblowner,
kj.kjblmaster
from (select kjblname, kjblname2, kjblowner,
kjblmaster, kjbllockp
from x$kjbl
where kjblname = '[0x97][0x4],[BL]'
) kj, x$le le
where le.le_kjbl = kj.kjbllockp
order by le.le_addr;
SYS@NODE2>oradebug lkdebug -m pkey 74625
SYS>select o.object_name, m.CURRENT_MASTER,
m.PREVIOUS_MASTER, m.REMASTER_CNT
from dba_objects o, v$gcspfmaster_info m
where o.data_object_id=74625
and m.data_object_id = 74625 ;
SYS> select kj.kjblname, kj.kjblname2, kj.kjblowner,
kj.kjblmaster
from (select kjblname, kjblname2, kjblowner,
kjblmaster, kjbllockp
from x$kjbl
where kjblname = '[0x97][0x4],[BL]' ) kj, x$le le
where le.le_kjbl = kj.kjbllockp
order by le.le_addr;
GCS masters a buffer cache resource on the instance where it is mostly accessed. In order to determine whether dynamic remastering is necessary, the GCS essentially keeps track of the number of GCS requests on a per-instance and per-object basis. This
means that if an instance, compared to another, is heavily accessing blocks from the same object, the GCS can take the decision to dynamically migrate all of that object’s resources to the instance that is accessing the object most.
initiates GRD freeze. LMON performs reconfiguration of buffer cache locks working with LMS processes. All these are visible in LMD0/LMON trace files.
is not maintained if DRM is disabled.
SYS>drop table scott.test purge;
create table scott.test as select * from sh.sales;
insert into scott.test select * from scott.test;
commit;
insert into scott.test select * from scott.test;
commit;
insert into scott.test select * from scott.test;
commit;
insert into scott.test select * from scott.test;
commit;
SYS> col data_object_id for 9999999
col object_name for a15
select owner, data_object_id, object_name, object_id
from dba_objects
where owner = 'SCOTT'
and object_name = 'TEST';
SYS>
SET linesize 235
col Parameter FOR a20
col Instance FOR a10
col Description FOR a40 word_wrapped SELECT a.ksppinm "Parameter",
c.ksppstvl "Instance",
a.ksppdesc "Description"
FROM x$ksppi a, x$ksppcv b, x$ksppsv c, v$parameter p
WHERE a.indx = b.indx AND a.indx = c.indx
AND p.name(+) = a.ksppinm
AND UPPER(a.ksppinm) LIKE UPPER('%¶meter%')
ORDER BY a.ksppinm; Enter value for parameter: gc_policy
old 11: AND UPPER(a.ksppinm) LIKE UPPER('%¶meter%')
new 11: AND UPPER(a.ksppinm) LIKE UPPER('%gc_policy%')
SYS>alter system set "_gc_policy_minimum" = 10 scope=spfile;
alter system set "_gc_policy_time" = 1 scope=spfile;
[oracle@host01 ~]$ srvctl stop database -d racdb
srvctl start database -d racdb
srvctl status database -d racdb
SYS>
SET linesize 235 col Parameter FOR a20 col Instance FOR a10 col Description FOR a40 word_wrapped SELECT a.ksppinm "Parameter", c.ksppstvl "Instance", a.ksppdesc "Description"
FROM x$ksppi a, x$ksppcv b, x$ksppsv c, v$parameter p
WHERE a.indx = b.indx
AND a.indx = c.indx
AND p.name(+) = a.ksppinm
AND UPPER(a.ksppinm) LIKE UPPER('%¶meter%')
ORDER BY a.ksppinm; old 11: AND UPPER(a.ksppinm) LIKE UPPER('%¶meter%')
new 11: AND UPPER(a.ksppinm) LIKE UPPER('%gc_policy%')
Enter value for parameter: gc_policy
SYS@NODE1>oradebug lkdebug -m pkey 74626
SCOTT@NODE1>select * from scott.test;
SYS@NODE1>select o.object_name, m.CURRENT_MASTER,
m.PREVIOUS_MASTER, m.REMASTER_CNT
from dba_objects o, v$gcspfmaster_info m
where o.data_object_id=74626
and m.data_object_id = 74626 ;
will be remastered to node3
SCOTT@NODE3>insert into scott.test select * from test;
SYS@NODE1>select inst_id, sopens, xopens
from x$object_policy_statistics
where object=74626;
SYS@NODE1>/
SYS@NODE1>/
SYS@NODE1>/
– Note that after some time
SYS@NODE2>select o.object_name, m.CURRENT_MASTER,
m.PREVIOUS_MASTER, m.REMASTER_CNT
from dba_objects o, v$gcspfmaster_info m
where o.data_object_id=74626
and m.data_object_id = 74626 ;
16:09:16 SYS@NODE2>/
16:12:24 SYS@NODE2>/
root@node3#init 6
SYS@NODE2>select o.object_name, m.CURRENT_MASTER,
m.PREVIOUS_MASTER, m.REMASTER_CNT
from dba_objects o, v$gcspfmaster_info m
where o.data_object_id=74626
and m.data_object_id = 74626 ;
SYS@NODE1>drop table scott.test purge;
SYa@NODE1S>
alter system reset "_gc_policy_minimum" = 10 scope=spfile;
alter system reset "_gc_policy_time" = 1 scope=spfile; [oracle@host01 ~]$ srvctl stop database -d racdb
srvctl start database -d racdb
srvctl status database -d racdb
11g R2RAC Dynamic remastering的更多相关文章
- RAC object remastering ( Dynamic remastering )
RAC环境中,每个数据块都被一个instance所管控(mastered),管控数据块的instance被称作主实例(master instance).管控数据块就是说主实例(master insta ...
- Oracle 11g trace events
oracle的events,是我们在做自己的软件系统时可以借鉴的 Oracle 11g trace eventsORA-10001: control file crash event1ORA-1000 ...
- Oracle12c版本中未归档隐藏参数
In this post, I will give a list of all undocumented parameters in Oracle 12.1.0.1c. Here is a query ...
- Oracle11g版本中未归档隐藏参数
In this post, I will give a list of all undocumented parameters in Oracle 11g. Here is a query to se ...
- Oracle Extended Tracing
Definitions A trace file is a file that contains diagnostic data used to investigate problems. Als ...
- RAC Cache Fusion 原理理解
cache fusion . grd . drm . gcs . ges cache fusion 1.RAC是一个数据库执行在多个实例上.通过DLM(Distributed ...
- Oracle 所有字典
select * from DBA_CONS_COLUMNS ; ---Information about accessible columns in constraint definitions s ...
- 关于Oracle RAC中SCN原理和机制的探索
今天看书时看到了关于RAC中SCN的问题,为了进一步搞清楚其内部原理和机制,对该问题进行了广泛的查阅和搜索,遗憾的是,可以参考的资料很少,网上大部分是人云亦云的帖子,其中,详细介绍其内部原理和机制的资 ...
- Cluster的日记体系
Cluster的日志体系 Cluster的日志体系: Oracle cluster不像数据库那样,具有丰富的视图.工具可以用来辅助诊断,他的日志和trace文件时唯一的选择.但不想oracle只有al ...
随机推荐
- React.js入门笔记 创建hello world 的6种方式
一.ReactJS简介 React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站. ...
- Java 多线程编程两个简单的例子
/** * @author gao */ package gao.org; public class RunnableDemo implements Runnable{ @Override publi ...
- JEECG移动解决方案 -
针对移动应用的应用系统转换的中间件解决方案
设想: 通过中间件配置,在业务系统中使用到移动应用程序的简单版本.(移动页面生成器) 实现方法: 当前移动应用解决方式非常多:app?html5?微信 採用何种方法来实现?对于一个企业来讲,app分 ...
- Cocos2d-x使用Luajit将Lua脚本编译成bytecode,启用加密
http://www.cocoachina.com/bbs/read.php?tid=205802 lua脚本进行加密,查了一下相关的资料 ,得知lua本身能够使用luac将脚本编译为字节码(byte ...
- CSS截取字符串,额外的文本显示以省略号
最近的诀窍css还有这么叼炸天的侧~~~ 善待似论坛页面,头像70px,但username不限啊,English中国能够.你说如果他采取"我的名字是这么长啊.你该怎么办呢".那老和 ...
- 二十9天 月出冲击黑鸟 —Spring的AOP_AspectJ @annotation
6月14日,阴转雨. "四面垂杨十里荷,向云何处最花多, 画楼南畔夕阳和.天气乍凉人寂寞, 光阴须得酒消磨,且来花里听笙歌." 面向切面的框架AspectJ邂逅Spring,不仅造 ...
- “jquery于each方法和选择”学习笔记
<head> <title></title> <script src="jquery-1.4.2.js" type="text/ ...
- 一个MP3播放的插件jPlayer
Jplayer小样 最近应公司要求需要一个MP3播放的插件,网上找了很多插件,看来看去还是jPlayer用着最舒服也最容易扩展.所以就找了个资料研究了下,简单做了个小DEMO.支持实时控制列表,常 ...
- (大数据工程师学习路径)第一步 Linux 基础入门----环境变量与文件查找
环境变量与文件查找 本节介绍环境变量的作用与用法,及几种搜索文件的方法.学会这些技巧高效地使用 Linux. 一.环境变量 1.变量 要解释环境变量,得先明白变量是什么,准确的说应该是 Shell 变 ...
- Hadoop它——跑start-all.sh时间namenode不启动
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46353211 近期遇到了一个问题,运行start-all.sh的时候发现JPS一下 ...