1、建立实验表 create table t_pctfree ( id number, name varchar2(2000), name1 varchar2(2000), name2 varchar2(2000), name3 varchar2(2000), name4 varchar2(2000) ) tablespace users pctfree 10; Table created. 2、添加数据,先只写id,其他值为null SQL>insert into t_pctfree(id) values(2); 1 row created. SQL> commit; Commit complete. 3、使用dump查看数据块,确定id为2的数据只存在于一个块中 SQL> select dbms_rowid.rowid_block_number(rowid) block_id from t_pctfree where id=2; BLOCK_ID ---------- 47547 SQL> alter system dump datafile 5 block 51031; System altered. SQL> oradebug setmypid; Statement processed. SQL> oradebug tracefile_name; /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_26496.trc [oracle@localhost trace]$ more /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_26496.trc tab 0, row 0, @0x1f92 tl: 2 fb: --HDFL-- lb: 0x2 tab 0, row 1, @0x1f8c tl: 6 fb: --H-FL-- lb: 0x0 cc: 1 col 0: [ 2] c1 03 tab 0, row 2, @0x1f86 SQL> var n number; SQL> exec dbms_stats.convert_raw_value('c103',:n); PL/SQL procedure successfully completed. SQL> print :n N ---------- 2 4、修改id为2的数据,使当前块剩余空间容纳不下修改后的数据 SQL> update scott.t_pctfree set name=dbms_random.string('u', 2000) where id=2; 1 row updated. SQL> commit; Commit complete. SQL> alter system switch logfile; System altered. SQL> / System altered. SQL> / System altered. . 5、查看修改后的块状态 SQL> select dbms_rowid.rowid_block_number(rowid) block_id from t_pctfree where id=2; BLOCK_ID ---------- 47547 SQL> alter system dump datafile 5 block 51031; System altered. SQL> oradebug setmypid; Statement processed. SQL> oradebug tracefile_name; /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_26496.trc [oracle@localhost trace]$ more /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_26496.trc tab 0, row 1, @0xdec tl: 9 fb: --H----- lb: 0x1 cc: 0 nrid: 0x0140c75b.0 6、发现已产生行迁移,源块只留下了迁移块的地址,通过nrid查看迁移目标块信息 SQL> select dbms_utility.DATA_BLOCK_ADDRESS_FILE(to_number('0140c75b', 'xxxxxxxxxx')) file#,dbms_utility.DATA_BLOCK_ADDRESS_BLOCK(to_number('0140c75b','xxxxxxxxxx')) block# from dual; FILE# BLOCK# ---------- ---------- 5 51035 SQL> alter system dump datafile 5 block 51035; System altered. SQL> oradebug setmypid; Statement processed. SQL> oradebug tracefile_name; /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_26496.trc [oracle@localhost trace]$ more /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_26496.trc tab 0, row 0, @0x17a1 tl: 2015 fb: ----FL-- lb: 0x1 cc: 2 hrid: 0x0140b9bb.1 col 0: [ 2] c1 03 col 1: [2000] 5a 52 57 58 53 54 45 4a 50 4e 56 43 4c 55 4e 4e 4d 47 59 49 51 50 44 41 41 4b 4d 47 56 52 49 5a 51 55 47 54 54 5a 51 41 49 5a 55 57 43 58 46 42 54 55 7、可以看到迁移目标块只有hrid,没有nrid,说明只出现了行迁移,没有出现行链接
oracle优化--表优化(行迁移产生实验)
来源:这里教程网
时间:2026-03-03 11:51:17
作者:
编辑推荐:
- oracle优化--表优化(行迁移产生实验)03-03
- word2010中制作组织结构图的两种技巧03-03
- word2010中怎样添加英文朗读功能03-03
- 12c data guard 使用 sqlplus 主备切换最佳实践03-03
- word2010和2013中输入平方米的技巧03-03
- word2010中进行截图的两种技巧03-03
- Oracle开启审计,记录登录用户的所有操作03-03
- 给word2010文档加密的两种技巧03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 甲骨文再遭打击,亚马逊计划2020年初完全弃用甲骨文的数据库
甲骨文再遭打击,亚马逊计划2020年初完全弃用甲骨文的数据库
26-03-03 - 12.2.0.1.0 Grid RU安装
12.2.0.1.0 Grid RU安装
26-03-03 - 12c RAC增加节点
12c RAC增加节点
26-03-03 - 12.2 Grid RUR 安装
12.2 Grid RUR 安装
26-03-03 - word2010中怎样设置水印
word2010中怎样设置水印
26-03-03 - 怎样删除word2010的页眉页脚
怎样删除word2010的页眉页脚
26-03-03 - 一个RESOURCE MANAGER引起的问题分析
一个RESOURCE MANAGER引起的问题分析
26-03-03 - RMAN Active Duplicate on RAC fails with ORA-17629 and ORA-17627
- SQL优化案例-分区索引之无前缀索引(六)
SQL优化案例-分区索引之无前缀索引(六)
26-03-03 - oracle数据库CPU过高问题定位、分析(一)
oracle数据库CPU过高问题定位、分析(一)
26-03-03
