本文描述通過統計分析出醫院信息系統需分區的表
Oracle雖然是一個大型的DBMS
分區表中每個分區可以在邏輯上認為是一個獨立的對象
可以在一個表中的一個或多個分區上進行如刪除
如果選擇合適的分區策略
一 找出需分區的表
本節描述通過統計分析出醫院His系統需分區的表
Oracle
打開審核
set echo off feed off ver off pages
spool audon
select
access;
from dba_objects
where object_type in (
(
spool off
set echo on feed on ver on
這些代碼的運行將產生
audit select on ORDADM
audit select on ORDADM
audit select on ORDADM
audit select on ORDADM
audit select on ORDADM
audit select on ORDADM
audit select on ORDADM
使用命令@audon
create table aud_summary (
obj_name varchar
owner varchar
hits number);
將審核信息從dba_audit_object表中取出並裝入概要表中
insert into aud_summary
select obj_name
from dba_audit_object
group by obj_name
關閉審核
set echo off feed off ver off pages
spool audoff
select
by access;
from dba_objects
where object_type in (
(
spool off
set echo on feed on ver on
這些代碼的運行將產生
使用命令@ audoff
清除審核信息
delete sys
分析審核信息
col obj_name form a
col owner form a
col hits form
selec obj_name
OBJ_NAME OWNER COUNT(*)
DOCTOR_ORDERS ORDADM
DRUG_STOCK PHarmACY
GROUP_ORDER_ITEMS ORDADM
GROUP_ORDER_MASTER ORDADM
ORDERS ORDADM
ORDERS_COSTS ORDADM
以上是HIS系統臨床醫囑部分
表
group_order_master( 醫囑套攴主記錄)
使用Sql*plus下用命令Analyze收集末分區表的統計信息
Analyze table ORDADM
sample
對DBA_TAB_COLUMNS數據字典視圖進行查詢
產生表
select table_name
from DBA_TAB_COLUMNS
where owner like
表
從表
ORDER_CLASS(醫囑類別代碼)
二 分區表的定義
Create Table orders (
PATIENT_ID varchar
ORDER_CLASS char(
ORDER_TEXT varchar
ORDER_CODE varchar
START_DATE_TIME date
STOP_DATE_TIME date
ORDERING_DEPT varchar
storage (initial
PARTITION BY RANGE(START_DATE_TIME)
SUBPARTITION BY HASH(ORDER_CODE)
SUBPARTITIONS
(PARTITION orders
tablespace Tsp_Orders
PARTITION orders
VALUES LESS THAN (to_date(
tablespace Tsp_Orders
PARTITION orders
VALUES LESS THAN (to_date(
tablespace Tsp_Orders
PARTITION orders
VALUES LESS THAN (to_date(
tablespace Tsp_Orders
(SUBPARTITION ordersub
SUBPARTITION ordersub
在建立的Orders表中
用下面ALTER TABLE數據定義語句為Orders建立約束和索引
ALTER TABLE Orders ADD CONSTRAINT Pk_Orders KEY (Patient_id
Visit_id
表
表
三 分區表的維護操作
增添分區
Alter Table orders Add partition orders
Aalues less (to_date(
Tablespace Tsp_Orders;
刪除分區
Alter Table table_name Drop Partition partition_name;
裁斷分區:
Alter Table table_name Truncate Partition partition_name Storage;
Oracle數據表分區小知識
為了簡化數據庫大表的管理
From:http://tw.wingwit.com/Article/program/Oracle/201311/18191.html