易截截图软件、单文件、免安装、纯绿色、仅160KB

如何加速Oracle大批量数据处理

如何加速Oracle大批量数据处理
一、           提高DML操作的办法:
简单说来:
1、暂停索引,更新后恢复.避免在更新的过程中涉及到索引的重建.
2、批量更新,每更新一些记录后及时进行提交动作.避免大量占用回滚段和或临时表空间.
3、创建一临时的大的表空间用来应对这些更新动作.
4、批量更新,每更新一些记录后及时进行提交动作.避免大量占用回滚段和或临时表空间.
5、创建一临时的大的表空间用来应对这些更新动作.
6、加大排序缓冲区
    alter session set sort_area_size=100000000;
    insert into tableb select * from tablea;
    commit;
如果UPDATE的是索引字段,就会涉及到索引的重建,暂停索引不会提高多少的速度,反而有可能降低UPDATE速度,
因为在更新是索引可以提高数据的查询速度,重建索引引起的速度降低影响不大。
ORACLE优化修改参数最多也只能把性能提高15%,大部分都是SQL语句的优化!
update总体来说比insert要慢 :
几点建议:  
  1、如果更新的数据量接近整个表,就不应该使用index而应该采用全表扫描  
  2、减少不必要的index,因为update表通常需要update index  
  3、如果你的服务器有多个cpu,采用parellel hint,可以大幅度的提高效率
  另外,建表的参数非常重要,对于更新非常频繁的表,建议加大PCTFREE的值,以保证数据块中有足够的空间用于UPDATE, 从而降低CHAINED_ROWS。 
二、        各种批量DML操作:
(1)、oracle批量拷贝:
set arraysize 20
        set copycommit 5000
        copy from username/password@oraclename append table_name1
        using select * from table_name2;
     (2)、常规插入方式:
          insert into t1 select * from t;
           为了提高速度可以使用下面方法,来减少插入过程中产生的日志:
           alter table t1 nol


相关文档:

ORACLE常见问题1000问(之十三)

901. CHAINED_ROWS
存储带LIST CHAINED ROWS子句的ANALYZE命令的输出.
902. CHAINGE_SOURCES
允许发行者查看现有的变化资源.
903. CHANGE_SETS
允许发行者查看现有的变化设置.
904. CHANGE_TABLES
允许发行者查看现有的变化表.
905. CODE_PIECES
ORACLE存取这个视图用于创建关于对象大小的视图.
906. CODE_SIZE
......

Oracle DBA手记之“V$SQL视图显示结果异常的诊断”

本文节选自《Oracle DBA手记——数据库诊断案例与性能优化实践》第2章“Yangtingkun的DBA工作手记” (作者:杨廷琨)
V$SQL视图显示结果异常的诊断
有一次碰到一个很奇怪的问题,在检查会话所执行的SQL时,发现V$SQL视图中SQL_TEXT列中的数据是不正常的。
由于V$SQL是动态性能视图,里面保存的是当 ......

ORACLE ROWID的一点知识

oracle8的ROWID结构
2004-04-23 15:18 pm
来自:Linux文档
地址:http://linux.sheup.com/linux/linux3983.htm
1、为什么使用ROWID
ORACLE把ROWID作为B-树和其内部算法标示ROW的唯一标示。
在ORACLE8以前的版本中,ROWID标示FILE、BLOCK、ROW NUMBER,只用一个数字代
表FILE号。
在ORACLE8中,一个DATAFILE有两 ......

ORACLE数据库导入导出

win下每天自动备份数据库批处理文件:
(注要和exp文件放同一目录,然后建立一个任务即可)
exp userid=user/pass  file=i:\dmpos%date:~0,10%.dmp log=i:\dmpos%date:~0,10%.log
exp userid=user/pass file=/demo/oaback/dmp/dat$tim.dmp
一. 导出工具 exp
1. 它是操作系统下一个可执行的文件 存放目录/ORACLE_HO ......

Oracle数据库死锁处理

--当请求执行后不能"查看输出"的时候表示有进程死锁了
--查找死锁的进程
select t2.username,t2.sid,t2.serial#,t2.logon_time
from v$locked_object t1,v$session t2
where t1.session_id=t2.sid order by t2.logon_time
--删除死锁的进程,删除当天前的,不能删除当天的,
--alter system kill session 't2.sid,t ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号