ora-27100:shared memory realm already exists错误的解决

本文详细介绍了Oracle数据库在Windows Service 2003 R2 x86环境下遇到ORA-27100: sharedmemoryrealmalreadyexists错误的解决过程,包括备份参数文件、创建pfile、修改参数、保存为pfile文件、创建spfile、重启服务等步骤。

数据库ora-27100:shared memory realm already exists错误的解决

环境:
操作系统平台 Windows Service 2003 R2 x86
数据库版本 Oracle Enterprise 9.2.0.1 for windows x86

今天一客户数据库启不来了,报ora-27100:shared memory realm already exists错误.查看相关文档,个错误一般都是由于内存参数设置不当引起的.解决问题的思路是首先创建pfile,再修改pfile的参数,将改好后的参数保存为pfile文件后再创建回spfile,再次重启oracle相关服务即可。


问题描述: 数据库打开报错:ora-27100:shared memory realm already exists.
问题诊断: 参数文件配置有问题.

解决问题的过程和步骤

环境:
操作系统平台 Windows Service 2003 R2 x86
数据库版本 Oracle Enterprise 9.2.0.1 for windows x86

今天一客户数据库启不来了,报ora-27100:shared memory realm already exists错误.查看相关文档,个错误一般都是由于内存参数设置不当引起的.解决问题的思路是首先创建pfile,再修改pfile的参数,将改好后的参数保存为pfile文件后再创建回spfile,再次重启oracle相关服务即可。


问题描述:数据库打开报错:ora-27100:shared memory realm already exists.
问题诊断:参数文件配置有问题.

解决问题的过程和步骤

解决方法一、

1、备份.将所有参数文件包括spfile,pfile,全部备份到桌面.
2、在sqlplus里面执行create pfile from spfile
3、仅保留通过第二步骤创建的pfile文件,其它全部删除。
4、用UltrEdit工具修改pfile,注意:SGA的大小不能超过1.7G,SGA中的其它部件加起不能超过sga_max_size配置的大小,并且注意,在9i中使用的参数最大的单位大小只能是M。我的配置如下:
sga_max_size=700m
db_cache_size=400m
java_pool_size=30m
large_pool_size=80m
shared_pool_size=150m

5、修改完成后,保存退出,并检查文件后缀名是否为.ora
6、执行create spfile from pfile 命令创建spfile,记住,千万别进入sqlplus中去执行starup 启库。
7、在cmd命令中执行services.msc命令启动服务管理器,将所有的oracle服务停止,是所有的,并且改为手动。
8、重启服务器
9、手动oracle的监听和实例服务。
10、通过sqlplus进入数据库,执行select instance_name,status from v$instance 这个时候数据库的状态应该是open。
11、故障处理完毕。

以下是一些可能解决重启服务后仍出现 ORA - 27101 错误shared memory realm does not exist)的方法: - **检查监听**:在使用 `ip:1521/服务名` 方式连库报错 "ORA - 27101: shared memory realm does not exist" ,而 `sqlplus XX/密码` 可以登录数据库的情况下,需要检查监听是否正常工作。确保监听服务已启动,并且监听配置正确,监听服务能够识别并响应数据库服务名。可使用 `lsnrctl status` 查看监听状态,使用 `lsnrctl start` 启动监听服务 [^2]。 - **数据库启动操作**:尝试在 SQL 命令行中进行数据库启动操作。可以先尝试执行 `startup mount` 命令,若显示 "ORACLE 例程已经启动",则说明该操作可能有助于恢复。示例如下: ```sql SQL> startup mount; ``` 不过在执行操作时,可能会遇到如 `shutdown immediate` 失败提示 "非法的 SHUTDOWN 选项" 或 "ORA - 01034: ORACLE not available" 等情况,此时可专注于启动操作 [^3]。 - **清理归档日志**:进入 RMAN 工具窗口进行归档日志清理操作。可先运行 `crosscheck archivelog all` 命令把无效的 archivelog 标出来,然后直接全部删除过期的归档日志,使用 `delete expired archivelog all` 命令;或者使用指定日期来删除,例如 `delete noprompt archivelog until time "sysdate -3"` 。示例如下: ```plaintext --进入rman工具窗口 rman target / --运行这个命令可以把无效的的archivelog标出来 RMAN> crosscheck archivelog all; --直接全部删除过期的归档日志 RMAN> delete expired archivelog all; --或者直接用一个指定的日期来删除 RMAN> delete noprompt archivelog until time "sysdate -3"; ``` 这样可以释放一些系统资源,可能解决因归档日志过多导致的共享内存问题 [^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值