今天运维在执行oracle脚本时,给我说有个错误
我看了一下,对应的代码是 dbms_stats.delete_table_stats(userName,tableName);
上网搜索了一下,是因为这张表的统计信息被锁了。
解决方案是:
- 用户的所有表解锁,DBMS_STATS.UNLOCK_schema_STATS('用户名');
- 单张表解锁,dbms_stats.unlock_table_stats('用户名','表名');
经过测试2个语句都是有效的,
执行时,放在begin end中;
begin
dbms_stats.unlock_table_stats(user,'LC_NODE');
end;
因为在工作中,不知道这个锁是不是别的业务或者流程需要的,所以不能在代码中直接添加解锁的步骤。
先手工执行解锁步骤,让运维测试,是否自己的代码引起锁定,如果不是自己的代码导致的锁定,就不需要修改代码。
运维测试后,可以顺利执行,至此,问题解决