select/select 引起的read by other session:
P1 文件号
P2 块号
Select/Select 引发的buffer lock争用,发生在讲相同块载入到内存的过程。我们可以测试了解Select/Select 引发的buffer lock争用怎样发生的,测试方案如下:
1) 创建拥有5W行的BFW_TEST表
2) 多个进程同时对BFW_TEST表执行select
3) 在此过程中,多个进程同时对同一个块获得buffer lock过程中,发生Buffer lock 竞争。
----创建测试表空间:
create tablespace bfw_tbs datafile '/u03/test/bfw_tbs01.dbf' size 50M
autoextend on
extent management local uniform size 1M
segment space management auto;
---表的创建及生成5W行数据
SQL> create table bfw_test(id char(1000)) tablespace bfw_tbs;
表已创建。
SQL> insert into bfw_test select '' from dba_objects where rownum<=50000;
已创建50000行。
SQL> commit;
提交完成。
---对BFW_TEST 表执行Select的Procedure
create or replace procedure bfw_do_select is
begin
for x in (select *
select/select 引起的read by other session
这篇博客介绍了如何通过创建并执行Select操作来模拟Oracle数据库中由于相同块加载到内存导致的Buffer Lock竞争。通过创建表BFW_TEST并填充50,000行数据,然后在多个会话上并发执行Select操作,观察并分析了Buffer Lock竞争的现象,详细列出了相关事件和文件号、块号。"
129611139,8403556,ROS控制与Gazebo模拟教程,"['机器人', 'ROS', '模拟', '控制器', 'Gazebo']
摘要由CSDN通过智能技术生成