请问:如何增加oracle的最大容量限制

goodsun2 2008-09-08 11:28:21
我在oracle中创建了多个用户,给每个用户创建了许多表!
今天有用户在创建新表时提示"已经达到了最大值4GB,无法创建",我查看到SYSTEM.dbf文件现在是4GB了!

请问如何调整才能大于4GB呢?用什么命令?
...全文
259 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Liubinglin 2008-09-08
  • 打赏
  • 举报
回复
你的意思是用户使用表空间的限制吧? 如果是这样,那么用dba的用户登录,grant unlimited tablespace to user1;
如果是表空间达到最大值,那么可以修改表空间数据文件的maxsize值:
alter database datafile '/oradata/..../system01.dbf' autoextend on maxsize 10240m;
kinlin 2008-09-08
  • 打赏
  • 举报
回复
通过增加数据文件的个数来增加表空间的大小:
ALTER TABLESPACE SYSTEM ADD DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\LOG855\SYSTEM02.DBF' SIZE 70M;
hyrongg 2008-09-08
  • 打赏
  • 举报
回复
为什么要创建在SYSTEM表空间?创建在别的表空间,

文件限制变成OS文件限制,我这边在WINDOWS2000和SU LINUX 下面,可以达到32G,

也可以在同一个表空间下多创建几个数据文件
oracledbalgtu 2008-09-08
  • 打赏
  • 举报
回复
1.非常不建议用户的默认表空间时system.
2.通过增加表空间更多的数据文件来增加空间。

[Quote=引用楼主 goodsun2 的帖子:]
我在oracle中创建了多个用户,给每个用户创建了许多表!
今天有用户在创建新表时提示"已经达到了最大值4GB,无法创建",我查看到SYSTEM.dbf文件现在是4GB了!

请问如何调整才能大于4GB呢?用什么命令?
[/Quote]
interboy 2008-09-08
  • 打赏
  • 举报
回复
我觉得还是需要考虑磁盘格式,总是说“4G”,system表空间默认不会是创建到4G那么大的,肯定是一点点增加的,可以推断出表空间已经是自动增长的,所以我认为楼主的问题是在磁盘格式上,你的磁盘格式是什么啊?
skystar99047 2008-09-08
  • 打赏
  • 举报
回复
add data files
lws0472 2008-09-08
  • 打赏
  • 举报
回复
你这个问题是达到了文件的最大值,你现在文件已经到达临界状态,你最好把用户的默认表空间设成users,而不是system,system表空间存放数据字典,你现在的解决办法是先删掉一些东西,然后修改用户的默认表空间,再增加你删的东西.
goodsun2 2008-09-08
  • 打赏
  • 举报
回复
alter database datafile '/oradata/..../system01.dbf' autoextend on maxsize 10240m;
執行后提示已經變更,但是创建表示依然那样提示

ALTER TABLESPACE SYSTEM ADD DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\LOG855\SYSTEM02.DBF' SIZE 70M;
执行时就提示"不能超过4GB",请大家再帮忙想想
interboy 2008-09-08
  • 打赏
  • 举报
回复
若真是因为FAT32格式引起的错误可以按参考下面步骤进行迁移
System是必可脱机表空间所以
1.将数据库启动到mount状态
startup mount

2.变更数据文件
alter database orcl rename file 'c:\system.dbf' to 'd:\system.dbf';

3.启动数据库
alter database open;


注意
在变更前,最好先强制执行切换检查点命令
alter system checkpoint;
这样不容易出现,控制文件与数据文件不一致的情况,比如

第 1 行出现错误:
ORA-01113: 文件 1 需要介质恢复
ORA-01110: 数据文件 1: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF'
interboy 2008-09-08
  • 打赏
  • 举报
回复
楼上说得都差不多了,我补充说明一下
根据楼主的说明,判断应该是表空间满了,首先用dba权限的用户登陆,执行
select * from dba_data_files;
查看system表空间的存放位置
然后
alter database datafile 'system表空间存放位置' autoextend on next 10M;
我没有设置最大值,只是让他每次超出后自动增加10M
同时也应该给连接的用户 unlimited tablespace 权限

如果楼主Oracle的System表空间存放在Fat32格式的磁盘下也可能是引发问题的原因,因为FAT32单个文件最大支持4G,可以考虑将数据文件件迁移的其他NTFS格式的磁盘上

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧