有时候,我们全量dump oracle中的数据,如何才能让dump高效的执行呢?这个问题的关注点在于1.磁盘顺序读.2.并行.前者要需要oracle本身提供数据能够基本顺序并且程序并行扫描一段数据能够一次性取一批,后者由dump程序保证。
提供下oracle rowid分段的sql,程序就是用多线程扫描每一段数据,这里就不提供了。
select group_id,min(chartorowid(min_rowid)) min_rowid, max(chartorowid(max_rowid)) max_rowid
from (select T.min_rowid,
T.max_rowid,
T.Relative_Fno,
NTILE(分的段数) over(order by T.Relative_Fno,chartorowid(T.min_rowid)) group_id
from (select dbms_rowid.rowid_create(1,
B.data_object_id,
A.relative_fno,
A.block_id,
0) min_rowid,
dbms_rowid.rowid_create(1,
B.data_object_id,
A.relative_fno,
A.block_id + A.blocks - 1,
10000) max_rowid,A.Relative_Fno
from (select relative_fno, block_id, blocks
from sys.dba_extents
where segment_name = '表名'
and owner = '表的所有用户'
order by block_id) A,
(select data_object_id
from sys.DBA_objects
where owner = '表的所有用户'
and object_name = '表名') B
where B.data_object_id IS NOT NULL) T)
group by group_id;
分享到:
相关推荐
并行查询通常用于全表扫描、索引全扫描、大表的扫描和连接、创建大的索引、分区索引扫描、大批量插入更新和删除等操作。 启用并行查询可以通过 ALTER TABLE 语句或使用 Hints 提示,例如: SQL> ALTER TABLE T1 ...
table scans (blocks gotten):全表扫描中读取的总块数,不包括那些split的列。 user commits + user rollbacks:系统事务起用次数。当需要计算其它统计中每项事务比率时该项可以被做为除数。例如,计算事务中...
§13.1.6 避免全表扫描 163 §13.1.7 编写避免使用索引的语句 163 §13.1.8 编写使用索引的语句 164 §13.1.9 重新构造索引 164 §13.1.10 压缩索引 165 §13.2 创建索引和使用索引 165 §13.2.1 使用函数索引 165 ...
全表扫描是顺序地访问表中每条记录,ORACLE 采用一次读入多个数据块的方式优化全表扫描。 通过 ROWID 访问表可以提高访问表的效率,ROWID 包含了表中记录的物理位置信息。ORACLE 采用索引(INDEX)实现了数据和存放...
通过Oracle的压缩技术,可以将汽车制造业MIS系统中的数据表如人事信息表进行压缩,在进行全表扫描需要读取的数据库会减少,这样磁盘IO便会减少,显然有利于查询快速完成。同样的,一些庞大的信息表,如生产表、产品...
3) 表的访问路径,是全表扫描,还是索引扫描,还是直接利用rowid。 4) 表之间的连接类型 5) 表之间的连接顺序 6) 语句的并行程度 2、HINT可以基于以下规则产生作用 表连接的顺序、表连接的方法、访问...
可以看到,是走的全表扫描。 使用强制索引,在SELECT 后面加上/*…….*/ 中间加上索引的属性,代码如下: SELECT /*+index(t pk_emp)*/* FROM EMP T --强制索引,/*.....*/第一个星星后不能有空格,里边内容结构为...
3.1.1 如何选择全扫描操作 56 3.1.2 全扫描与舍弃 59 3.1.3 全扫描与多块读取 60 3.1.4 全扫描与高水位线 60 3.2 索引扫描访问方法 65 3.2.1 索引结构 66 3.2.2 索引扫描类型 68 3.2.3 索引唯一扫描 71 ...
6.2 单表访问——全表扫描还是索引 6.3 连接 6.4 半连接 6.5 小结 第7章 并行操作 7.1 并行架构 7.2 启用并行处理 7.3 解读执行计划 7.4 等待事件 7.5 小结 第8章 自动管理和性能指标 ...
10.3.6 创建新的索引以消除全表扫描 494 10.3.7 观察系统状况 494 10.3.8 性能何以提高 495 10.3.9 小结 497 10.4 使用SQL_TRACE/10046事件进行数据库诊断 497 10.4.1 SQL_TRACE及10046事件的基础介绍 ...
初学必备Parallel 用来指定为加速该表的全表扫描可以使用的并行查询进程个数. Cache 用来指定该表为最应该缓存在SGA数据库缓冲池中的候选项. Cluster 用来指定该表所存储的 cluster. Tablespace 用来指定用数据库的...
则需要进行全表扫描, 以便将数据按照所定义的语言排序进行整理。 值范围: BINARY 或有效的语言定义名。 默认值: 从 NLS_LANGUAGE 中获得 nls_territory: 说明: 为以下各项指定命名约定, 包括日期和星期的编号, ...
第2章 表扫描 9 2.1 入门 10 2.2 提高 14 2.2.1 块大小的影响 14 2.2.2 CPU成本计算 16 2.2.3 CPU成本计算的作用 22 2.3 BCHR 24 2.4 并行执行 27 2.5 索引快速全扫描 30 2.6 分区 32 2.7 本章小结 37 2.8 测试用例 ...
以上两个SQL中dy_dj(电压等级)及xh_bz(销户标志)两个字段都没进行索引,所以执行的时候都是全表扫描,第一条SQL的dy_dj = '1KV以下'条件在记录集内比率为99%,而xh_bz=1的比率只为0.5%,在进行第一条SQL的...
1.3.1 和并行等待有关的案例 18 1.3.2 和热块竞争有关的案例 19 1.3.3 和日志等待有关的案例 20 1.3.4 新疆某系统的前台优化 20 1.3.5 浙江某系统的调优案例 21 1.4 本章总结延伸与习题 21 1.4.1 总结延伸 21...