在oracle 11g中收缩数据库

在oracle 11g中收缩数据库,oracle,oracle11g,Oracle,Oracle11g,我不是一个数据库管理员,所以我在这里陈述的一些事情可能是错误的 在SQL Server中,当我们在数据库中添加大量数据,然后将其删除时,数据文件(.mdf文件)或数据库(或其名称)的大小不会减小到原始大小。我们需要缩小它 同样的基本原理在Oracle中也适用吗?如果是,那么我应该如何缩小Oracle 11g数据库?Oracle文档中的完整解释:。简短版本: “您可以缩小表、索引组织表、索引、, 分区、子分区、物化视图或物化视图日志。 您可以使用ALTER TABLE、ALTER INDEX、AL

我不是一个数据库管理员,所以我在这里陈述的一些事情可能是错误的

在SQL Server中,当我们在数据库中添加大量数据,然后将其删除时,数据文件(.mdf文件)或数据库(或其名称)的大小不会减小到原始大小。我们需要缩小它


同样的基本原理在Oracle中也适用吗?如果是,那么我应该如何缩小Oracle 11g数据库?

Oracle文档中的完整解释:。简短版本:

“您可以缩小表、索引组织表、索引、, 分区、子分区、物化视图或物化视图日志。 您可以使用ALTER TABLE、ALTER INDEX、ALTER物化视图, 或者使用收缩空间更改物化视图日志语句 条款。”

因此,在运行Oracle Segment Advisor以推荐要缩小的区域后,类似下面的操作将缩小名为
mytable
的表中的空间

SQL> alter table mytable enable row movement;
Table altered

SQL> alter table mytable shrink space;
Table altered

EXP中有一个COMPRESS EXTENTS=Y选项-实际上不确定它是如何向前移动到数据泵的。@Randy,我不明白你想说什么。请再详细说明一下。压缩扩展数据块是一个导出/导入选项,不会影响基础数据文件的大小。compress extents选项指定导入时,所有表数据都将放在初始数据块中。因此,基本上,您试图说整个数据库不能像sql server中那样直接收缩。需要单独填写表格。对吗?这里出现了一个问题,如果我运行上面提到的2个命令,它不会更改表中的数据,对吗?它不应该,只是想确认一下,让我满意。正确,整个数据库不能像SQL Server那样收缩。数据已移动,但未更改。我建议您阅读我提供的链接中的oracle文档。此外,您不希望只运行上面的示例语句。您应该运行Segment Advisor并采取相应的行动。感谢您的指导。在搜索你的台词时,我发现了一个给我脚本的网站。我运行了那个脚本,它给了我一些表和它的收缩脚本。然后我运行这些脚本,它确实刷新了我的数据库。我在这里给出了一个链接。请也看一下。