在 AIX 中运行 Oracle 性能方面的技巧和诀窍
2008-11-10 08:28:18 来源:WEB开发网内存
在这个部分中,我们将回顾内存与 AIX 和 Oracle 之间的关系。我们将讨论 AIX 如何使用虚拟内存,以及与 Oracle 之间的关系。我们还将分析相关的数据,并优化我们的子系统。
让我们首先从 VMM 开始。VMM 为系统中所有的内存请求(而不仅仅是虚拟内存的内存请求)提供服务,了解这一点是非常重要的。在访问 RAM 时,VMM 必须分配空间,即使系统中存在充足的物理内存。这一点经常令 DBA 和系统管理员感到困惑。使用一个称为分页空间预分配的过程,通过将段划分为页面,可以完成这项任务。这些页面可能是 RAM、或者分页空间(即存储于磁盘中的虚拟内存)。同时,VMM 维护了一个未分配页帧的空闲列表,可以使用该列表来处理缺页的问题。VMM 提供了一种页面置换算法,该算法用于分配页帧,以及确定应该将当前 RAM 中的哪些虚拟内存页面的页帧置换回空闲列表。
而且,AIX 操作系统将使用所有可供使用的内存,除了配置为不进行分配的,以及用于空闲列表的内存之外。很显然,在可以使用物理内存的情况下,管理员更希望使用物理内存,而不是分页空间。VMM 将内存段划分为两类:持久段和工作段。持久段使用文件内存,而工作段则使用计算性内存。对于我们来说,这意味着什么呢?在您的 SQL 查询访问数据库时,所使用的内存是计算性内存。这些都是工作段,并且将在该过程完成时终止。这些段没有真正的永久存储位置。另一方面,文件内存使用持久段,并且在磁盘中具有永久存储位置。通常它们将保存在内存中,直到偷取(置换)这些页面、或者回收数据库为止。同样,您希望将文件内存分页到磁盘中,而不是计算性内存中。
我们应该如何优化系统呢?有一个关键的参数需要介绍,那就是 Translation Lookaside Buffer (TLB)。因为像 Oracle 这样的应用程序会使用大量的虚拟内存,所以使用较大页面可以显著地提高性能。增加这个缓冲区的大小允许系统映射更多的虚拟内存,其结果是使得使用大量虚拟内存的应用程序(如 Oracle)的缺页率更低。这包括 OLTP 和数据仓库应用程序。Oracle 为它的 SGA 使用了较大的页面,因为主要占用虚拟内存的实际上正是 SGA。对于 AIX 5.3 和更早的版本,我们将使用 vmo;在此之前,我们使用的是 vmtune。
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接