Oracle数据库系统调优方法.docx
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
Oracle 数据库系统调优方法 Oracle 数据库系统调优方法是提高 Oracle 数据库性能的重要手段。 Oracle 数据库广泛应用在社会的各个领域,特别是在 Client/Server 模式的应用中。然而,应用开发者往往碰到整个系统的性能随着数据量的增大显着下降的问题。为了解决这个问题,从以下几个方面对整个系统进行调整,充分发挥 Oracle 的效能,提高整个系统的性能。 一、调整数据库服务器的性能 Oracle 数据库服务器是整个系统的核心,它的性能高低直接影响整个系统的性能。调整 Oracle 数据库服务器的性能,主要从以下几个方面考虑: 1.1 调整操作系统以适合 Oracle 数据库服务器运行 Oracle 数据库服务器很大程度上依赖于运行服务器的操作系统,如果操作系统不能提供最好性能,那么无论如何调整,Oracle 数据库服务器也无法发挥其应有的性能。 1.1.1 为 Oracle 数据库服务器规划系统资源 根据已有计算机可用资源,规划分配给 Oracle 服务器资源原则是:尽可能使 Oracle 服务器使用资源最大化,特别在 Client/Server 中尽量让服务器上所有资源都来运行 Oracle 服务。 1.1.2 调整计算机系统中的内存配置 多数操作系统都用虚存来模拟计算机上更大的内存,它实际上是硬盘上的一定的磁盘空间。当实际的内存空间不能满足应用软件的要求时,操作系统就将用这部分的磁盘空间对内存中的信息进行页面替换,这将引起大量的磁盘 I/O 操作,使整个服务器的性能下降。为了避免过多地使用虚存,应加大计算机的内存。 1.1.3 为 Oracle 数据库服务器设置操作系统进程优先级 不要在操作系统中调整 Oracle 进程的优先级,因为在 Oracle 数据库系统中,所有的后台和前台数据库服务器进程执行的是同等重要的工作,需要同等的优先级。所以在安装时,让所有的数据库服务器进程都使用缺省的优先级运行。 1.2 调整内存分配 Oracle 数据库服务器保留 3 个基本的内存高速缓存,分别对应 3 种不同类型的数据:库高速缓存、字典高速缓存和缓冲区高速缓存。库高速缓存和字典高速缓存一起构成共享池,共享池再加上缓冲区高速缓存便构成了系统全程区(SGA)。SGA 是对数据库数据进行快速访问的一个系统全程区,若 SGA 本身需要频繁地进行释放、分配,则不能达到快速访问数据的目的,因此应把 SGA 放在主存中,不要放在虚拟内存中。 1.2.1 库缓冲区的调整 库缓冲区中包含私用和共享 SQL 和 PL/SQL 区,通过比较库缓冲区的命中率决定它的大小。要调整库缓冲区,必须首先了解该库缓冲区的活动情况,库缓冲区的活动统计信息保留在动态性能表 v$librarycache 数据字典中,可通过查询该表来了解其活动情况,以决定如何调整。 1.2.2 数据字典缓冲区的调整 数据字典缓冲区包含了有关数据库的结构、用户、实体信息。数据字典的命中率,对系统性能影响极大。数据字典缓冲区的使用情况记录在动态性能表 v$librarycache 中,可通过查询该表来了解其活动情况,以决定如何调整。 1.2.3 缓冲区高速缓存的调整 用户进程所存取的所有数据都是经过缓冲区高速缓存来存取,所以该部分的命中率,对性能至关重要。缓冲区高速缓存的使用情况记录在动态性能表 v$sysstat 中,可通过查询该表来了解其活动情况,以决定如何调整。 二、调整 Client/Server 模式下的网络 I/O Client/Server 环境中的应用处理是分布在客户应用程序和数据库服务程序之间的。在 Client/Server 环境中 Client 与 Server 之间的网络 I/O 是整个系统性能提高的瓶颈,一个客户应用程序引起的网络 I/O 越少,应用及整个系统的性能越好。减少网络 I/O 的最重要的一条原则:将应用逻辑集中在数据库服务器中。 2.1 使用 Oracle 数据库的完整约束性 当为应用建表时,应当为一些有特殊要求的数据加上适当的完整性约束,这样就能实现由数据库本身而不是应用程序来约束数据符合一定的条件。数据库服务器端的完整约束的执行操作是在比 SQL 语句级别更低的系统机制上优化,它与客户端无关,只在服务器中运行,不需在 Client 端和 Server 端之间传递 SQL 语句,有效地减轻网络 I/O 负担。 2.2 使用数据库触发器 完整约束性只能实现部分约束,为了进一步减少网络 I/O,需要使用数据库触发器。数据库触发器可以实现更加复杂的约束和自动化处理,减少了网络 I/O 的负担。
- 粉丝: 192
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- asm-西电微机原理实验
- Arduino-arduino
- C语言-leetcode题解之70-climbing-stairs.c
- C语言-leetcode题解之68-text-justification.c
- C语言-leetcode题解之66-plus-one.c
- C语言-leetcode题解之64-minimum-path-sum.c
- C语言-leetcode题解之63-unique-paths-ii.c
- C语言-leetcode题解之62-unique-paths.c
- C语言-leetcode题解之61-rotate-list.c
- C语言-leetcode题解之59-spiral-matrix-ii.c