当前位置:网站首页>Database exception resolution caused by large table delete data deletion
Database exception resolution caused by large table delete data deletion
2022-07-07 15:18:00 【1024 questions】
One 、 Problem description
Two 、 Check the database
3、 ... and 、 Put forward a plan
Four 、 Execution process
One 、 Problem descriptionI was on my way to work this morning , Customers in the group say , There is a 24G The big table of ,delete Deleted 26 I haven't run for hours , At present, the process is still running. Let me help you deal with it , Stop the current process , And keep the data corresponding to the conditions , Delete the redundant data .
Two 、 Check the database1. Not open for filing
2.UNDO The table space is full
3、 ... and 、 Put forward a plan1. After communication , This table is the test data table , Not currently in use ;
So I plan to rename This table , adopt ctas The way to get the data you need , Rebuild indexes and related constraints .
2. There is a problem :delete The process has been executed 26 Hours , If kill process , Must lead to undo Roll back , Rolling back enables parallelism by default, resulting in high database and system load , So we need to deal with it in advance , Set parameters _fast_start_parallel_rollback_ Turn off the UNDO parallel .
-- View rollback parameter settings , Whether it is the default parallelism SQL> show parameter fast_start_parallel_rollbackNAME TYPE VALUE------------------------------------ ----------- ------------------------------fast_start_parallel_rollback string LOW--LOW representative Turn on CPU*2 parallel -- Set up spfile Cancel parallel SQL> alter system set fast_start_parallel_rollback=false;System altered.
Four 、 Execution process 1. Backup retention Table creation statement .
2. Record current invalid object .
SELECT d.OWNER ,d.OBJECT_NAME ,d.OBJECT_TYPE ,d.statusFROM dba_objects dWHERE d.status = 'INVALID' AND d.owner = '**';
3. see delete process pid, The system level kill fall .
-- Inquire about SID, SERIAL#select s.SQL_TEXT, se.SID, se.SERIAL# from v$session se, v$sql s where s.sql_id = se.SQL_ID and username = '**' and status = 'ACTIVE' and s.SQL_TEXT like '%delete * from *****%';-- Database level kill process alter system kill session '2953,31083';
Report errors
ERROR at line 1:
ORA-00031: session marked for kill
-- The system level kill process
select spid, osuser, s.program
from v$session s,v$process p
where s.paddr=p.addr and s.sid=2953;
kill -9 105257
4. Observe undo Rollback condition
-- View the waiting Events select inst_id,event,count(*) from gv$session a where a.status='ACTIVE' and not (a.type = 'BACKGROUND' and a.state='WAITING' and a.wait_class='Idle') group by inst_id,event order by a.inst_id,count(*) desc;---------------------------------------------------1wait for a undo record611resmgr:cpu quantum291enq: RO - fast object reuse221enq: CR - block range reuse ckpt201free buffer waits17-- View the current data rollback alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';select usn, state, undoblockstotal "Total", undoblocksdone "Done", undoblockstotal - undoblocksdone "ToDo", decode(cputime, 0, 'unknown', sysdate + (((undoblockstotal - undoblocksdone) / (undoblocksdone / cputime)) / 86400)) "Estimated time to complete" from v$fast_start_transactions where state = 'RECOVERING';---------------------------------------------------83RECOVERING9026713455902625826-4 month -21
5. Look at the system load ,IO load , Memory usage
6. Wait for rollback to complete , For a long time .
7. After successful rollback ,rename The original table .
rename table to table_20210410;
8.CTAS Get the required data to a new table ( The original table name ) in .
create table USER.TABLEnologging parallel 8tablespace TBSas select /*+parallel(TABLE,'8')*/ * from USER.TABLE_20210410where *** like '******%';-- Cancel parallel alter table USER.TABLE noparallel;-- Turn on loggingalter table USER.TABLE logging;
9.rename Indexes , And rebuild the index .
alter index USER.INDEX1 rename to INDEX1_20210410;-- Rebuild index create index USER.INDEX1 on USER.TABLE (***) tablespace TBS parallel 8;-- Cancel parallel alter index USER.INDEX1 noparallel;
10. Create constraints , to grant authorization .
11. Match invalid object , Is the data consistent
12.drop fall rename Table of .
drop table USER.TABLE_20210410 cascade;
The above is the big watch delete Details of database exception resolution caused by deleting data , More about delete Please pay attention to other relevant articles of software development network for information about abnormal deletion of data database !
边栏推荐
- 智汀不用Home Assistant让小米智能家居接入HomeKit
- [data mining] visual pattern mining: hog feature + cosine similarity /k-means clustering
- Ctfshow, information collection: web14
- Briefly describe the working principle of kept
- 连接ftp服务器教程
- Unity之ASE实现卡通火焰
- Integer learning
- Promoted to P8 successfully in the first half of the year, and bought a villa!
- Ctfshow, information collection: web13
- Stm32cubemx, 68 sets of components, following 10 open source protocols
猜你喜欢
简述keepalived工作原理
HW初级流量监控,到底该怎么做
Niuke real problem programming - Day9
CTFshow,信息搜集:web7
Deformable convolutional dense network for enhancing compressed video quality
时空可变形卷积用于压缩视频质量增强(STDF)
居然从408改考自命题!211华北电力大学(北京)
Infinite innovation in cloud "vision" | the 2022 Alibaba cloud live summit was officially launched
JSON parsing instance (QT including source code)
CTFshow,信息搜集:web12
随机推荐
暑期安全很重要!应急安全教育走进幼儿园
什么是数据泄露
What are the safest securities trading apps
Xiaomi's path of chip self-development
Niuke real problem programming - Day12
Cocoscreator resource encryption and decryption
Notes HCIA
拜拜了,大厂!今天我就要去厂里
智汀不用Home Assistant让小米智能家居接入HomeKit
Ffmpeg --- image processing
如何在opensea批量发布NFT(Rinkeby测试网)
【OBS】RTMPSockBuf_ Fill, remote host closed connection.
Comparable and comparator of sorting
[make a boat diary] [shapr3d STL format to gcode]
word中删除一整页
What is the process of ⼀ objects from loading into JVM to being cleared by GC?
Niuke real problem programming - day15
What is data leakage
CTFshow,信息搜集:web2
【搞船日记】【Shapr3D的STL格式转Gcode】