首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ORACLE TABLESPACE用户得到100%的使用

ORACLE TABLESPACE用户得到100%的使用
EN

Database Administration用户
提问于 2020-02-21 13:04:33
回答 2查看 2K关注 0票数 0

我面临着与oracles用户表空间有关的问题。它会自动生长得非常快。那里存储着什么样的数据?当它达到100%使用的空间时会发生什么呢?是否有减少此表空间中数据量的解决方案?目前,我们有11 MB的总数为33 GB。删除它是个好主意吗?怎么做?谢谢。

EN

回答 2

Database Administration用户

回答已采纳

发布于 2020-02-21 14:02:45

我想说的是,您的部分或全部应用程序数据可能存储在用户表空间中。别做任何鲁莽的事。

由dbca实用程序创建的IIRC数据库将用户设置为默认表空间。这意味着,在默认情况下,创建的任何新用户都会将其表等存储在用户中。

select * from dba_segments where tablespace_name = 'USERS'将为您提供一个查看表空间中的内容的起点。(这可能是一长串。)

select * from dba_users where default_tablespace = 'USERS'将向您展示模式所有者,默认情况下,模式所有者将将数据存储在用户中。

我建议您不要认为这是一个有待解决的问题,而是接受用户是存储数据的地方,并计划表空间未来的可控增长。我见过一些应用程序是这样安装的。

HTH

票数 2
EN

Database Administration用户

发布于 2020-02-21 14:14:30

你真的应该深入了解谁在那里有数据,那里有什么样的数据。使用聚合查询将产生更好的结果。这将告诉您每个用户在用户表空间中有多少数据,哪些对象是最大的,而不是选择dba_segments中的每个段。您可能需要将一些较大的对象放在单独的表空间中。您还应该查询dba_tables视图,并查看should是否为非空且大于0。如果是,那么设置为高于0的faster对象将以更快的速度增长。例如,如果您的表或表空间的created设置为100,则每次创建新段时,段大小将加倍。这可能是个问题。

代码语言:javascript
运行
复制
SELECT owner, TO_CHAR( SUM( bytes )/1024/1024, '999,999,999' ) mb FROM dba_segments WHERE tablespace_name = 'USERS' GROUP BY owner ORDER BY SUM( bytes );

SELECT owner, object_type, TO_CHAR( SUM( bytes )/1024/1024, '999,999,999' ) mb FROM dba_segments WHERE tablespace_name = 'USERS' GROUP BY owner, object_type ORDER BY SUM( bytes );
票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/260240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档