网站首页 > 技术文章 正文
概述
之前在对某张表收集统计信息时报错ORA-20005:object statistics are locked(stattype=all),下面记录下报错的问题和怎么解决的过程,做个备忘!
问题
因为之前从11g R2里导出了几张表,然后导入到11g R2中,当时是导入成功的,然后前段时间要收集下这些表的信息,结果发现好几张表都没法收集,用DBMS_STATS包显示ORA-20005:object statistics are locked (stattype = ALL),用Analyze命令显示ORA-38029: 对象统计信息已锁定。
报错截图如下:
解决:
这里解决思路其实就是解锁,可以从两个层面去处理:
1、解锁Schema
DBMS_STATS.UNLOCK_schema_STATS(user);
2、解锁单个对象
1)先查出被锁定的表
select table_name from user_tab_statistics where stattype_locked is not null;
然后再解锁对象
exec dbms_stats.unlock_table_stats(user,'T_PX_ZG_PXNR');
2)也可直接生成sql脚本
select 'exec dbms_stats.unlock_table_stats('''||user||''','''||table_name||''');' from user_tab_statistics where stattype_locked is not null;
这里不在生成的sql中用动态的user是为了让执行者明确知道到底是解锁哪个schema下的表,防止误操作。
特别注意:
Oracle为什么会要锁定住统计信息?
一般而言,这是为了稳定执行计划,因为在Oracle 10g以上,Oracle默认会自动收集统计信息,要想锁住统计信息,请使用LOCK_SCHEMA_STATS、LOCK_TABLE_STATS包。
测试是否解决
重新分析表
BEGIN DBMS_STATS.GATHER_TABLE_STATS(OWNNAME => 'NWPP_TEST', TABNAME => 'T_PX_ZG_PXNR', ESTIMATE_PERCENT => 100, METHOD_OPT => 'for all columns size skewonly', CASCADE => TRUE); END; /
可以看到已经没有报错了。
后面会分享更多工作中常见的问题,感兴趣的朋友可以关注下!!
猜你喜欢
- 2024-10-16 oracle数据库得备份方式 oracle数据库三种备份方式
- 2024-10-16 SmartSQL一款方便快捷的数据库文档查询、导出工具
- 2024-10-16 从零开始学习Oracle之数据备份与还原
- 2024-10-16 Oracle11g中使用expdp导sys用户下的表时报错ORA-39166/ORA-31655
- 2024-10-16 Oracle SQLPlus导出数据到csv文件
- 2024-10-16 Oracle 转换成 MySQL oracle转mysql sql语句
- 2024-10-16 ORACLE 体系 - 14 oracle体系结构思维导图
- 2024-10-16 记一次生产数据库Oracle数据泵导出报ORA-31617错误的解决过程
- 2024-10-16 超级好用的数据库表结构导出工具 数据库导出表结构语句
- 2024-10-16 记Oracle中快速获取表及其各个字段注释的方法
你 发表评论:
欢迎- 最近发表
-
- 前端流行框架Vue3教程:13. 组件传递数据_Props
- 前端必看!10 个 Vue3 救命技巧,解决你 90% 的开发难题?
- JAVA和JavaScript到底是什么关系?是亲戚吗?
- Java和js有什么区别?(java和javascript的区别和联系)
- 东方标准|Web和Java的区别,如何选择这两个专业
- 前端面试题-JS 中如何实现大对象深度对比
- 360前端一面~面试题解析(360前端笔试)
- 加班秃头别慌!1 道 Vue 面试题,快速解锁大厂 offer 通关密码
- 焦虑深夜刷题!5 道高频 React 面试题,吃透 offer 稳了
- 2025Web前端面试题大全(整理版)面试题附答案详解,最全面详细
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端md5加密 (49)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- 前端懒加载 (45)
- 前端接口 (46)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle查询数据库 (45)
- oracle约束 (46)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- mac oracle (47)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)