系统环境 :
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 Size 1249392 bytes
Variable Size 855642000 bytes
Database Buffers 5368709120 bytes
Redo Buffers 7135232 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 Size 1249392 bytes
Variable Size 855642000 bytes
Database Buffers 5368709120 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
数据库已经打开。
该帖并没有对相关参数和原理做过多阐述,如果有兴趣可以到网上找找相关参数和原理说明。