暂无图片
Oracle12c数据库,为什么有些表收集不了统计信息?报错如下,请帮看看
我来答
分享
刘晓华
2025-03-10
Oracle12c数据库,为什么有些表收集不了统计信息?报错如下,请帮看看
暂无图片 50M

我来答
添加附件
收藏
分享
问题补充
7条回答
默认
最新
朝印村的保安
2025-03-10

有锁,其他事物占用着,超过了等待时间限制就报错了,可以查询一下是那个会话是源头锁,kill掉源头锁再试试

暂无图片 评论
暂无图片 有用 1
打赏 0
暂无图片
刘晓华
题主
2025-03-10
知道有锁,但是却查不到有锁
朝印村的保安
答主
2025-03-10
查询当前收集统计信息的的会话信息,看看blocking_session,final_blocking_session列有没有值
2025-03-10

表收集统计信息那个被lock了,收集统计信息有个参数可以强制收集,忽略lock

暂无图片 评论
暂无图片 有用 1
打赏 0
范达宏
2025-03-10

这不提示都说清楚了么

暂无图片 评论
暂无图片 有用 0
打赏 0
zwtian
2025-03-10

应该对应的表上面有ddl操作吧。

暂无图片 评论
暂无图片 有用 0
打赏 0
virvle
2025-03-10

试下正在运行的是否包含了相关表,会引起锁的

1.正在运行的sql

SELECT s.sid, -- 会话ID s.serial#, -- 会话序列号 s.username, -- 登录用户名 s.status, -- 会话状态 s.machine, -- 客户端机器名 s.program, -- 客户端程序名 s.sql_id, -- 当前SQL的ID q.sql_text, -- 当前SQL的文本 s.prev_sql_id, -- 上一个SQL的ID pq.sql_text AS prev_sql_text -- 上一个SQL的文本 ,pq.sql_fulltext -- 上一个SQL的全文本 FROM v$session s LEFT JOIN v$sql q ON s.sql_id = q.sql_id LEFT JOIN v$sql pq ON s.prev_sql_id = pq.sql_id WHERE s.status = 'ACTIVE' -- 只查询活跃会话 AND s.type = 'USER'; -- 只查询用户会话
复制

2. 正在运行的事务

SELECT s.sid, -- 会话ID s.serial#, -- 会话序列号 s.username, -- 登录用户名 t.start_time, -- 事务开始时间 t.status, -- 事务状态 t.used_ublk, -- 使用的undo块数 t.used_urec, -- 使用的undo记录数 t.log_io, -- 逻辑I/O数 t.phy_io, -- 物理I/O数 t.cr_get, -- 一致性读次数 t.cr_change -- 一致性读更改次数 FROM v$session s JOIN v$transaction t ON s.taddr = t.addr WHERE s.status = 'ACTIVE'; -- 只查询活跃会话
复制
暂无图片 评论
暂无图片 有用 1
打赏 0
2025-03-10

desc dbms.stats然后找function是gather_table_stats这个,里面收集统计信息有个参数FORCE,你加上这个参数就可以跳过lock直接收集我遇到过这个

暂无图片 评论
暂无图片 有用 1
打赏 0
virvle
2025-03-12

来来来,查看大佬的文章,应该可以解你的问题
https://www.modb.pro/db/1899001058081386496?utm_source=index_ori

暂无图片 评论
暂无图片 有用 0
打赏 0
刘晓华
题主
2025-03-13
报错的代码不同,我昨天用force也不行
回答交流
Markdown


请输入正文
提交
相关推荐
zabbix现在可以直接监控Oracle吗?
回答 4
已采纳
可以的。官方文档:https://www.zabbix.com/integrations/oracle安装示例:https://www.modb.pro/db/62643
MySQL5.6如何隐藏系统自带的那4个库?
回答 1
test库不用可以删掉。informationschema默认的也没啥权限,不影响啥。只能看到跟这个用户相关的信息。
Oracle定时删除物理空间
回答 2
谢谢,我已经处理好了
Oracle的配置文件修改,提前复制后,直接放入当前的目录,会影响Oracle的运行吗?
回答 1
不会的,这些都是静态文件
咨询个事情,RAC数据库环境,某个节点执行了数据泵导出操作,导致该节点磁盘空间满了,这时会出现类似归档日志满了导致数据库宕机嘛? 还是只会影响单个节点数据库运行状态?
回答 3
不一定,你得看是什么空间满了?导出路径所在挂载点在哪?是根、/oracle、/tmp还是什么路径,所导致的影响就会不同
Oracle建了一个用户,有自己的默认表空间,为什么用这个用户执行insert into的时候, 会提示没有users表空间的权限?
回答 2
已采纳
有默认表空间但是没有权限写吧。这需要看你都给什么权限了。一般用户给如下权限:grantconnect,resourcetoodsr;grantcreateviewtoodsr;grantcreates
Oracle中怎么写一个正则表达查出某个字段包含中文的值?
回答 1
已采纳
字符集字数Unicode编码基本汉字20902字4E009FA5基本汉字补充90字9FA69FFF扩展A6592字34004DBF扩展B42720字200002A6DF扩展C4153字2A7002B7
oracle中dual表是什么?
回答 7
已采纳
1:DUAL表是Oracle提供的最小的工作表,是sys用户下的一张内部表,所有用户都可以使用DUAL名称访问,无论什么时候这个表总是存在。2:DUAL表是一个单行单列的虚拟表,这个表只有1列DUMM
Oracle:一套2节点的rac需要迁移到4节点rac,迁移后,需要把ogg从原库也迁移到新库,两端目录,数据库名,用户全部一致,只是节点数不一致
回答 1
已采纳
如果只有replicat,解压理论上可以。如果有抽取extract,如果迁移使用rman,由于最终会resetlogs,redolog会被重置,如果是integrated模式,则可以继续抽取,无需干预
ORACLE 改LOB字段为NOLOGGING写语句报错
回答 6
已采纳
最简单的altertableXXX.tbqsdzpmodifyLOB(CONTENT) (NOCACHE NOLOGGING);