oracle数据库建表和表空间设计

需要建很多表,其中有三张表加001编号各创建100张,每张表记录2天的数据量,数据量最大为2000万,正常在1000万数据量,这样3*100*2000万*1.5k,需要的... 需要建很多表,其中有三张表加001编号各创建100张,每张表记录2天的数据量,数据量最大为2000万,正常在1000万数据量,这样3*100*2000万*1.5k,需要的表空间就很大,现在我想知道怎么设计这些表的建立。是建一个表空间,很多数据文件,将表放入一个表空间,还是分配多个表空间,表放入不同的表空间中。数据库是oracle 11g,性能是16cpu,32G内存,磁盘矩阵。请大家帮忙提供解决方式,解决我在追加悬赏。谢谢了,有需要进一步了解情况的提出来,我会每天晚上查看的。 展开
 我来答
晕逍遥
推荐于2017-10-05 · TA获得超过457个赞
知道小有建树答主
回答量:250
采纳率:0%
帮助的人:276万
展开全部
这个数据的多少和表空间的选择和你的数据量多少是没有太大关系的,需要统计你的数据量的大小。如果数据量很大,像你说的3*100*2000万*1.5k需要估算一下他是有多少G?这样才好设计表空间的分配。从10g开始有表空间支持一个大的数据文件,由多个文件组成肯定没有一个文件好管理,但是如果出问题了一个大数据文件损坏肯定造成的损失很大。这就是易维护性和安全性的取舍。不知道你们磁盘阵列是怎么做的如果没有raid1,数据又很重要的话,也许添加多个数据文件。但是多个数据文件的添加,每个数据文件的大小又受到OS的影响,这个和DB_block_size的大小又有关系,具体算法我不细讲,结论是单个数据文件最多32G。所以这个时候就看你的数据量大小了,你只说量,但是也许有lob字段之类的我无法估算大小,所以这个你自己算一下,如果需要的数据文件过多的话,你想方便维护也是可以使用大数据文件。sql如下:
SQL> create bigfile tablespace giapblob ----------------表空间名字
2 datafile 'H:\ypx\pic02.dbf' ----------------数据文件名字路径
3 size 204800M ----------------200G的bigfile
4 autoextend on next 1024M -----------------扩展自动1G
5 maxsize unlimited -----------------不限最大
6 extent management local autoallocate; ----------------自动管理分配区间

其中上述只是从管理方便的角度考虑一个表空间的处理方法,一般单个表空间最大限制是1022个数据文件*4M数据块*DB_BLOCK_SIZE=32TB。如果数据量过大,必须采用多表空间。
另外也要考虑需求中的使用性能,如果表数据量过大,比如你们每天2000万,那有没有历史表数据?这个如果是OLAP还好说,OLTP可能要做分区表等等一系列的性能考虑,情况不同选择不同。
追问
我想知道如果使用大文件表空间的话,对查询性能有没有影响,不过我准备使用视图将所有历史表创建成一个视图,不知道对查询性能会不会有影响?
还有一个表空间和多个表空间有什么区别吗?我们的总体数据量还是很大的,顶峰时每天的流水记录为1000万+300万,需要保存370天左右,记录放在历史表中。
追答
大文件和多个小文件没有什么性能差异,主要的瓶颈在于I/O。这个取决于你的磁盘阵列和硬盘情况。你说把所有表做一个视图,这个性能就差得离谱了,即使每个表上都有索引,你要选择所有数据也是要走full index scan ,光维护索引就累死了。这样还不如用分区表,然后再建立local索引。
分区表的意义在于均衡I/O,可以把不同的分区映射到磁盘以平衡I/O,改善整个系统性能; 改善查询性能,对分区对象的查询可以仅搜索自己关心的分区,提高检索速度。比你说的两天一表既方便了管理(不用每天都去建表),也加快了查询速度(相对于查询所有历史数据的视图来说)。
ideal_wife
2012-09-05 · TA获得超过155个赞
知道小有建树答主
回答量:208
采纳率:100%
帮助的人:112万
展开全部
建表空间是为了方便管理,看你这些结构是怎样的,如果整个系统表空间太多了,只建一个表空间何尝不可,如果为了便于管理,建三个表空间,每个表空间放100张表也可以。而数据文件当建多个,在不同的盘上,提供最大I/O。 你的数据只保存2天,但数据量1000万左右,不大也不小,可以考虑每张表建两个子分区,如果空间紧张,应当压缩表。很少碰到表+编号建上100张的需求~这是什么需求
追问
是一些交易流水表,每个交易流水表有很多历史表,历史表命名规则就是后面加编号。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式