错误1、ORA-00942: table or view does not existsql
此时须要查看链接数据库接口使用的的用户名下是否存在操做的数据表,以及该用户对该数据表操做的权限。数据库
show user服务器
查看当前是以哪一个用户登陆的session
conn / as sysdba 以SYS用户登陆进数据库oracle
此时能够退出以数据库链接的用户名登录。app
select owner,table_name from all_tables where table_name='BOOKS';接口
查看OWNER字段是谁 也就是这个表的全部者get
假设全部者为yuandanit
则进行以下查询io
select * from yuandan.books
输出这个,这是否是说不存在books表?
错误2、ORA-32104
此为OCCI接口Environment::createEnvironment(Environment::DEFAULT)错误代码:须要设置ORACLE_HOME
错误3、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 #启动监听器, 监听器接受客户端的链接请求
错误4、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#';