1 Oracle数据库简介
1.1 认识Oracle 11g
1.1.1Oracle与SQLServer
- 对操作系统的支持
Oracle:Windows、Linux、苹果等;
SQL Server:Windows。
- 数据库的架构
Oracle:一个实例只管理一个数据库,集群环境下可实现一个实例管理多个数据库;
SQL Server:一个实例管理多个数据库。
- 数据库的安全性
SQL Server没有通过安全性认证,Oracle是获得ISO安全认证的数据库。
- 内存配置
Oracle大部分是由INIT.ORA来决定;
SQL Server的内存分配主要有动态内存分配和静态内存分配
1.2 Oracle 11g的新特性
1.2.1 数据库管理部分
- 数据库重放
数据库重放:以二进制文件格式捕获SQL级别以下的所有数据库活动,然后同一数据库或不同数据库内进行重放(还可以自定义捕获流程,以包括或排除某些特定类型的活动);
SQL重放:SQL重放与数据库重放的特性相似,但只是捕获SQL负载部分。
- SQL计划管理
Oracle 11g 引入了SQL执行计划管理这个特性,可以让系统自动控制SQL语句执行计划的稳定性,进而防止由于执行计划发生变化而导致的性能下降。
- 自动存储管理
用于管理ASM实例的新的SYSASM角色,用于降低共享池使用的可变的区大小,以及实例能够读取磁盘组的特定磁盘。
- 自动的健康检查
自动对数据库进行健康检查,对于有可能导致数据库将出现问题的一些因素,给DBA发送警告信息,并针对潜在问题给出一些建议。
- 企业管理器功能的增强
在企业管理器中增加了一个LOGMINER接口,该接口主要用作日志的查询。通过该接口,还可以在企业管理器的GUI页面中获取日志挖掘的图形。
- 自动诊断知识库
当Oracle探测到重要错误时,会自动创建一个事件,并捕获与这一事件相关的信息,同时自动进行数据库监控检查并通知DBA。
- 闪回事务
使用闪回事务可以退回事务,即使已经提交的事务。比如用户不小心执行了一些事务,并对在这些事务里的数据做了一些更改,想要退回这些更改,DBA只需要简单的将这些事务闪回,即可把用户犯下的错误更正。
- 自动内存优化
在Oracle 11g中,所有内存可以通过只设定一个参数来实现全表的自动优化。你只需要告诉Oracle有多少内存可用,它就可以自动指定多少内存分配给PGA、SGA以及操作系统进程。
1.2.2 PL/SQL部分
- 触发器
Oracle除了以前的触发器,还引入了一个复合触发器。复合触发器就是在一个触发器中使用4部分内容,即申明部分、before过程部分、after each row过程部分和after过程部分。此外,Oracle 11g中还可以设置触发器的顺序,比如为一个表设置几个触发器,可以指定先执行哪个触发器的内容等。
- 对象依赖性改进
有函数或者视图依赖于某张表,这张表发生结构变化,如果表改变的属性与相关函数或者视图无关,相关对象状态不会发生变化。
- SQL语法
Oracle 11g在数据的备份和恢复中增强了RMAN的恢复功能,提供的数据压缩技术可最多压缩2/3,同时还提供了在线升级等功能。
小结
本篇通过Oracle与SQL Server的对比,讲解了Oracle和SQL Server各自的特点及使用范围;接着讲了Oracle 11g的一些新特性,比如数据库管理方面的数据库重放、SQL计划管理、自动存储管理等特性。