oracle上执行一条alter 加一个字段,设置的有默认值,执行了一下,跑的太慢,就取消了,紧接着把默认值去掉,又执行了。 接下来,logminer就跑不出数据了,流量时有时无的,有也就个位数的条数。怎么解决?
楼主你好,在Oracle数据库中,ALTER TABLE
语句执行时会对表进行锁定,并且可能会阻塞其他事务的执行。如果执行时间过长,可以考虑取消ALTER TABLE
语句的执行,但是需要注意取消前后的数据一致性问题。
根据您的描述,取消ALTER TABLE
语句的执行后,又执行了另一个ALTER TABLE
语句,并且修改了字段的默认值,之后LogMiner
就无法正常工作了,可能是由于取消ALTER TABLE
语句的执行导致数据库出现了一些异常,导致LogMiner
无法正常读取日志信息。
为了解决该问题,可以尝试以下方法:
检查LogMiner
相关的配置信息,确保配置正确。例如,检查DBMS_LOGMNR.START_LOGMNR()
语句中的参数是否正确,以及V$LOGMNR_CONTENTS
视图是否正常。
检查数据库的相关日志信息,例如alert.log
和trace
文件等,查看是否有异常信息。
如果无法解决问题,可以尝试重启数据库,重新启动LogMiner
进程,重新执行ALTER TABLE
语句,并确保语句执行成功。
需要注意的是,在执行ALTER TABLE
语句时,应尽量避免对表进行过长时间的锁定,以及在高并发环境下执行该语句可能会对其他事务产生影响。建议在执行该语句时,先进行备份,并在非高峰期执行,以避免出现问题。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。