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

oracle 排序内存

我在http://zhidao.baidu.com/question/123262452.html?fr=msg 提的问题,整理到这里 非常感谢 zjwssg
的回答
排序内存涉及到PGA。
什么时候使用自动PGA内存管理?什么时候使用手动PGA内存管理?
  白天系统正常运行时适合使用自动PGA内存管理,让Oracle根据当前负载自动管理、分配PGA内存。
  夜里用户数少、进行维护的时候可以设定当前会话使用手动PGA内存管理,让当前的维护操作获得尽可能多的内存,加快执行速度。
  如:服务器平时运行在自动PGA内存管理模式下,夜里有个任务要大表进行排序连接后更新,就可以在该操作session中临时更改为手动PGA内存管理,然后分配大的SORT_AREA_SIZE和HASH_AREA_SIZE(50%甚至80%内存,要确保无其他用户使用),这样能大大加快系统运行速度,又不影响白天高峰期对系统造成的影响。
 操作命令
 
  会话级更改
  ALTER SESSION SET WORKAREA_SIZE_POLICY = {AUTO | MANAUL};
  ALTER SESSION SET SORT_AREA_SIZE = 65536;
  ALTER SESSION SET HASH_AREA_SIZE = 65536;
 学以致用
  1,排序区:
  pga_aggregate_target为100MB,单个查询能用到5%也就是5MB时排序所需时间
  SQL> create table sorttable as select * from all_objects;
  表已创建。
  SQL> insert into sorttable (select * from sorttable);
  已创建49735行。
  SQL> insert into sorttable (select * from sorttable);
  已创建99470行。
  SQL> set timing on;
SQL> set autotrace traceonly;
  SQL> select * from sorttable order by object_id;
  已选择198940行。
  已用时间:  00: 00: 50.49
  Session级修改排序区为30mb所需时间
  SQL> ALTER SESSION SET WORKAREA_SIZE_POLICY = MANUAL;
  会话已更改。
  已用时间:  00: 00: 00.02
  SQL> ALTER SESSION SET SORT_AREA_SIZE = 30000000;
  会话已更改。
  已用时间:  00: 00: 00.01
  SQL> select * from sorttable order by object_id;
  已选择198940行。
  已用时间:  00: 00: 10.76
  可以看到所需时间从50.49秒减少到10.31秒,速度提升很明显。
  2,散列区:
  pga_aggregate_target为1


相关文档:

最简单的一个Oracle定时任务

最简单的一个Oracle定时任务
一、在PLSQL中创建表:
create table HWQY.TEST
(
CARNO     VARCHAR2(30),
CARINFOID NUMBER
)
二、在PLSQL中创建存储过程:
create or replace procedure pro_test
AS
carinfo_id number;
BEGIN
select s_CarInfoID.nextval into carinfo_id
from dual;
in ......

connect by prior 一个很好用的ORACLE递归语句

select t.*, t.rowid from indicators t start with (t.isleaf='1' and t.rid='26020')
connect by prior t.pid = t.id order by t.inum
从叶子节点依据id=pid的关系向上递归到跟节点。
select t.*, t.rowid from indicators t start with (t.pid='0' and t.rid='26020')
connect by prior t.id = t.pid order by t.i ......

ORACLE OMF介绍

先看Oracle 官方解释
Oracle managed file (OMF)
A file that is created automatically by the Oracle database server when it is needed and automatically deleted when it is no longer needed.
 
如何判断你的数据库是否为支持OMF
SQL> show parameter db_create_file_dest;
 
NAME  & ......

ORACLE误删数据文件导致ORA

自从学ORACLE以来就从来没有发生过什么故障,比较幸运。其实也不能算幸运,因为这样就少了锻炼的机会了,呵呵,怎么觉得自己有点求虐的倾向……
即便是在学习backup and recovery basics的时候,也只是做做备份的实验,没做过恢复,因为身边没有人指导,也没其他同学在学ORACLE,所以怕一出问题肯定很麻烦,解 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号