系统环境:
Windows 2003 32位
CPU 8核
内存16G
系统设置
1、修改C:\boot.ini,增加/3GB /PAE
备注:在C盘下看不到boot.ini文件,请设置工具--文件夹选项--查看选项卡相关选项
boot.ini内容如下:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /3GB /PAE /noexecute=optout /fastdetect
说明:/3GB enables a single process to attach 3GB of memory.
/PAE enables access to memory above 4GB to be mapped for a process.
这两个参数可以一起使用,也可以单独使用。
if mem<=4G,就只需要设置/3GB即可
if mem> 4G,/3GB /PAE可以同时设置(这个时候最大只能使用到16G,如果要使用更多的内容,需要去掉/3GB参数)
2、授权:给运行Oracle数据库的操作系统帐户,授予"Lock Pages in Memory"的系统权限
开始--控制面版-管理工具-本地安全策略-用户权限分配-选种内存中锁定页面-添加用户。
说明:运行Oracle数据库的操作系统帐户默认为本地用户。一般都为administrator.所以把administrator添加进去就OK了。
3、修改注册表,Local_Machine/ software/oracle-home0中加入AWE_WINDOW_MEMORY,值為1073741824(此为缺省值为1G)
4、重新启动系统
配置oracle启动文档
5、启动oracle实例,创建测试pfile文件
运行-cmd-type "sqlplus"-type "sys as sysdba"-type密码
create pfile = 'c:\initest.ora' from spfile;
6、关闭oracle例程。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE例程已经关闭。
7、修改测试测试pfile文件
打开initest.ora文件,添加下面内容:
*.USE_INDIRECT_DATA_BUFFERS = TRUE
*.DB_BLOCK_BUFFERS = 655360
*.statistics_level='ALL'
*.lock_sga=TRUE
*.pre_page_sga=TRUE
*.shared_pool_size=814572800
并修改*.sga_target使其植为“0”
保存
8、用修改后的测试pfile文件启动oracle例程
SQL> startup pfile='c:\initest.ora';
ORACLE例程已经启动。
Total System Global Area 6232735744 bytes
Fixed Size1249392 bytes
Variable Size855642000 bytes
Database Buffers5368709120 bytes
Redo Buffers7135232 bytes
数据库装载完毕。
数据库已经打开。
9、如果启动没有问题,可以用测试pfile文件创建spfile文件
SQL> create spfile from pfile ='c:\initest.ora';
文件已创建。
10、关闭ORACLE例程后再用spfile文件启动ORACLE例程
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE例程已经关闭。
SQL> startup
ORACLE例程已经启动。
Total System Global Area 6232735744 bytes
Fixed Size1249392 bytes
Variable Size855642000 bytes
Database Buffers5368709120 bytes
Redo Buffers7135232 bytes
数据库装载完毕。
数据库已经打开。
该帖并没有对相关参数和原理做过多阐述,如果有兴趣可以到网上找找相关参数和原理说明。