Oracle与SQL Server对比高可用与安全性

尽管Oracle和SQL Server的定位都是企业级的数据库产品,但是用过它们的DBA应该都知道,Oracle相比于微软数据库平台,在高级特性方面的优势还是挺明显的。特别是数据库高可用性以及安全性上,Oracle数据库都提供了强有力的工具和软件支持。

在我们深入探讨安全性以及高可用性之前,有一个关键的因素需要考虑在内,即Oracle数据库的读一致性。Oracle数据库中的每一个查询都会在同一时间点上返回结果。即使是运行时间很长的查询,结果集都能够提供读一致性的保障。如果数据库运行了多个事务,使用undo事务信息,返回的第一行结果也会同最后一行结果一致。

相比较而言,Oracle数据库所使用的编程语言PL/SQL 要比SQL Server的T-SQL更加灵活和强大。PL/SQL 拥有强大的功能集与错误处理能力,数据库开发人员可以使用PL/SQL来编写大规模的应用,并高效地对数据库行为进行编程。在Oracle 11g数据库中,在线版本变更(Edition-Based Redefinition)能够让数据库在运行时对代码进行修改,因此在对应用组件升级以及重新定义对象时,停机时间可以控制到最小。

Oracle数据库中的高可用性

Oracle数据库所提供的高可用性功能有很多,从集群到离线主机备用数据库服务器等。真正可用集群(Real Application Clusters,RAC)是Oracle中最流行的高可用技术,在Oracle集群中它提供了故障转移到其他节点的功能,同时允许双主机集群使用所有可用节点上的资源。Active Data Guard备用数据库可以在同一数据中心也可以是其他的地点,提供了额外的灾难恢复选项。而且还可以提供查询、报表以及备份等功能。在进行测试生产环境变更方面,Active Data Guard也是个不错的选择,它能够同步备份到生产数据库服务器。

除高可用性之外,我们还应该考虑到数据库恢复功能,特别是在升级或者其他数据问题上。Oracle数据库提供了时间点的闪回功能,还可以闪回一个查询,使得DBA能够快速地对数据和对象进行恢复并查看数据库变更。

自动存储管理(Automatic Storage Management,ASM)提供了一个Oracle文件管理器。在Oracle 11g中,自动存储管理集群文件系统(ACFS)同时在数据库内外提供了文件的管理和安全性保障。

Oracle安全与工程系统

除传统数据库之外,Oracle还提供了一系列的软硬件集成解决方案,让配置和部署变得更加容易,并提供了快速上线的能力。目前Oracle独立用户组中拥有一个专门的Exadata兴趣小组SIG,他们能够提供Exadata方面的技术交流以及最佳实践与经验。

安全性对于数据库环境来说是非常重要的。Oracle透明数据加密为用户提供了高级的安全特性,为应用提供了表空间级别的透明度。它对静止的文件进行加密,也就意味着备份和导出的数据中也包含了加密的数据。其他安全特性包括细粒度访问和虚拟私有数据库,即便在应用之外有直接的数据库访问情况下,Oracle也可以限制对敏感数据的访问。如有必要,DBA访问还可以使用Oracle Database Vault来进行限制。由于Oracle 11g中默认情况下有一系列的命令是被审计的,因此审计系统权限与变更可以很方便地被捕获并进行监控。