当前位置:网站首页>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 !
边栏推荐
- PAT 甲级 1103 Integer Factorizatio
- [机缘参悟-40]:方向、规则、选择、努力、公平、认知、能力、行动,读3GPP 6G白皮书的五层感悟
- What are PV and UV? pv、uv
- 简述keepalived工作原理
- Qu'est - ce qu'une violation de données
- How does the database perform dynamic custom sorting?
- Niuke real problem programming - day16
- Oracle控制文件丢失恢复归档模式方法
- Niuke real problem programming - Day11
- 2.Golang基础知识
猜你喜欢
随机推荐
Several ways of JS jump link
There is a cow, which gives birth to a heifer at the beginning of each year. Each heifer has a heifer at the beginning of each year since the fourth year. Please program how many cows are there in the
jacoco代码覆盖率
Ctfshow, information collection: web12
CTFshow,信息搜集:web6
MongoD管理数据库的方法介绍
Used by Jetson AgX Orin canfd
[deep learning] semantic segmentation experiment: UNET network /msrc2 dataset
摘抄的只言片语
写一篇万字长文《CAS自旋锁》送杰伦的新专辑登顶热榜
Summer safety is very important! Emergency safety education enters kindergarten
Discussion on CPU and chiplet Technology
[Data Mining] Visual Pattern Mining: Hog Feature + cosinus Similarity / K - means Clustering
“百度杯”CTF比赛 2017 二月场,Web:include
FFmpeg----图片处理
Excerpted words
Oracle控制文件丢失恢复归档模式方法
buffer overflow protection
[understanding of opportunity -40]: direction, rules, choice, effort, fairness, cognition, ability, action, read the five layers of perception of 3GPP 6G white paper
Delete a whole page in word