环境:windows server 2003 SP2 ORACLE 11g 11.0.6 内存大小:1200M
在安装数据库时,创建ASM磁盘组,创建ASM实例,创建数据库实例都很正常。数据库安装完成后,登录数据库、登录OEM都很正常,并做了添加表空间、添加用户、添加表及给表添加数据等一系列操作。
问题:关闭数据库实例、ASM实例后,重启操作系统。系统起来后,检查数据库相关的几个服务发现均正常启动,首先在会话中设置ASM实例的SID登录到ASM实例,发现磁盘组已经正常挂载。然后设置数据库实例的SID,通过sqlplus登录到数据库实例,发现数据库实例并未自动启动。使用startup命令,报如下的错误:
ORA-27100:ORA-27100:shared memory realm already exists
在网上搜索了该错误代码,对错误代码大部分的回复是参数文件有问题,并建议从pfile启动实例,然后重建spfile。但是我未曾更改过参数文件,而且我也尝试从pfile启动数据库实例,还是遇到相同的错误代码。
后来重启ASM实例发现一个问题,ASM实例的SGA 大小为: 535662592 bytes
Total System Global Area 535662592 bytes
Fixed Size 1348508 bytes
Variable Size 509148260 bytes
ASM Cache 25165824 bytes
ASM diskgroups mounted
ASM实例的SGA大小是不是太大了?
以下是ASM实例pfile文件的内容:
+asm.__oracle_base='C:\app\Administrator'#ORACLE_BASE set from environment
+asm.asm_diskgroups='WIN_DISKGROUP'#Manual Mount
*.asm_diskgroups='WIN_DISKGROUP'
*.asm_power_limit=3
*.diagnostic_dest='C:\app\Administrator'
*.instance_type='asm'
*.large_pool_size=12M
我是使用DBCA工具自动创建的ASM实例,不知道为什么系统会给ASM实例分配那么大的SGA空间。
我在ASM实例中添加了一个 初始化参数:sga_max_size=88M,然后重启ASM实例,现在ASM实例启动后SGA区域所占用的内存控制在88M之内:
Total System Global Area 92057600 bytes
Fixed Size 1345532 bytes
Variable Size 65546244 bytes
ASM Cache 25165824 bytes
但是我再次尝试启用数据库实例,仍然报一样的错误:
ORA-27100:ORA-27100:shared memory realm already exists
有点没辙了,请各位大侠帮帮忙。
[本帖最后由 zhangyi1985136 于 2011-4-13 22:30 编辑]