手工建立数据库应该如何合理的设置数据文件的大小

[复制链接]
查看11 | 回复9 | 2005-10-30 17:05:33 | 显示全部楼层 |阅读模式
我们知道oracle数据库有若干个物理数据文件与之相关,为了更好的管理这些物理数据文件,他们被组织到了表空间这个数据库对象中。我们知道一个合理的数据库至少要包含以下表空间system,undotbs,temp,index,data,tools。我们在建立一个表空间时必须指定相应的数据文件的大小size。这些数据文件的大小该如何设置才比较合理。尤其是system,我们知道很多数据字典等很多重要系统对象都存储在system中,而undo则自动的存储了各种对数据库修改操作记录,tools则主要用于存储安装诸如oracle developer等软件产品的基本表。可是我不知道这些系统级的数据至少需要多大才能保证对oracle做小型的练习和测试。
比如system设置太小是否会影响oracle的正常运行,利用dbca生成的数据库大家知道基本这些数据文件就得占用1G以上的空间,如图默认安装的system对应的数据文件大小为325M,已使用240.504M,占用74%,我只是刚刚安装完数据库,要是以后真正坐大的系统或项目时,实际数据可能就很多,比如随着业务怎多,数据量会日趋增多,这点大小size是否就远远不够?可是如果我仅仅是想做一个小型的练习和测试,难道也需要设置这么大的空间吗?这又是否有点浪费硬盘资源。
那么该如何合理的设置数据文件的大小?
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
以后可以改变、增加的。
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
看你的应用了,一般system的表空间还是够用的因为数据字典一般是不会太扩张的,不过example表空间就有点夸张了吧,还是改大点吧,免得总是自动扩展。
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
根据应用估计数据量的增长,刚开始够用一个月就可以了吧,然后根据实际数据的增长情况加数据文件,很方便,又不会浪费空间,system的表空间不会增长太多。
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
实验的话只需要system,undotbs,temp三个表空间,其余的都可不要
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
谢谢楼上各位,我看了biti_rainy的关于oracle的内存分配与调整,可是有些问题我还是不太明白。比如下图。说了这么多,其实我的意图是想自己手工建立一个试验性的测试数据库,要求:1、system,tools,temp,undotbs等表空间对应的数据文件足够小,但能保证系统正常工作。
2、要求启动实例后,oracle进程占用内存空间要足够小,但能保证系统正常工作:假设实例名为oradb,则启动实例对应的服务命令为...\oracle.exe oradb。他将会作为一个进程在后台运行,在进程管理器里,你会看到oracle这个进程
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
接上面的贴图
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
我的测试库
1个控制文件,2个redo文件,一个system表空间,一个undo表空间
一共265M
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
由于windows是多线程服务器
oracle.exe进程里还包含用户进程信息(PGA等),所以这个数字总是大于你的SGA设置
show sga的信息,参考
http://www.itpub.net/showthread.php?s=&threadid=124675
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
上面那个图中的问题如何解释。能否调整oracle.exe那个进程的大小,如何。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行