数据库重复导入大量数据,导致表中数据结构被破坏.
问题描述:
1. 查询被数据破坏表中的数据比较慢.(具体的数据库具体分析,我碰到的是1W多行的数据用了40S才查询出来);
2. 提交事务比较慢(大概2分钟提交一次事务,这个还算快的.有些更慢).
解决问题方法:
1. 查看用户锁表
select * from v$locked_object;
2. 查看事务
select * from v$transaction;
3. 查看dml操作
select * from dba_dml_locks;
4. 查看用户的SQL_HASH_VALUE(执行当前sql的高水位), PREV_HASH_VALUE(上次sql的高水位)
select SQL_HASH_VALUE, PREV_HASH_VALUE from v$session;
5. 查看这个高水位的SQL语句,并从sql中判断是那张表结构破坏了.
select SQL_TEXT from v$sql where HASH_VALUE = SQL_HASH_VALUE( or PREV_HASH_VALUE);
6. 登入有问题表的用户,找到有问题的表后,移出下表,具体操作:
alter table 表名 move;
alter index 索引名 rebuild;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/20948385/viewspace-607839/
,如需转载,请注明出处,否则将追究法律责任。