Oracle课程是Oracle数据库的空间管理技术,在Oracle数据库中,DBA可以通过观察特定的表或视图了解当前空间的使用,然后做出可能的调整决定。

1。表面空间的自由空间

通过观察表空间的空闲空间,可以判断分配给表空间的空间是否太多或不够。请看下面的语句


可以在文件编号表空间RBS 12来看,只有0.19%的空间分布是不使用的,比例太小,在系统临时表空间,超过80%的空间是不能用于数据库的生产,表空间设置太高。

关于自由空间的管理,有以下几点建议:

使用导出和导入命令卸载和加载表空间可以释放大量空间,从而减轻对附加数据文件的要求。

如果在包含高插入(插入)和更新(UPDATE)活动表的表空间中的空闲空间比例减少到小于15%,则需要向表空间添加更多空间。

对于基本上是静态表数据的表空间,如果有超过20%的空闲空间,可以考虑减少分配给它的文件空间的数量。

在系统表空间中减少空间量是很困难的,因为它是重建数据库的。



{分页}



























扩展表和索引

A.为了防止表或索引被过度和数据库的及时调整,用户应经常观察对象。

我们可以认为表或扩展面积指数超过5是过度(过度)。请看下面的语句:


通过观察,DBA可以及时发现问题并相应处理。
我们可以使用导出卸载表,然后删除表,然后使用导入命令加载表,以便将不连续区域合并到连续空间中。

b.如果用户想要优化表的空间设置,例如,您需要更改表EMP的初始参数,您可以使用以下方法:

1。当EMP表中卸载和删除,的某个参数时使用IMP命令被执行:

Imp userid=scott/tiger file=emp.dmp indexfile=emp.sql Oracle writes the creation information of the table and index to the specified file, instead of writing the data back.
一百三十四





{分页}



2。打开emp.sql文件:


编辑它,删除REM和其他信息,找到初始参数,并根据需要更改它。

三.在SQL*Plus执行emp.sql。

4。加载数据:


需要注意的是,忽略参数必须设置为Y.。

可以使用以下语句观察表或索引距离的最大距离。不能达到最大膨胀值的距离。在user_extents表,extent_id从0开始。


如果不能是小到一定程度时,应注意适当调整。


{分页}



连续空间上的三

您可以使用以下语句查看数据库中的空闲空间:


我们可以通过该命令的结果估计相邻的自由空间的实数。对于每一行,用初始的快速ID(block_id)加上数块(块)。如果它等于块ID(block_id)的下一行,两行是连续的,如上述的第二和第三线为例,133719 + 126 = 133845,1338456 + 130!= 135275,所以从block_id 133719,有一个连续的空间126 + 130 = 256块。

在Oracle数据库的背景,系统监视器(SMON)定期将自由空间相邻的块到一个连续的块,DBA可以使用SQL命令:


Oracle空间管理对数据库的性能有着重要的影响,其管理方法值得仔细研究。