环境:
服务器操作系统是windows2003(32位), 硬件配置为2C(CPU)8G(Memory)PC服务器, 用做Oracle服务器.
oracle版本为10.1.0.2, $oracle_home为d:/oracle/product, sid为orcl.
方案1:
--------------------------------------------------------------------------
因为服务器是32位的操系统, 所以最大只能分2G内存给Oracle使用, 规划如下:
SGA:1.72G
PGA:250M
操作步骤
1. 创建pfile
SQL>create pfile from spfile
这样就在d:/oracle/product/10.1.0/db_1/database目录下面多1个文件INITorcl.ORA
或者copy d:/oracle/product/10.1.0/admin/orcl/pfile/init.ora.XXXXXXXX到上述目录, 名字改成INITorcl.ORA
init.ora.XXXX也是个pfile文件, 不妨试着用这个文件启动你的数据库
SQL>startup pfile='d:/oracle/product/10.1.0/admin/orcl/pfile/init.ora.XXXXXXXX'
特别是你改动参数导致数据库无法启动的情况下, 用这个文件恢复你的spfile将非常有用
SQL>create spfile from pfile='d:/oracle/product/10.1.0/admin/orcl/pfile/init.ora.XXXXXXXX'
2.修改pfile的内容
修改后主要内容为
sga_target=1700000000(1.7G左右)
lock_sga=true
pga_aggregate_tagert=250000000(250M左右)
workarea_size_policy=auto
pre_page_sga=true
sga_max_size=1720000000(1.72G左右)
3.根据pfile启动数据库
SQL>startup pfile='d:/oracle/product/10.1.0/db_1/database/INITorcl.ORA'
如果不能启动, 可能是某些参数的原因, 那么就修改INIToracl.ORA的配置文件, 直到能正常启动为止.
4.创建spfile
SQL>create spfile from pfile
上诉命令将覆盖d:/oracle/product/10.1.0/db_1/database/下的spfile文件"SPFILEORCL.ORA"
当然你也可以显式的指明pfile
SQL>create spfile from 'd:/oracle/product/10.1.0/db_1/database/INITorcl.ORA'
5.用spfile启动数据库并调整性能
SQL>startup
然后在oem中调整各种参数,调整后的参数将写在spfile中,但是不会写在pfile中
总结:这样下来,感觉服务器的内存并没有被充分利用, 8G服务器只有2G给了Oracle使用, 并不是非常理想,但是我们最终还是采用了这种方案
这是因为:
1:我们试过另外一种方案后感觉速度不但没有提升, 反而有下降, 可能是因为服务器调整的参数有些问题
2:但是我们不愿意冒着修改服务器参数的风险, 尤其是1个在线系统
3:还有1个重要的原因就是客户答应我们很快用64位的windows 2003操作系统
方案2:
--------------------------------------------------------------------------------------------------
我们使用AWE的方法来使得Oracle能使用大于2G的内存, 规划如下:
DB_BUFFER_SIZE:3.2G
large_pool:150M
java_pool:150M
share_pool:800M
PGA:500M
操作步骤
1. 修改服务器启动参数
修改c:/boot.ini文件, 在启动的操作系统参数后加上/3GB /PAE, 如:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /noexecute=optout /fastdetect /3GB /PAE
2. 注册表增加1个二进制键值
路径为hkey_local_machine/software/oracle/key_Oradb10g_home1/, 键值为
AWE_WINDOW_MEMORY=20000000000
3. 创建pfile
SQL>create pfile from spfile
这样就在d:/oracle/product/10.1.0/db_1/database目录下面多1个文件INITorcl.ORA,
或者copy d:/oracle/product/10.1.0/admin/orcl/pfile/init.ora.XXXXXXXX到上述目录, 名字改成INITorcl.ORA
init.ora.XXXX也是个pfile文件,不妨试着用这个文件启动你的数据库
SQL>startup pfile='d:/oracle/product/10.1.0/admin/orcl/pfile/init.ora.XXXXXXXX'
特别是你改动参数导致数据库无法启动的情况下, 用这个文件恢复你的spfile将会非常有用
SQL>create spfile from pfile='d:/oracle/product/10.1.0/admin/orcl/pfile/init.ora.XXXXXXXX'
2.修改pfile的内容
修改后主要内容为
db_block_buffers=400000
db_block_size=8192
java_pool_size=150000000(150M)
job_queue_processes=10
large_pool_size=150000000(150M)
shared_pool_size=800000000(800M)
lock_sga=true
pga_aggregate_tagert=500000000(250M左右)
workarea_size_policy=auto
pre_page_sga=true
use_indirect_data_buffers=true
注意1:db_buffer_size=db_block_buffers*db_block_size, db_block_size为数据库默认值, 不要修改,
比如你的db_block_size为4096话, 那么你的db_block_buffers应该为80000, 使得它们的乘积为3.2G
注意2:pfile不要有SGA_TARGET这个参数, 也不要有db_cache_size这个参数, SGA_MAX_SIZE也不需要
3.根据pfile启动数据库
SQL>startup pfile='d:/oracle/product/10.1.0/db_1/database/INITorcl.ORA'
如果不能启动, 可能是某些参数的原因, 那么就修改INIToracl.ORA的配置文件, 直到能正常启动为止。
4.创建spfile
SQL>create spfile from pfile
上诉命令将覆盖d:/oracle/product/10.1.0/db_1/database/下的spfile文件"SPFILEORCL.ORA"
当然你也可以显式的指明pfile
SQL>create spfile from 'd:/oracle/product/10.1.0/db_1/database/INITorcl.ORA'
5.用spfile启动数据库并调整性能
SQL>startup
然后在oem中调整各种参数, 调整后的参数将写在spfile中, 但是不会写在pfile中
总结:这样以来, 大概有5G的内存给服务器使用, 但是执行同样的SQL并没有效率上的提高, 可能并发的时候效率有所提高, 所以这种方案最终放弃, 要想使用大内存, 建议使用64位数的操作系统代替32位的操作系统, 这样使人更放心.
分享到:
相关推荐
### Oracle 10g的内存调整报告 #### 内存配置的重要性 Oracle 数据库的内存配置对于数据库的整体性能至关重要。不恰当的内存设置不仅会导致性能下降,还可能引发各种难以定位的问题。因此,在进行Oracle 10g的内存...
本文将基于提供的内容,详细介绍Oracle 10g内存调整的关键概念、重要参数及其调整方法。 #### SGA与PGA **SGA (Shared Global Area)** 和 **PGA (Program Global Area)** 是Oracle 10g实例的核心内存区域。它们...
- **内存自动管理**:自Oracle 10g起引入了自动SGA管理特性(Automatic Shared Memory Management, ASMM),可以通过设置`memory_target`参数启用ASMM,让Oracle自动调整SGA各部分的大小。 - **监控与调优**:利用...
ORACLE 自动内存管理和存储调整是 ORACLE 数据库中的一种重要配置,它可以根据系统的实际情况自动调整内存和存储的使用,以提高数据库的性能和效率。本文将详细介绍 ORACLE 自动内存管理和存储调整的相关知识点。 ...
Oracle 学习(内存参数设置) oracle学习(内存参数设置)是指在Oracle数据库中设置内存参数来优化数据库性能的过程。Oracle数据库的内存结构主要由SGA(System Global Area)和PGA(Private Global Area)组成。...
- **自动内存管理**:Oracle 10g及以上版本提供了自动内存管理功能,可以自动调整SGA和PGA大小,但需要设置合适的最大和最小值。 - **手工调整**:对于特定场景,如大量并行操作或大数据集处理,可能需要手动调整...
在Windows XP环境下运行Oracle 10g时,由于操作系统本身的限制以及Oracle配置不当,可能会导致Oracle占用过多内存,具体表现如下: 1. **系统资源限制**:Windows XP作为较早的操作系统版本,其对大内存的支持有限...
在Oracle 11g R2 for Linux版本中,当安装程序检测到需要调整的内核参数和用户资源限制(limit)时,它会自动生成一个脚本文件。此脚本包含了所有必要的命令,用于修改内核参数和设置资源限制。这意味着DBA不再需要...
Oracle 10g是甲骨文公司发布的一款关系型数据库管理系统,属于Oracle Database产品系列的第十个主要版本。它于2003年发布,支持当时流行的操作系统平台,并引入了众多新特性,包括对网格计算的支持、数据泵、自动...
SPFILE支持动态参数调整,不需要重启数据库实例即可生效。此外,SPFILE还支持参数的继承,可以将一些参数设置应用于所有数据库实例。 **SGA(System Global Area)和相关参数** SGA是Oracle数据库运行时的一个内存...
本文将详细介绍如何在Linux系统上安装Oracle 10g,并提供必要的系统检查、环境配置和参数调整。 首先,确保你的Linux系统满足最低的硬件需求。Oracle 10g需要至少1GB的物理内存,以及足够的交互空间,具体需求与...
在Oracle数据库管理中,调整内存使用情况是一项关键任务,它直接影响到系统的性能和稳定性。本文将深入探讨如何根据实际需求优化Oracle的内存设置,以提高系统效率。 首先,Oracle数据库的内存结构主要由两大部分...
"Oracle 11g调整物理内存提示ORA-00845 MEMORY_TARGET" Oracle 11g 中的内存自动管理机制 ===================================== Oracle 11g 中引入了一个新的内存自动管理机制,即 MEMORY_TARGET 参数,这个...
在进行Oracle 11g数据库的安装与配置过程中,对Linux系统的内核参数进行恰当的调整是至关重要的一步。这不仅能够确保Oracle数据库在Linux环境下运行的稳定性和性能,还能避免一些常见的安装错误和警告。以下是对给定...
4. **调整Oracle内存参数**: 在启用大页内存的情况下,需要停用AMM并手动设置内存参数。将`memory_max_target`和`memory_target`设置为0,手动设定`sga_max_size`、`sga_target`和`pga_aggregate_target`。 - `...
这些参数的调整是为了满足oracle11G的要求,例如提高文件句柄的限制、调整共享内存的大小等。 三、安装oracle11G 安装oracle11G的步骤非常复杂,本文不再详细介绍。安装oracle11G需要完成多个步骤,包括挂盘、安装...
12. **性能调优**:学习SQL优化技巧、数据库性能监控工具(如AWR、ASH)以及如何调整内存结构、索引策略等。 最后,通过阅读`oralce.txt`和`oracle install.txt`文件,你可以获得更具体的安装细节和可能遇到的问题...