同事近期碰到的一个问题, 关于同义词invalid状态 在database read only 模式下不能被select 的问题。 发现是因为修改某些结构导致同义词处于invalid 状态,  但是数据库又被开启为read only 了,  9i及以后的版本虽然在调用或运行invalid object 的时候可以自动compile 为 invalid ,   但是由于库是read only 的 , 将同义词之类的object 编译为invalid 需要更新数据字典表 ,  read only 不能更新 。 导致报错。

以下是过程:

----------------------------------------------

开启为read only状态,查询普通表R_FEEDER_ID_T时报错(不管下什么条件都报错,甚至select 1 from R_FEEDER_ID_T也不行 )

ORA-00604: 递归SQL级别1出现错误

ORA-16000: 打开数据库以进行只读访问

使用trace 跟踪:

alter session set events '10046 trace name context forever, level 8';

alter session set events '10046 trace name context off';

打开trace file 发现有两条update 及 alter table xxxx compile 语句:

=====================

PARSING IN CURSOR #8 len=78 dep=2 uid=0 ct=6 lid=0 tim=1276370678014051 hv=1963305302 ad='656a14b8'

update dependency$ set p_timestamp=:1, p_obj#=:2 where d_obj#=:3 and p_obj#=:4

END OF STMT

PARSE #8:c=0,e=15,p=0,cr=0,cu=0,mis=0,r=0,dep=2,og=4,tim=1276370678014046

EXEC #7:c=0,e=2811,p=0,cr=0,cu=0,mis=1,r=0,dep=2,og=4,tim=1276370678016944

FETCH #7:c=0,e=53,p=0,cr=3,cu=0,mis=0,r=0,dep=2,og=4,tim=1276370678017055

EXEC #11:c=0,e=4561,p=0,cr=3,cu=0,mis=0,r=0,dep=1,og=1,tim=1276370678017163

=====================

PARSING IN CURSOR #1 len=54 dep=1 uid=0 ct=6 lid=0 tim=1276370678017644 hv=3946387688 ad='656886f8'

update syn$ set node=:2,owner=:3,name=:4 where obj#=:1

END OF STMT

PARSE #1:c=0,e=398,p=0,cr=0,cu=0,mis=1,r=0,dep=1,og=4,tim=1276370678017639

EXEC #1:c=0,e=851,p=0,cr=2,cu=2,mis=1,r=0,dep=1,og=4,tim=1276370678018595

ERROR #1:err=16000 tim=1741938016

=====================

看起来dependency$ ,syn$应该是和依赖性、同义词有关

查询同义词发现是invalid 状态, 将数据库重启,开成read write模式,查询一下这几个同义词失效的表,再看同义词的状态已经变成valid了 。 再次将数据库关掉,开启成read only模式,这时再查之前有问题的表,已经正常了 。

oracle select ora-16000,ORA-00604, ORA-16000: 打开数据库以进行只读访问相关推荐

  1. oracle ora 604,ORA-01092:ORACLE实例终止,强制断开连接 ORA 00704 00604 00942

    天萃荷净 有网友咨询数据库启动报 ora-01092:ORACLE 实例终止.强制断开连接 数据库版本 Trace file d:\app\administrator\diag\rdbms\orcl\ ...

  2. oracle批量插入报错,[数据库]Mybatis 批量插入数据 关于Oracle 批量插入报错:ORA

    [数据库]Mybatis 批量插入数据 关于Oracle 批量插入报错:ORA 0 2020-08-19 08:00:06 Mybatis 批量插入数据 关于Oracle 批量插入报错:ORA-009 ...

  3. oracle11g ora 29927,【案例】Oracle内存泄漏 进行10046跟踪分析07445导致数据库宕机

    天萃荷净 在一次ORA-7445导致oracle数据库down掉故障分析中,发现sql因某种原因导致大量的sql area中很多内存泄露,最终导致数据库down掉.通过实验找出类此奇怪SQL. SEL ...

  4. oracle select 行数据_【赵强老师】什么是Oracle的数据字典?

    欢迎关注赵强老师微信公众号:myitshare 数据字典是oracle存放有关数据库信息的地方,几乎所有的系统信息和对象信息都可在数据字典中进行查询.数据字典是oracle数据库系统的信息核心,它是一 ...

  5. Oracle select表要带双引号的原因

    目录 一.问题描述 二.解决方法 一.问题描述 Oracle select 语句查询表时,有时需要带上双引号""才能查询出来. 二.解决方法 原因是该表创建时就带上了双引号: se ...

  6. oracle select执行顺序,oracle select执行顺序的详解

    oracle select执行顺序的详解 SQL Select语句完整的执行顺序:1.from子句组装来自不同数据源的数据: 2.where子句基于指定的条件对记录行进行筛选: 3.group by子 ...

  7. oracle使用打开数据库文件,Oracle技术网—某个数据文件损坏,如何打开数据库

    模拟现象: create tablespace test datafile 'c:\test.ora' size 5M AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED ...

  8. 数据库oracle文件怎么打开,Oracle某个数据文件损坏,如何打开数据库-数据库专栏,ORACLE...

    某个数据文件损坏,如何打开数据库? 系统环境: 1.操作系统:windows 2000 server,机器内存128m 2.数据库: oracle 8i r2 (8.1.6) for nt 企业版 3 ...

  9. Oracle基础知识之synonym(同义词)、database link(数据库链接)、数据完整性

    Oracle基础知识之同义词.数据库链接.数据完整性 一.同义词 (一)概念 (二)分类 1.私有同义词 2.公共同义词 3.远程同义词 (三)作用 二.数据库链接 (一)概念 (二)分类 1.私有数 ...

最新文章

  1. python适合做后端开发吗-pythonWeb后端开发好呢?还是从事网络爬虫比较好呢?
  2. 沪江基于容器编排的Dev/Ops流程
  3. 关于Dalvik虚拟机你需要知道的15个问题
  4. matlab 加入高频噪声_Wavelet Integrated CNNs提高图像分类的噪声鲁棒性
  5. Like Sunday, Like Rain - JavaScript运算符优先级
  6. rust游戏亮度怎么调亮点_之前用Rust写的扫雷小游戏
  7. 优麒麟系统安装MySQL_优麒麟系统安装教程-电脑系统安装手册
  8. 使用kubeasz自动化部署K8s
  9. 工作那些事(二十八)项目管理模式:项目型、职能型、矩阵型
  10. 2017第九届广州国际园林机械与园艺工具展会刊(参展商名录)
  11. UCI on PUSCH
  12. hapi.js入门系列(二)——路由
  13. 算法实现自动扫雷游戏
  14. Windows网络活跃点决定使用的优先权
  15. java 实例 按CGPA大小排列名字
  16. SQL Server - 数据库(创建,修改管理-删除)-T-SQL 语句
  17. 计算机专业实践体会,计算机专业毕业实习心得体会
  18. 部署MooseFS分布式文件系统
  19. 深度学习试题_初学者入门宝典-机器学习入门资料汇总及学习建议(2018版)
  20. 下载资料,站点汇总,别只知道去百度文库,既能找到好文档,还能获取收益

热门文章

  1. ubuntu共享文件夹不显示及设备空间不足解决[随手笔记]
  2. 【verilog】 FPGA倒计时器设计
  3. 用AdGuard Home搭建一个内部的DNS服务器,开启局域网内无广告和追踪的浏览体验
  4. 判断串口通信是否正常c语言,串口通信测试方法
  5. netbackup服务linux,命令行方式管理NETBACKUP
  6. c#和java部署pytorch同事识别两个图片_身份证OCR识别移动端amp;服务器
  7. C语言 弹小球 小游戏(控制台)
  8. js打印三角形超详解
  9. matlab毕业设计工作日志通用,毕业论文日志100篇通用_毕业论文日志100篇_万能工作日志100篇...
  10. laravel-pay支付接入流程