OS环境:windows PC
数据库版本:oracle 10.0.2.1
 
这是一次小打小闹的报错,原因是帮同事改他自己玩的测试库sga,原sga_max_size大小为600M,我修改为2G,重启时报错。
 
ORA-27100 shared memory realm already exists
 
通过查询官方文档,解释该原因是因为windows pc 32位机最大支持分配oracle内存为1.7G,所以导致报错,这是一次缺少经验的教训。
 
解决案例:
  
1:SQL> show parameter sga
     NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
     lock_sga                             boolean     FALSE
     pre_page_sga                    boolean     FALSE
     sga_max_size                    big integer 568M
     sga_target                         big integer 568M
 
2:SQL> alter system set sga_max_size=2048m scope=spfile; -将SGA设置为2G
     SQL> alter system set sga_target=2048m scope=spfile;
 
3:SQL> shutdown immediate  -重启数据库报错
     SQL> startup
 
     ORA-27100 shared memory realm already exists
     OSD-00029: ????????????
     O/S-Error: (OS 8) ??????????????????????????????     
 
4:SQL> create pfile from spfile; -使用spfile生成pfile,修改参数文件内的以下两个参数,
    将参数调小。
     *.sga_max_size=600000000
     *.sga_target=600000000
 
5:SQL> startup pfile='E:/oracle/product/10.2.0/db_1/database/INITorcl.ORA' -这时候启动
     依然报错,这是因为windows机器需要重启后台服务,否则无法生效(郁闷)
     ORA-27100 shared memory realm already exists
     OSD-00029: ????????????
     O/S-Error: (OS 8) ??????????????????????????????
 
7:找到管理/服务/OracleServiceORCL 重启
 
8:SQL> startup pfile='E:/oracle/product/10.2.0/db_1/database/INITorcl.ORA'
     ORACLE 例程已经启动。
     Total System Global Area  603979776 bytes
     Fixed Size                  1250428 bytes
     Variable Size             163580804 bytes
     Database Buffers          432013312 bytes
     Redo Buffers                7135232 bytes
     数据库装载完毕。
     数据库已经打开。
 
9:SQL> create spfile from pfile; -根据启动的pfile生成spfile,下次启动时候则主动读取spfile
     参数文件
     SQL> startup force
     SQL> show parameter spfile
     NAME                                 TYPE        VALUE
     ------------------------------------ ----------- ------------------------------
     spfile                               string      E:/ORACLE/PRODUCT/10.2.0/DB_1/
                                                 DATABASE/SPFILEORCL.ORA
     SQL> show parameter sga;
     NAME                                 TYPE        VALUE
     ----------------------------------- ----------- ------------------------------
     lock_sga                             boolean     FALSE
     pre_page_sga                      boolean     FALSE
     sga_max_size                      big integer 576M
     sga_target                          big integer 576M
posted on 2015-03-20 14:58 
坏男孩 阅读(1321) 
评论(0)  编辑  收藏  所属分类: 
ORACLE篇章