当前位置:Linux教程 - Mysql - Oracle下的数据分片技术

Oracle下的数据分片技术

Oracle公司出品的ORACLE Enterprise 8.0.5以其优越的性能博得了广大用户的青睐,
它以丰富的内嵌函数,PL/SQL支持,多平台,Application Server集成等,给开发人员提供
了极大的灵活性。
在ORACLE的用户权限分配中,只提供对表、函数、同义词、视图、包等的Insert,Update,
Select,Delete,Execute等操作,并未提供字段级的权限设置(实际上,对大型数据库进行字段级的
权限设置虽然带来了安全性方面的好处,但对于性能的存在一定的影响),因此,对于大型
MIS系统,进行数据的分片是在所难免的。
一般地,一个典型的MIS数据库平台设计是这样的:

对用户权限的分配是通过对ORACLE临时系统表来实现的:
1、在需要分片的表(CUSTOMER)中建立相关字段,如SGRANT_NUM number(20)及所属部门 SUNIT_ID varchar(10),
2、对该表创建动态视图 CUSTOMER_PV
select * from CUSTOMER A
where CD_WAREHOUSE.SUNIT_ID is null
or exists (
select * from CUSTOMER B where A.SUNIT_ID = B.SUNIT_ID
and ( B.SGRANT_NUM >= TO_NUMBER(SUBSTR(USERENV('CLIENT_INFO'), 1, 10))
and ( B.SGRANT_NUM