网站首页 > 数据库 / 正文
概述
分享一个最近碰到的奇怪现象,数据库版本为11.2.0.1,插入数据提示表不存在但却能查到这个表,而且这个表所属用户就是他自己。
奇怪现象
这张表是真实存在的表,右键查看是可以看到表定义的。可以看到查询是可以查到结果的,但是插入表却提示表不存在。
插入语句:
INSERT INTO xxx ( ...) VALUES (...);
1、考虑权限问题
一开始以为是权限问题,所以试了下授权:
授权后还是不行
2、考虑同义词
看下会不会是其他表的同义词,
很明显这张表就是他自己。
3、查看对象
select OWNER,OBJECT_NAME,OBJECT_TYPE from dba_objects where OBJECT_NAME='S_EQUIPMENT';
4、用sys用户执行插入动作
直接用sys用户插入这张表:
5、加双引号看看
Oracle数据库对大小写敏感,创建新表时Oracle会自动将表名转换为大写。这样就使得查询存在小写字段表名的表时会默认查询全为大写的表,加双引号看下。
6、物化视图日志?
最后放弃了,准备备份表重命名,然后发现有物化视图日志,误打误撞删了表上的物化视图日志后就可以了,也可以正常调度了。
drop materialized view log on XX;
问题来了,为什么物化视图日志会影响数据的插入?觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~
Tags:oracle insert into
猜你喜欢
- 2024-11-26 Oracle中JDBC处理PreparedStatement处理Char问题浅析
- 2024-11-26 基于Percona XtraBackup 实现全备&增量备份与恢复
- 2024-11-26 ORACLE 错误代码及解决办法
- 2024-11-26 了解 Oracle 中单引号与双引号的用法,一篇文章教会你!
- 2024-11-26 WINCC保存数据到Oracle
- 2024-11-26 MyBatis 批量插入使用 foreach 循环插入的优化,使用分片多线程
- 2024-11-26 oracle: PLSQL概念,关系运算符,顺序结构,分支结构,循环结构
- 2024-11-26 一个空格引发的“惨案“
- 2024-11-26 mybatis+oracle实现批量添加
- 2024-11-26 详解mysql数据库另类实现merge into语法的两种方式