免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1347 | 回复: 0
打印 上一主题 下一主题

Oracle更改表空间大小/用户空间限额 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-21 08:43 |只看该作者 |倒序浏览
Oracle更改表空间大小/用户空间限额
  sys@TEST1>alter tablespace test_16k offline;表空间已更改。

  sys@TEST1>alter database datafile 'd:\oracle\product\10.2.0\oradata\test1\test6k.dbf' autoextend on next 50m maxsize 200m;数据库已更改。

  sys@TEST1>alter database datafile 'd:\oracle\product\10.2.0\oradata\test1\test.dbf' resize 10m;数据库已更改。

  sys@TEST1>alter user mxl quota 200m on test_16k;用户已更改。

  总结:

  1、修改表空间大小,乃修改的datafile非tablespace

  2、不要出低级拼写错误。

  3、错误提示很重要,不要想当然。

  附:

  三、磁盘配额管理的几个建议。

  1、当在创建表空间对象的时候,出现“超出表空间的空间限量”错误提示的处理思路。这种情况一般是由很多种情况所造成的。笔者在遇到这种问题的时候,一般的处理思路是,先查看该用户的磁盘配额,看其是否满足空间上的需求。若该用户没有磁盘配额管理的话,或者磁盘配额大小符合既定需求的话,则建议查看表空间的大小,看是否是因为表空间不足所造成的。若前两步还是不能够解决问题的,则看看表空间的管理方式。若是数据字典管理模式的话,则把他改为本地管理模式,一般就可以解决问题了。

  2、若数据库中存放着不同办事处或者不同分公司的数据时,笔者建议对Oracle数据库进行磁盘限额。这可以有效的防止因为硬盘空间的不足导致整个数据库的崩溃。而若对用户进行磁盘配额管理的话,那最多只是某个办事处(某个用户)数据库操作出现故障而已。这也是提高Oracle数据库可用性的一个有效手段。

  经查,表空间跟表空间限额两个值是不一样的.

  推测按默认的话oracle应该会给每个用户分配一个默认的表空间限额,具体比例待查,但这比例肯定远小于100%.

  所以说分配了400M的表空间未必能存储400M的数据.

  解决办法如下:

Oracle更改表空间大小/用户空间限额
google_protectAndRun("render_ads.js::google_render_ad", google_handleError, google_render_ad);

  sys@TEST1>alter tablespace test_16k offline;表空间已更改。

  sys@TEST1>alter database datafile 'd:\oracle\product\10.2.0\oradata\test1\test6k.dbf' autoextend on next 50m maxsize 200m;数据库已更改。

  sys@TEST1>alter database datafile 'd:\oracle\product\10.2.0\oradata\test1\test.dbf' resize 10m;数据库已更改。

  sys@TEST1>alter user mxl quota 200m on test_16k;用户已更改。

  总结:

  1、修改表空间大小,乃修改的datafile非tablespace

  2、不要出低级拼写错误。

  3、错误提示很重要,不要想当然。

  附:

  三、磁盘配额管理的几个建议。

  1、当在创建表空间对象的时候,出现“超出表空间的空间限量”错误提示的处理思路。这种情况一般是由很多种情况所造成的。笔者在遇到这种问题的时候,一般的处理思路是,先查看该用户的磁盘配额,看其是否满足空间上的需求。若该用户没有磁盘配额管理的话,或者磁盘配额大小符合既定需求的话,则建议查看表空间的大小,看是否是因为表空间不足所造成的。若前两步还是不能够解决问题的,则看看表空间的管理方式。若是数据字典管理模式的话,则把他改为本地管理模式,一般就可以解决问题了。

  2、若数据库中存放着不同办事处或者不同分公司的数据时,笔者建议对Oracle数据库进行磁盘限额。这可以有效的防止因为硬盘空间的不足导致整个数据库的崩溃。而若对用户进行磁盘配额管理的话,那最多只是某个办事处(某个用户)数据库操作出现故障而已。这也是提高Oracle数据库可用性的一个有效手段。

  经查,表空间跟表空间限额两个值是不一样的.

  推测按默认的话oracle应该会给每个用户分配一个默认的表空间限额,具体比例待查,但这比例肯定远小于100%.

  所以说分配了400M的表空间未必能存储400M的数据.

  解决办法如下:

  查看用户表空间的限额

  select * from user_ts_quotas;

  max_bytes字段就是了

  -1是代表没有限制,其它值多少就是多少了.

  不对用户做表空间限额控制:

  GRANT UNLIMITED TABLESPACE TO ***(用户);

  这种方式是全局性的.

  或者

  alter user ***(用户名) quota unlimited on ***(表空间);

  这种方式是针对特定的表空间的.

  可以分配自然也可以回收了:

  revoke unlimited tablespace from ***(用户)

  或者

  alter user *** quota 0 on ***

  max_bytes字段就是了

  -1是代表没有限制,其它值多少就是多少了.

  不对用户做表空间限额控制:

  GRANT UNLIMITED TABLESPACE TO ***(用户);

  这种方式是全局性的.

  或者

  alter user ***(用户名) quota unlimited on ***(表空间);

  这种方式是针对特定的表空间的.

  可以分配自然也可以回收了:

  revoke unlimited tablespace from ***(用户)

  或者

  alter user *** quota 0 on ***

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

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP