Oracle 10g常见错误及解决办法

错误一、ORA-00942: table or view does not exist

此时需要查看连接数据库接口使用的的用户名下是否存在操作的数据表,以及该用户对该数据表操作的权限。

show user

查看当前是以哪个用户登录的

conn / as sysdba 以SYS用户登录进数据库

此时可以退出以数据库连接的用户名登陆。

 

select owner,table_name from all_tables where table_name='BOOKS';

查看OWNER字段是谁 也就是这个表的所有者

 

假设所有者为yuandan

则进行如下查询

select * from yuandan.books

输出这个,这是不是说不存在books表?

 

错误二、ORA-32104

此为OCCI接口Environment::createEnvironment(Environment::DEFAULT)错误代码:需要设置ORACLE_HOME

 

错误三、ORA-12541

ORA-12541: TNS: 无监听程序,listener监听服务没有开启

在服务器端机器:

    1.保证listener已经启动

    2.保证数据库已经启动。

   如果数据库没有启动,用:

         Oracle 9i:

              dos>sqlplus “/ as sysdba”

              sqlplus> startup

       命令启动数据库

 

      如果listener没有启动,用:

      lsnrctl start [listener name]

      lsnrctl status [listener name]

      命令启动listener

 

【总结】:

oracle数据库服务器安装或重启后,应该先设置ORACLE_BASE ,ORACLE_HOME ,RACLE_SID和LD_LIBRARY_PATH 环境变量。然后startup数据库,最后执行下面命令,可以消除以上错误。

 

$ ORACLE_BASE=/u01/app/oracle

$ ORACLE_HOME=/u01/app/oracle/oracle/product/10.2.0/db_1

$ export ORACLE_BASE ORACLE_HOME

$ export ORACLE_SID=gtpDB

$ export LD_LIBRARY_PATH=/u01/app/oracle/oracle/product/10.2.0/db_1/lib

 

$ emctl start dbconsole   #启动 Oracle Enterprise Manager 数据库控制

$ isqlplusctl start       #启动和停止 iSQL*Plus

$ lsnrctl start           #启动监听器, 监听器接受客户端的连接请求

 

 

错误四、ORA-01013: user requested cancel of current operation

数据库连接正常,但执行select、update、insert等语句操作时程序会暂停,按下ctrl-c终止程序时就会出现这个错误,此时要退出数据库sqlplus连接端的用户。

 

即程序中使用数据库连接时

m_env->createConnection(“user”,“pass”,m_szDbName)

 

使用的这个用户如果同时又用了sqlplus连接到Oracle,就会出现如上错误。

sqlplus端退出该用户登陆

SQL > exit;

 

此时再运行程序则不会出现上面的错误。

 

也有可能是表被锁住了,将表解锁就行了

--锁表查询SQL SELECT object_name, machine, s.sid, s.serial#
FROM gv$locked_object l, dba_objects o, gv$session s
WHERE l.object_id = o.object_id
AND l.session_id = s.sid;
找到被锁定的表,解锁
复制代码 代码如下:--释放SESSION SQL:
--alter system kill session 'sid, serial#';

转载于:https://my.oschina.net/u/2822116/blog/826943

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值