分布Oracle 数据库的均衡分布(oracle平均)
随着越来越多的商业组织开始采用Oracle数据库作为他们的主要存储系统,系统管理员面临着如何让数据有效地分布在多台服务器上的挑战。在多台服务器之间分布Oracle数据库实例有几种不同的方法。在系统表空间的情况下,三类分布方式:以模式(Schema)为基础的分布,以表(Tables)为基础的分布,以列(Columns)为基础的分布,可以起到缓解数据库实例负载,提升查询速度,优化在线存储资源等作用。
以模式(Schema)为基础的分布
采用以模式(Schema)为基础的分布,可以将单一模式分布在多台服务器上,从而更有效地使用系统资源。另外,单一模式也可以跨不同的库实例,将模式内表空间和相关表分布其中。下面是一个分布单一模式的例子:
alter system set db_name= “DATABASE_NAME” , instance_number=1, factory=”schema”;
create user test identified by test default tablespace “TEST”;
Table TEST_TABLE1 (
…
) tablespace “TEST_TAB1”
Table TEST_TABLE2 (
…
) tablespace “TEST_TAB2”
以表(Tables)为基础的分布
以表(Tables)为基础的分布可以更有效地使用每个库实例的磁盘空间资源。它可以让多台服务器尽可能充分地加载和使用存储空间,而不是将所有数据存储在同一台服务器上。下面是一个将表分布的例子:
create tablespace T1 datafile ‘ T1.DBF ‘ size 100M;
create tablespace T2 datafile ‘ T2.DBF ‘ size 100M;
create table table1 (
…
) tablespace T1;
create table table2 (
…
) tablespace T2;
以列(Columns)为基础的分布
以列(Columns)为基础的分布可以将某些表中的列分布在不同的表空间之中,从而更有效地利用每台服务器的磁盘空间资源,甚至可以分布到不同的库实例上。下面是一个将列分布的示例:
create tablespace T1 datafile ‘ T1.DBF ‘ size 100M;
create tablespace T2 datafile ‘ T2.DBF ‘ size 100M;
create table table1 (
col1 number,
col2 number tablespace T1,
col3 number tablespace T2
);
通过以上方法,我们可以将Oracle数据库实例有效地分布在多台服务器上,优化系统表空间,提高查询速度,优化在线存储资源,并减少系统负载。最重要的是,这些方法都是官方提供的,完全可以开发帐号使用,而且可以有效提高系统效率。