ORA-27101: shared memory realm does not exist 错误的处理

本文介绍了解决Oracle数据库启动时出现的ORA-01034、ORA-27101及ORA-12640等错误的方法。通过修改sqlnet.ora配置文件和使用正确的启动命令可以有效解决问题。

首先看一下 ORACLE_BASE/ORACLE_HOME/DATABASE 下面的 ORADIM.LOG 文件
  如果里边有这个错误
  ORA-12640: 验证适配器初始化失败
  那么问题就是他了.
  到ORACLE_BASE/ORACLE_HOME/NETWORK/ADMIN下面找sqlnet.ora文件
  把sqlnet.authentication_services=(NTS) 改成
  sqlnet.authentication_services=(NONE)
  然后手动重起一下你的哪个数据库服务..在开始->控制面板->管理工具->服务里然后把这个服务的启动帐号改成你的帐号吧...其实不改大概也没有毛病.我就没改。。

看了这个方法,出错的原因大概有两种情况,修改了帐户,实例有些变动等。

说明:以上内容为引用.

附言:

就在今天我的8I数据库也出现了错误:“ORA-01034 - Oracle not available”和“ORA-27101 - shared memory realm does not exist”。然后在网上搜到了如上的内容,并按其中所说的把问题解决了。很高兴!

要补充的一点是我的ORADIM.LOG 文件在目录orant/database下,而文件sqlnet.ora在目录orant/network/ADMIN

下。我的数据库发生这个问题的可能原因是:非正常关闭数据库(在没有关闭数据库的情况下直接关机)。

关于这个问题ITPUB上有如下说法:(但我没测试过)

1、实例没有启动

sqlplus /nolog
connect / as sysdba
startup

2、最近遇到一次,杀毒软件把ORACLE杀DOWN了,
ORACLE没有报错.

startup 就可以了 .

3、执行如下语句启动数据库
sqlplus /nolog
connect / as sysdba
startup force

cmd中因为不能执行sqlplus,则采用窗口执行方式sqlplusw

基本上用LS的就可以!

sqlplusw /nolog
connect / as sysdba
startup force

另还搜到一高手有关这个问题的记录(虽然我没测试但我相信他说的是可行的,并且他里面所谈到的“异常关机”与我上面所说的原因“非正常关闭数据库(在没有关闭数据库的情况下直接关机)”是相通的):

昨天夜里写程式,忙到12点多。一朋友说他数据库有问题,就用joinnet连过去检查。发现是ORA-27101.先将操作步骤整理出来供大家参考。

1。首先检查oracle/admin/sid/bdump/下的alert.log发现没有最后一次数据库的启动相关信息。也就是说电脑可能有异常关机过

2。进入cmd模式,sqlplus /nolog,connect / as sysdba,执行startup,还是27101错误。初步判定为init.ora文件有异常,copy之前的init.ora文件覆盖。

3。进入cmd模式,sqlplus /nolog,connect / as sysdba,执行startup pfile=c:/oracle/admin/sid/pfile/init.ora,启动成功。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ORA-28056:Writing audit records to Windows EventLog failed的问题
 
安装 Oracle的时候提示ORA-28056:Writing audit records to Windows EventLog failed
 
connect / sysdba的时候提示 ORA-28056:Writing audit records to Windows EventLog failed
  www.2cto.com  
解决办法:
 
右键“我的电脑”--‘管理’--事件查看器--点击左边的日志
(应用程序日志、安全日志、系统日志),
 
右击某个项目,选择‘清除所有事件'即可删除。
以下是一些可能解决重启服务后仍出现 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、付费专栏及课程。

余额充值