alter system set sga_max_size=2000M scope=spfile;
alter system set sga_target=2000M scope=spfile;
重启服务。再次连接时报错。原因:32位的windows最大支持的sga为1.7G。
oracle 加载数据库时,读取E:\oracle\product\10.2.0\db_1\dbs目录下的SPFILEXXX.ORA。所以目的就是修改此文件中sga的值。
由于此SPFILEXXX.ORA 文件为二进制文件,故不能直接修改,将其内容复制为 initXXX.ORA,去掉乱码和注释,其中,将sga_max_size 和sga_target的值,取其他oracle的默认值。
此时通过工具无法连接到数据库,只能由sqlplus连接。
sqlplus /nolog
conn /as sysdba; 连接到数据库
shutdown abort;
startup pfile=‘E:\oracle\product\10.2.0\db_1\dbs\initXXX.ORA’; 指定加载数据库时读取的参数文件。
create spfile from pfile=‘E:\oracle\product\10.2.0\db_1\dbs\initXXX.ORA’; 根据指定的参数文件,创建SPFILE。
创建出来的SPFILE默认目录为E:\oracle\product\10.2.0\db_1\database,将其复制到E:\oracle\product\10.2.0\db_1目录下。
startup;
此时将sga参数设置为系统原默认值。
再用 alter system set sga_max_size=2000M scope=spfile; alter system set sga_target=2000M scope=spfile;将其修改为恰当的值,重启服务即可。