ORA-01012: not logged on

conn / as sysdba 报错ORA-01012: not logged on

(2010-12-01 15:52:54)

转载▼

标签:

转载

原文地址:conn / as sysdba 报错ORA-01012: not logged on作者:tooperw

发生原因:关闭数据库是shutdown 后面没有接关闭参数中的任何一个。

[nomal          --->所有连接都断开时才能关闭;

 transactional  --->等待事务结束后,主动断开连接;

 immediate      --->主动断开事务和连接

 abort          --->立刻关闭数据库,这个操作是危险的,不会同步数据,不触发检查点,回滚段直接清  空,相当于掉电,每次启动都要实例恢复。]

 

 

所以,数据库关闭很慢,这时我一心急,就直接退出了sqlplus,造成oracle文件被lock,当我再次startup时,操作失败,因为文件依然被锁定状态。报错ORA-01012: not logged on。

 

后来重启服务,就可以用了,看了oracle的报错解释,更让我费解。虽然问题解决了,但是生产环境是不能随便down机的,所以,这个问题待续。。。

 

源文档 <http://blog.sina.com.cn/s/blog_68c61d050100n62g.html>

 

 

 

ORA-01012: not logged on 解决办法

tomcat 服务器后台报:ORA-01012: not logged on 异常

问题原因:可能是应用程序有bug,没及时释放连接所导致。

解决办法:治本的办法是:修改processes值,或者禁止一些异常访问。

解决问题思路:

1、等数据库访问连接数下降用户再登录

2、sqlplus “/ as sysdba”登陆后

      shutdown abort 

3、ps -ef|grep ora_dbw0_$ORACLE_SID

     kill -9 pid

4、kill掉一些不重要的session

 5、sqlplus /nolog   

      conn /as sysdba

     startup

### 解决ORA-01012 错误并正确执行 `archive log list` 命令 当遇到 `ORA-01012: not logged on` 的错误提示时,这通常意味着当前会话未成功连接到数据库实例。为了有效解决问题并顺利执行 `archive log list` 命令,需遵循以下建议: 对于无法通过常规方式登录的情况,可以尝试使用操作系统认证的方式强制关闭实例后再启动[^3]。 ```bash sqlplus "/ as sysdba" shutdown abort; startup; ``` 上述操作能够终止所有活动进程,并重启数据库服务,从而恢复正常状态下的登录功能。 一旦成功以SYSDBA身份登录之后,就可以安全地运行 `archive log list` 来查看归档日志的信息了: ```sql ARCHIVE LOG LIST; ``` 此命令用于显示有关数据库归档模式的状态以及归档目的地等重要详情。如果之前因为权限不足或其他原因未能正常工作,则现在应该可以看到预期的结果。 #### 关于可能引起该问题的原因分析 有时即使是以 SYS 用户的身份也无法完成正常的查询动作,比如试图从视图 `v$log` 中获取数据却遇到了 `ORA-01034: ORACLE not available` 的情况[^2]。这类现象往往暗示着更深层次的问题存在——可能是由于实例尚未完全初始化或者是处于挂起状态下造成的。因此,在尝试任何诊断或修复措施前,请先确认目标环境中的Oracle实例确实已经稳定运行。 另外需要注意的是,如果系统中活跃的用户数量过多以至于超过了预设的最大并发量(`processes`)参数设定的话,也会导致新建立的连接请求被拒绝,进而引发类似的登录失败状况。针对这种情况,除了等待现有用户的减少外还可以考虑调整配置文件来增加允许的同时在线人数上限或是清理不必要的后台作业以释放资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值