ORA错误总结
ORA-12560 协议适配器错误
可能是以下原因:
1:服务没有开启(oracle的服务,oraclehome92TNSlistener)
2:数据库实例没有开启(oracleserviceORCL)
3:注册表中默认oracle_sid设置错误(oracle_id=ORCL)
更多:
http://apps.hi.baidu.com/share/detail/38149122
关于SQLNET.AUTHENTICATION_SERVICES
!!!!!!!ORA-28547:连接服务器失败,可能是Net8管理错误。
解决办法
1.在$\NetWork\Admin\sqlnet.ora中将
SQLNET.AUTHENTICATION_SERVICES= (NTS)改为
SQLNET.AUTHENTICATION_SERVICES= (NONE)
SQLNET.AUTHENTICATION_SERVICES= (NTS)解释:使用windows操作系统本地验证,一般不用,有安全问题。通常需要改成下面的值:
SQLNET.AUTHENTICATION_SERVICES= (NONE)
!!!!!!!在将SQLNET.AUTHENTICATION_SERVICES= (ALL)设置为ALL后,报错:
ORA-12641验证服务无法初始化 。
!!!!!!!将SQLNET.AUTHENTICATION_SERVICES= (ALL)改成
SQLNET.AUTHENTICATION_SERVICES= (NONE)后,报错:
使用scott登录normal登录成功
使用system登录sysdba提示错误。ORA-01031:权限不足
使用sys登录sysoper登录成功。
!!!!!!!最后又将SQLNET.AUTHENTICATION_SERVICES=(NTS)最开始那个错误居然不报了。绕了个圈圈问题就解决了。很莫名其妙。这一系列问题花了我2、3个小时都没搞明白,希望有碰到过类似问题并解决的分享经验!!
-------------------------------------
ORA-01453: SET TRANSACTION 必须是事务处理的第一个语句
造成原因:之前的事务没有结束。
比如insert或update后,没有commit!
- ORA-01453: SET TRANSACTION must be first statement of transaction
-
Cause: self-evident
-
Action: commit (or rollback) transaction, and re-execute
-------------------------------------
ORA-01456: 不能在 READ ONLY 事务处理中执行插入/删除/更新操作
> set transaction read only后,依旧可以进行读写事务。可能是由于登录用户是DBA造成的,我自己更新为scott登录就可以限制读写事务。具体原因不明。
--------------------------------------
ORA-08177: 无法连续访问此事务处理
可能原因是设置了事务隔离为串行隔离
set transaction isolation level serializable;这时候如果另外一个事务正在修改某数据,与串行隔离的事务有冲突就会报错。
事务read committed 与serialiazable隔离的分别:
参考:http://blog.csdn.net/wyzxg/archive/2009/11/20/4842769.aspx