奇趣技术网 收藏本站
设为主页
商务合作
首页 新闻中心 行业动态 软件新闻 安全资讯 病毒预警 漏洞发布 操作系统 Dos Win9x Win2000 WinXP Win2003 WinVista Linux Unix
数据库 DB2 Access MSSQL MySQL Oracle Sybase 编程技术 ASP PHP JSP CGI/Perl XML .Net C/C++/C# VB VC Delphi Java 汇编
安全技术 安全教学 工具介绍 漏洞利用 病毒防范 入侵检测 防火墙 安全防范 汉化破解 攻击实例 加密解密 技术论坛
中华网络安全联盟 >> 数据库 >> Oracle >> Oracle下的数据分片技术
数据库
Access
SQL Server
MySQL
DB2
Oracle
Sybase
  • Linux下安装支持ssl连

  • 在同一台机运行多个My

  • 我的MYSQL安装笔记拿出

  • 写了个简单的数据库自

  • Oracle 10g中新型层次

  • ORACLE回滚段管理(下

  • ORACLE回滚段管理(上

  • Oracle大文本在ASP中存

  •   
    Oracle下的数据分片技术
    字体:

    中华网络安全联盟    作者:佚名    来源:网络转载    时间:2006-3-23

    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 <= TO_NUMBER(SUBSTR(USERENV('CLIENT_INFO'), 11, 10)) ) ) 

    3、在用户登录系统时修改用户环境 client_info 中的分片号; 

    4、这样,对设计者,不存在分片问题,对最终用户,可定义该用户的组织分片号来约束该用户能够存取的数据。 



    优点: 

    1、由服务器自动完成,对设计无任何影响; 

    2、速度快,对巨量数据无明显影响; 

    缺点: 

    1、只能根据组织(或其他)进行纵向分片,不够灵活; 

    2、技术实现复杂,主表的更改将直接影响视图(需要重新生成); 

    3、一旦组织机构变化,则分片需要重新设置。 



    字体:
     
    设为主页 收藏本站 联系我们 友情连接 商务合作 网友留言
    Copyright©2006-2008 中华网络安全联盟 All rights reserved.