CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

ORACLE表空间的问题

楼主WHQ()2001-04-19 09:47:00 在 MS-SQL Server / 基础类 提问

我现在创建了几个表空间,并创建一个用户,可是在这个用户的scheme下创建表时每回在一个表空间中创建第二个表就出错:Unable   to   create   Initial   extent   for   segment   in   tablespace   DATA_WAP  
  我的表空间是这样创建的:  
  CREATE   TABLESPACE   DATA_WAP  
  DATAFILE   '/usr/local/app/oracle/oradata/wap/data/data01.dbf'   SIZE   300M  
  --   DATAFILE   'd:oracledatawapdatadata01.dbf'   SIZE   200M  
  DEFAULT   STORAGE(INITIAL   100M   NEXT   4M)  
  ONLINE   PERMANENT;  
  在这个表空间里第一个表创建成功了,第二个就出错,哪位GURU给我讲讲是怎么回事?      
  问题点数:50、回复次数:10Top

1 楼tantongs(探问量)回复于 2001-04-19 10:46:00 得分 15

你的initial   100m太大了,最好是设成   1   m以下。  
  看看生成系统表空间的SQL语法会好一点。  
  initial   size   is   for   table   not   for   tablespace.Top

2 楼guostong(笨驴)回复于 2001-04-19 10:53:00 得分 5

同意楼上  
  initial   为100M   也就是说,你的表创建完就给100M空间,可想而知Top

3 楼flyfk961(fk)回复于 2001-04-19 11:18:00 得分 25

initial的值太大,如果你的硬盘够大,而且你表中数据够多,为了避免区间频繁扩展可以将INITIAL根据实际情况设得较大如果数据文件空间不够,则可依据以下语句改变数据文件性质  
  alter   database   datafile   'd:\oracledatawapdatadata01.dbf'autoextend   on   next   200M   maxsize   unlimited   Top

4 楼flyfk961(fk)回复于 2001-04-19 11:21:00 得分 0

如果你不是上述情况的话最好将初始值变小  
  alter   tablespace   data_wap   default   sorage(initial   [values]   next   [values])Top

5 楼WHQ()回复于 2001-04-19 15:02:00 得分 0

我一直没弄明白这些大小之间是什么关系,表空间文件大小、表空间缺省存贮大小、表的缺省存贮大小,ORACLE的文档里我一时没找到这些东西(SQL语法的说明里也没讲它们的具体含义)。我这数据库的数量量非常大,表空间的文件大小是按实际需要的15~20%给的,我不想让它在运行时老频繁地扩展Top

6 楼mycode(不写代码)回复于 2001-04-19 22:25:00 得分 5

表空间的建立用缺省值;  
  建表时,先计算一下该表的容量,再用Storage参数来控制大小;  
  这样就不会频繁扩展了。Top

7 楼flyfk961(fk)回复于 2001-04-20 09:25:00 得分 0

1.一个表空间可对应多个文件,表空间对应的文件大小越大表空间的容量就越大  
  2.表空间的缺省存储参数:如果你在这个表空间上建表的时候不指明存储参数将使用表空间的缺省存储参数  
  3.表的存储参数:如果你在建表的时候发现表空间的缺省存储参数不能满足这张表的要求在建表时可指定存储参数表创建时将根据这个存储参数创建.  
  4.如果你这张表的数据量非常大的话可以将你的值设大但我相信也不会到本世纪末00M这么夸张。  
  你可以估算一下,你每条记录的长度,然后考虑一下这张表初始化的时候会有多少条记录以及以后的数据更新频率综合这这些因素来给你的表的初始区间划分大小一般情况下都是设的500K  
  5.不要忘记给分喔!Top

8 楼WHQ()回复于 2001-04-20 09:51:00 得分 0

flyfk961的回答怎么跟ORACLE的文档一样,不得要领。我想知道那些参数怎么影响表空间本身及它里的包含的各对象的增长过程。问题已经解决了,就是改了default   storage的参数数值,但我还是没明白,我的表空间有300M,建一张表就算去了100M,那剩下的空间也足够建第二张表啊?Top

9 楼flyfk961(fk)回复于 2001-04-20 11:24:00 得分 0

请别忘记你有一个文件为200M,具体ORACLE会跟你写在哪个文件里面你不能控制,你有一张表为100M,再建一张表又是100M,每个数据文件都要留有头部信息如果文件设为200M,实际可用于存储数据的根本就没有200MTop

10 楼WHQ()回复于 2001-04-21 03:29:00 得分 0

那句不是注释掉了吗(是用于NT与UNIX两种不同平台的),再说就算是两个文件,我想ORACLE也不致于笨得把东西往小的文件里写不下就失败了,因为此时整个表空间里还有足够空间呢,不然ORACLE表空间中添加文件是干什么吃的Top

相关问题

  • ORACLE的表空间!
  • oracle表空间的问题!
  • oracle关于exp表空间的问题
  • oracle创建表空间的问题?
  • Oracle:用户和表空间问题
  • 关于ORACLE的表空间导出?
  • Oracle表空间不足问题!
  • oracle 超出表空间system的空间限量?
  • oracle 中如何修改 数据表 所在的表空间?
  • Oracle 10g 怎么导出和转换已有表的表空间?

关键词

  • 文件
  • 数据
  • 扩展
  • storage
  • oracle
  • wap
  • 表
  • 空间
  • 存储参数
  • 创建

得分解答快速导航

  • 帖主:WHQ
  • tantongs
  • guostong
  • flyfk961
  • mycode

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo