如何在oracle数据库中设计表空间

如何在oracle数据库中设计表空间,第1张

这个数据的多少和表空间的选择和你的数据量多少是没有太大关系的,需要统计你的数据量的大小。如果数据量很大,像你说的31002000万15k需要估算一下他是有多少G?这样才好设计表空间的分配。从10g开始有表空间支持一个大的数据文件,由多个文件组成肯定没有一个文件好管理,但是如果出问题了一个大数据文件损坏肯定造成的损失很大。这就是易维护性和安全性的取舍。不知道你们磁盘阵列是怎么做的如果没有raid1,数据又很重要的话,也许添加多个数据文件。但是多个数据文件的添加,每个数据文件的大小又受到OS的影响,这个和DB_block_size的大小又有关系,具体算法我不细讲,结论是单个数据文件最多32G。所以这个时候就看你的数据量大小了,你只说量,但是也许有lob字段之类的我无法估算大小,所以这个你自己算一下,如果需要的数据文件过多的话,你想方便维护也是可以使用大数据文件。sql如下:
SQL> create bigfile tablespace giapblob ----------------表空间名字
2 datafile 'H:\ypx\pic02dbf' ----------------数据文件名字路径
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可能要做分区表等等一系列的性能考虑,情况不同选择不同。

这是可以对表空间 *** 作的权限,你要想创建的话只能让DBA给你的用户赋予相应的权限了
ROLE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
DBA DROP TABLESPACE YES
DBA ALTER TABLESPACE YES
DBA CREATE TABLESPACE YES
IMP_FULL_DATABASE CREATE TABLESPACE NO
IMP_FULL_DATABASE DROP TABLESPACE NO
DBA MANAGE TABLESPACE YES


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13391798.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-27
下一篇 2023-07-27

发表评论

登录后才能评论

评论列表(0条)

保存