SQL Server数据库与Oracle数据库之间最大的区别要属表空间设计。Oracle数据库开创性地提出了表空间的设计理念,这为Oracle数据库的高性能做出了不可磨灭的贡献。可以这么说,Oracle中很多优化都是基于表空间的设计理念而实现的。
典型应用一:控制用户所占用的表空间配额。
在一些大型的数据库应用中,我们需要控制某个用户或者某一组用户其所占用的磁盘空间。这就好像在文件服务器中,需要为每个用户设置磁盘配额一样,以防止硬盘空间耗竭。所以,在数据库中,我们也需要限制用户所可以使用的磁盘空间大小。为了达到这个目的,我们就可以通过表空间来实现。
我们可以在Oracle数据库中,建立不同的表空间,为其设置最大的存储容量,然后把用户归属于这个表空间。如此的话,这个用户的存储容量,就受到这个表空间大小的限制。
典型应用二:控制数据库所占用的磁盘空间。
有时候,在Oracle数据库服务器中,可能运行的不止一个服务。除了数据库服务器外,可能还有邮件服务器等应用系统服务器。为此,就需要先对Oracle数据库的磁盘空间作个规划,否则,当多个应用程序服务所占用的磁盘空间都无限增加时,最后可能导致各个服务都因为硬盘空间的耗竭而停止。所以,在同一台服务器上使用多个应用程序服务,我们往往需要先给他们进行磁盘空间的规划和分配。各个服务都不能够超过我们分配给他的最大限额,或者超过后及时的提醒我们。只有这样,才能够避免因为磁盘空间的耗竭而导致各种应用服务的崩溃。
典型应用三:灵活放置表空间,提高数据库的输入输出性能。
数据库管理员还可以将不同类型的数据放置到不同的表空间中,这样可以明显提高数据库输入输出性能,有利于数据的备份与恢复等管理工作。因为我们数据库管理员在备份或者恢复数据的时候,可以按表空间来备份数据。如在设计一个大型的分销系统后台数据库的时候,我们可以按省份建立表空间。与浙江省相关的数据文件放置在浙江省的表空间中,北京发生业务记录,则记录在北京这个表空间中。如此,当浙江省的业务数据出现错误的时候,则直接还原浙江省的表空间即可。很明显,这样设计,当某个表空间中的数据出现错误需要恢复的时候,可以避免对其他表空间的影响。
另外,还可以对表空间进行独立备份。当数据库容量比较大的时候,若一下子对整个数据库进行备份,显然会占用比较多的时间。虽然说Oracle数据库支持热备份,但是在备份期间,会占用比较多的系统资源,从而造成数据库性能的下降。为此,当数据库容量比较大的时候,我们就需要进行设置多个表空间,然后规划各个表空间的备份时间,从而可以提高整个数据库的备份效率,降低备份对于数据库正常运行的影响。
典型应用四:大表的排序操作。
我们都知道,当表中的记录比较多的时候,对他们进行查询,速度会比较慢。第一次查询成功后,若再对其进行第二次重新排序,仍然需要这么多的时间。为此,我们在数据库设计的时候,针对这种容量比较大的表对象,往往把它放在一个独立的表空间,以提高数据库的性能。
典型应用五:日志文件与数据文件分开放,提高数据库安全性。
默认情况下,日志文件与数据文件存放在同一表空间。但是,这对于数据库安全方面来说,不是很好。所以,我们在数据库设计的过程中,往往喜欢把日志文件,特别是重做日志文件,放在一个独立的表空间中,然后把它存放在另外一块硬盘上。如此的话,当存放数据文件的硬盘出现故障时,能够马上通过存放在另一个表空间的重做日志文件,对数据库进行修复,以减少企业因为数据丢失所带来的损失。
当然,表空间的优势还不仅仅这些,企业对于数据库的性能要求越高,或者数据库容量越大,则表空间的优势就会越大。
下面,我们就具体来看看Oracle数据库中表空间的处理方式,看其在性能与安全性方面是否有足够的优势与SQL Server数据库抗衡。
在数据库设计的时候,我们建议数据库管理员按如下顺序设置表空间。
第一步:建立表空间。
在设计数据库的时候,首先需要设计表空间。我们需要考虑,是只建立一个表空间呢,还是需要建立多个表空间,以及各个表空间的存放位置、磁盘限额等等。
到底设计多少个表空间合理,没有统一的说法,这主要根据企业的实际需求去判断。如企业需要对用户进行磁盘限额控制的,则就需要根据用户的数量来设置表空间。当企业的数据容量比较大,而其又对数据库的性能有比较高的要求时,就需要根据不同类型的数据,设置不同的表空间,以提高其输入输出性能。
第二步:建立用户,并制定用户的默认表空间。
在建立用户的时候,我们建议数据库管理员要指定用户的默认表空间。因为我们在利用CREATE语句创建数据库对象,如数据库表的时候,其默认是存储在数据库的当前默认空间。若不指定用户默认表空间的话,则用户每次创建数据库对象的时候,都要指定表空间,显然,这并不是很合理。
另外要注意,不同的表空间有不同的权限控制。用户对于表空间A具有完全控制权限,可能对于表空间B就只有查询权限,甚至连连接的权限的都没有。所以,合理为用户配置表空间的访问权限,也是提高数据库安全性的一个方法。
分享到:
相关推荐
表空间的设计理念是Oracle数据库的一大特色。相比于其他数据库系统(如SQL Server),Oracle通过引入表空间的概念,实现了更为灵活高效的数据管理机制。表空间的设计不仅可以帮助控制用户的磁盘使用,还可以优化数据...
通过对本文档的学习,读者不仅能够深入了解Oracle8i的设计理念和架构特点,还能掌握一系列实用的性能优化技巧,从而有效提高数据库系统的整体表现。无论是初学者还是资深DBA,都能够从中获得有价值的信息和启发。
无论是从内存结构还是存储结构来看,Oracle 11g都采用了高度模块化的设计理念,这使得系统能够高效地管理和处理大量的数据。对于学习和使用Oracle 11g的人来说,理解其系统结构是非常重要的基础之一。
Tom Kyte讨论了如何进行合理的物理表设计,包括选择适合的数据类型、考虑表空间的分配、合理使用分区和分段等。他还强调了表的组织方式,如heap tables、index-organized tables (IOTs) 和 cluster tables的适用场景...
5. 表空间设计理念:Oracle数据库管理系统最大特点是表空间设计理念的提出与实现,这是Oracle为构建高性能数据库做出的巨大贡献,Oracle几乎所有的优化都来自表空间。 6. 数据恢复和备份:在Oracle数据库中,表空间...
这个名为"Oracle教案.rar"的压缩包可能包含一系列的文档,旨在帮助学习者掌握Oracle数据库管理、SQL查询、PL/SQL编程以及相关的数据库设计理念。 Oracle数据库是全球广泛使用的大型关系型数据库管理系统,尤其在...
总的来说,《Oracle DBA使用手册设计篇》将引导你深入理解Oracle数据库的设计理念,提供实用的技巧和最佳实践,助你在Oracle DBA的道路上不断进步。通过学习这本书,你将能够有效地设计、管理和优化Oracle数据库,以...
Oracle 9i数据库设计指引全集是一份详细深入的指南,专为那些希望掌握Oracle数据库设计最佳实践的专业...不过,要注意的是,尽管Oracle 9i是一个旧版本,许多设计理念和技术仍然对理解更高版本的Oracle数据库有所帮助。
Oracle数据库设计教程PPT版是一份详尽的自学材料,主要针对希望深入理解Oracle数据库设计理念和技术的初学者和进阶者。Oracle是全球广泛使用的数据库管理系统之一,尤其在企业级应用中占据重要地位。这份教程通过PPT...
本书的核心理念是帮助读者理解如何通过设计优化来实现更高效的Oracle数据库操作,从而提升整个系统的性能。 1. **索引优化**:书中详细讨论了如何选择合适的索引类型,如B树索引、位图索引、函数索引等,以及如何...
Oracle 分区基于“分而治之”的理念,将大表和索引划分为多个小的逻辑部分,每个部分称为分区。这种策略有助于减少单个表的管理复杂性,提高I/O性能,并增强系统并行处理能力。当数据量过大时,通过分区可以将查询...
Oracle Database Concept 11g是Oracle公司发布的一款重要的数据库管理系统的核心理论手册,它详细阐述了Oracle数据库11g版本的设计理念、工作原理以及管理方法。这本书对于理解和掌握Oracle数据库的运行机制至关重要...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其在企业级应用中占据着重要的地位。而"青云Oracle管理软件"则提供了一种无需...这款软件的出现,充分体现了现代IT工具追求便捷性、实用性和高效性的设计理念。
其设计理念是通过软硬件的高度集成,实现数据库操作的高效率。 Sun硬件技术的核心是使用了SunFlashFire技术,这是一套基于闪存的高速存储解决方案,可以显著提升系统在数据处理和响应时间上的性能。Oracle Exadata...
通过对Oracle与Sybase在体系结构、数据存储、备份处理及安全权限划分等方面的比较,可以看出两者虽然都是高性能的关系型数据库管理系统,但在设计理念和技术实现上有较大区别。Oracle在数据存储和备份恢复方面更为...
了解Oracle9i,首先要掌握其设计理念和主要改进之处。 2. **数据库的创建、启动和关闭** 创建Oracle数据库涉及规划、配置和执行DBCA(Database Configuration Assistant)工具。这包括选择数据库类型(如单实例或...
"Oracle培训教材(ppt)"是一份详细的教学资料,涵盖了从基础的SQL语言到复杂的数据库设计理念,旨在帮助学习者全面理解并掌握Oracle数据库系统的核心知识。 在SQL部分,这份教材可能会涵盖以下知识点: 1. SQL...
Oracle的核心设计理念是客户机/服务器(Client/Server)架构,这使得数据库能够支持分布式应用,并且便于通过互联网进行开发和访问。 在Oracle数据库中,几个关键的物理组件构成了数据库的基础: 1. **数据库文件*...