Oracle数据表分区的策略

文章作者 100test 发表时间 2007:11:28 13:46:28
来源 100Test.Com百考试题网


Oracle虽然是一个大型的DBMS,但如果不对记录比较多的表进行处理,仍然发挥不了Oracle管理大型数据的强大功能,因此对某些表进行分区,具有如下优点:

  分区表中每个分区可以在逻辑上认为是一个独立的对象;

  可以在一个表中的一个或多个分区上进行如删除、移动、析分等维护操作,而不会影响其它分区,具有分区独立性;

  如果选择合适的分区策略,会大大的加快数据的查询速度。

  一 找出需分区的表

  本节描述通过统计分析出医院His系统需分区的表,对需分区的表找出包括在你的分区键中的列(表的属性),即选择分区键。

  1、基于访问频度找出需分区的表

  Oracle8i允许访问数据库中的审核信息,借助于收集的审核信息,设计者能够确定哪些表的数据是真正最频繁访问的,即找出那些表,需要进行分区。

  打开审核:在作为SYS或SYSSTEM登录到数据库后,动行如下脚本,打开对象的审核功能。

set echo off feed off ver off pages 0
spool audon.sql
0select ’audit 0select on ’||owner||’.’||object_name||’ by
ACCESS.’
from dba_objects
where object_type in (’VIEW’,’TABLE’) and owner in
(’ORDADM’).
spool off
set echo on feed on ver on

  这些代码的运行将产生“audon.sql”的输出文件,它包含下面清单中所示格式的语句

audit 0select on ORDADM.DOCTOR_ORDERS by ACCESS.
audit 0select on ORDADM.GROUP_ORDER_ITEMS by ACCESS.
audit 0select on ORDADM.GROUP_ORDER_MASTER by ACCESS.
audit 0select on ORDADM.ORDERS by ACCESS.
audit 0select on ORDADM.ORDERS_COSTS by ACCESS.
audit 0select on ORDADM.ORDERS_SHEET_IMAGE by ACCESS.
audit 0select on ORDADM.VITAL_SIGNS_REC by ACCESS.

  使用命令@audon.sql激活上述代码以打开审核功能收集收集审核信息,建立一个表以保存概要信息:

create table aud_summary (
obj_name varchar2(30),
owner varchar2(30),
hits number).

  将审核信息从dba_audit_object表中取出并装入概要表中:

insert into aud_summary
0select obj_name,owner,count(*)
from dba_audit_object
group by obj_name,owner.

  关闭审核:

set echo off feed off ver off pages 0
spool audoff.sql
0select ’noaudit 0select on ’||owner||’.’||object_name|| ’
by ACCESS.’
from dba_objects
where object_type in (’VIEW’,’TABLE’) and owner in
(’ORDADM’).
spool off
set echo on feed on ver on

  这些代码的运行将产生“audoff.sql”的输出文件。

  使用命令@ audoff.sql激活上述代码以关闭上述对象的审核功能。

  清除审核信息:

0delete sys.aud$


相关文章


IEEE802.11中g与b的兼容性误区
你的硬件驱动兼容吗?让Vista亲自告诉你
基础学习:O F路由协议详细解析
Oracle数据库中分区表的操作方法
Oracle数据表分区的策略
Oracle中提取和存储数据库对象的DDL
PL_SQL实现Oracle数据库任务调度
OraclePortal及其门户网站开发概述
Oracle9i中取得建表和索引的DDL语句
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛