oracle 增大表空间 oracle自动扩展原理?
oracle自动扩展原理?
原则
随着记录的增加,高水位线不断右移,删除记录不会导致高水位线后移(左)。
虽然删除记录后的空闲空间(高水位线左侧)可以使用,但其稀疏性导致了空闲空间。
可以使用alter table table _ name shrinkspace来收缩oracle中的表,使用shrinkspac:。
1.必须为表启用行移动。
2.表段所在表空间的段空间管理必须是auto。
oracle表空间大小有啥用?
SQL Server数据库和Oracle数据库最大的区别就是表空间设计。Oracle数据库创造性地提出了表空间的设计概念,为Oracle数据库的高性能做出了不可磨灭的贡献。可以说Oracle的很多优化都是基于表空间的设计理念。
典型应用1:控制用户占用的表空间配额。
在一些大型数据库应用中,我们需要控制一个用户或一组用户占用的磁盘空间。这就像在文件服务器中为每个用户设置一个磁盘配额,以防止硬盘空间不足。因此,在数据库中,我们还需要限制用户可以使用的磁盘空间量。为了实现这个目标,我们可以通过表空间来实现。
我们可以在Oracle数据库中设置不同的表空间,为它们设置最大存储容量,然后将用户分配给这个表空间。在这种情况下,该用户的存储容量受到该表空间大小的限制。
典型应用2:控制数据库占用的磁盘空间。
有时,在一个Oracle数据库服务器中,可能会运行多个服务。除了数据库服务器,可能还有应用系统服务器,如邮件服务器。因此,需要先规划好Oracle数据库的磁盘空间,否则当多个应用服务占用的磁盘空间无限增加时,每个服务最终可能会因为硬盘空间的耗尽而停止。因此,在同一台服务器上使用多个应用服务时,我们往往需要先为它们规划和分配磁盘空间。任何服务都不能超过我们分配给他的最大额度,或者超过后及时提醒。只有这样,才能避免因磁盘空间耗尽而导致的各种应用服务的崩溃。
典型应用3:灵活的表空间放置,提高数据库的输入输出性能。
数据库管理员还可以将不同类型的数据放入不同的表空间,这样可以明显提高数据库的输入输出性能,有利于数据备份和恢复的管理。因为我们的数据库管理备份或恢复数据时,图书管理员可以根据表空间备份数据。比如在设计大型分销系统后台数据库时,可以按省建立表空间。浙江省相关的数据文件放在浙江省的表空间,北京的业务记录放在北京的表空间。这样,当浙江省的业务数据出现错误时,可以直接恢复浙江省的表空间。显然,当一个表空间中的数据有错误需要恢复时,这种设计可以避免对其他表空间的影响。
此外,表空间可以独立备份。当数据库容量相对较大时,一次性备份整个数据库显然会花费更多的时间。Oracle数据库虽然支持热备份,但是在备份期间,会占用更多的系统资源,导致数据库性能下降。所以当数据库容量比较大的时候,我们需要设置多个表空间,然后规划每个表空间的备份时间,这样可以提高整个数据库的备份效率,减少备份对数据库正常运行的影响。
典型应用4:大型表格的排序操作。
我们都知道,当表中记录较多时,查询起来会比较慢。第一次查询成功后,第二次重新排序还是要花那么多时间。所以我们在设计数据库的时候,往往会把这种大容量的表对象放在一个独立的表空间里,以提高数据库的性能。
典型应用5:日志文件和数据文件分离,提高数据库安全性。
默认情况下,日志文件和数据文件存储在同一个表空间中。但是,这对于数据库安全性来说并不是很好。因此,在数据库设计的过程中,我们往往喜欢将日志文件,尤其是重做日志文件放在一个独立的表空间中,然后存储在另一个硬盘上。这样,当存储数据文件的硬盘出现故障时,可以通过存储在另一个表空间的重做日志文件,立即修复数据库,减少企业因数据丢失而造成的损失。
当然,表空间的优势不仅限于这些。企业对数据库的性能要求越高,或者数据库容量越大,表空间的优势就越大。
下面,让 让我们具体看看Oracle数据库中的表空间处理方法,看看它在性能和安全性方面是否有足够的优势与SQL Server数据库竞争。
在设计数据库时,我们建议数据库管理员按照以下顺序设置表空间。
步骤1:创建一个表空间。
设计数据库时,首先需要设计一个表空间。我们需要考虑是只建立一个表空间还是多个表空间,以及每个表空间的存储位置、磁盘配额等等。
对于合理设计多少个表空间没有统一的看法主要是根据企业的实际需求来判断。如果企业需要控制用户的磁盘配额,就需要根据用户数量来设置表空间。当企业的数据容量比较大,对数据库的性能要求比较高时,需要根据不同类型的数据设置不同的表空间,以提高其输入输出性能。
步骤2:建立用户并设置用户 的默认表空间。
在建立用户时,我们建议数据库管理员指定用户 的默认表空间。因为当我们使用CREATE语句创建数据库对象时,比如数据库表,它们默认存储在数据库的当前默认空间中。如果用户 的默认表空间,则用户必须在每次创建数据库对象时指定表空间。显然,这不是很合理。
还要注意,不同的表空间有不同的权限控制。用户对表空间A有完全控制权,但可能只有对表空间B的查询权,即使没有连接权。因此,合理配置用户对表空间的访问权限也是提高数据库安全性的一种方法。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。