自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

記一次生產(chǎn)數(shù)據(jù)庫優(yōu)化--定期歸檔大表

運維 數(shù)據(jù)庫運維
最近系統(tǒng)總是卡頓,因為老系統(tǒng),也看不到代碼,所以只能從數(shù)據(jù)庫層面去分析了,下面記錄下問題排查過程。

最近系統(tǒng)總是卡頓,因為老系統(tǒng),也看不到代碼,所以只能從數(shù)據(jù)庫層面去分析了,下面記錄下問題排查過程。

記一次生產(chǎn)數(shù)據(jù)庫優(yōu)化--定期歸檔大表

1. 查看超過10s的sql

  1. SELECT 'kill -9 '||p.spid,/*p.spid,p.pid,*/s.sid,s.username,s.machine,s.sql_hash_value,s.last_call_et 秒,s.last_call_et/ 60 運行時間,s.client_info,p.program "OSProgram", 
  2. 'alter system kill session ''' ||s.SID||','||s.SERIAL#|| ''';' 
  3. FROM v$session s, v$process p 
  4. WHERE (s.status = 'ACTIVE' ) AND ((s.username IS NOT NULL) 
  5. AND (NVL (s.osuser, 'x') <> 'SYSTEM') AND (s.TYPE <> 'BACKGROUND')) AND (p.addr(+) = s.paddr) 
  6. --and s.username in ('CRMDB')  
  7. and s.last_call_et > 10 
  8. /*and s.sql_hash_value=880766746*/ 
  9. ORDER BY s.last_call_et/60 desc,"USERNAME" ASC , ownerid, "USERNAME" ASC; 

記一次生產(chǎn)數(shù)據(jù)庫優(yōu)化--定期歸檔大表

2. 獲取具體sql

  1. select sql_id from v$session where sid=1016 
  2. --ats0x10k9m619 
  3. select listagg(sql_text,' ') within group (order by piece) 
  4.  from v$sqltext 
  5.  where sql_id = 'ats0x10k9m619' 
  6.  group by sql_id 

記一次生產(chǎn)數(shù)據(jù)庫優(yōu)化--定期歸檔大表

3. 問題sql

  1. select o.order_release_gid, o.order_release_gid 
  2.  from ORDER_RELEASE o, ORDER_RELEASE_TYPE ort 
  3.  where (o.order_release_type_gid = ort.order_release_type_gid) 
  4.  and (o.order_release_gid in 
  5.  (select ors2.order_release_gid 
  6.  from STATUS_VALUE sv2, ORDER_RELEASE_STATUS ors2 
  7.  where (sv2.status_value_xid in (:1, :2, :3)) 
  8.  and (ors2.status_value_gid = sv2.status_value_gid))) 
  9.  and (o.order_release_gid in 
  10.  (select ors1.ord er_release_gid 
  11.  from STATUS_VALUE sv1, ORDER_RELEASE_STATUS ors1 
  12.  where (sv1.status_value_xid = :4) 
  13.  and (ors1.status_value_gid = sv1.status_value_gid))) 
  14.  and (ort.order_release_type_xid in (:5)) 
  15.  order by o.insert_date desc 

4. 獲取sql詳細信息

  1. SQL> @/home/oracle/sql/spoolsql.sql 

注:兩個sqlid其實都是同一條sql。

記一次生產(chǎn)數(shù)據(jù)庫優(yōu)化--定期歸檔大表

結果如下:

記一次生產(chǎn)數(shù)據(jù)庫優(yōu)化--定期歸檔大表

記一次生產(chǎn)數(shù)據(jù)庫優(yōu)化--定期歸檔大表

5. 執(zhí)行計劃

執(zhí)行計劃沒什么好入手的。

記一次生產(chǎn)數(shù)據(jù)庫優(yōu)化--定期歸檔大表

6. 各表數(shù)據(jù)量情況

觀察一下表的數(shù)據(jù)量,發(fā)現(xiàn)有一張表達到4千萬的數(shù)據(jù),而ORDER_RELEASE_STATUS表只是記錄訂單狀態(tài),業(yè)務確認是可以只保留2個月內數(shù)據(jù)

記一次生產(chǎn)數(shù)據(jù)庫優(yōu)化--定期歸檔大表

7. 大表索引情況

檢查下索引情況:

  1. select SEGMENT_NAME, BYTES / 1024 / 1024 
  2.  from dba_segments 
  3.  where segment_name IN ('IX_ORS_STSVALGID', 'ORS_ORGID', 'IX_ORS_STSVGID', 
  4.  'PK_ORDER_RELEASE_STATUS'); 

記一次生產(chǎn)數(shù)據(jù)庫優(yōu)化--定期歸檔大表

記一次生產(chǎn)數(shù)據(jù)庫優(yōu)化--定期歸檔大表

8. 定期歸檔ORDER_RELEASE_STATUS大表

這張表一個月差不多600萬的數(shù)據(jù),最后跟業(yè)務確認只保留2個月數(shù)據(jù)

  1. --創(chuàng)建歸檔表 
  2. create table archive.ORDER_RELEASE_STATUS_DMP2 as select * from ORDER_RELEASE_STATUS where 1=2
  3. --創(chuàng)建存儲過程: 
  4. CREATE OR REPLACE PROCEDURE glogowner.p_archive_order_tables AS 
  5. BEGIN 
  6. ----轉移 ORDER_RELEASE_STATUS最近2個月數(shù)據(jù)到ORDER_RELEASE_STATUS_DMP2 
  7. insert into archive.ORDER_RELEASE_STATUS_DMP2 select * from ORDER_RELEASE_STATUS t where t.insert_date< trunc(sysdate-60);  
  8. DELETE FROM ORDER_RELEASE_STATUS t where t.insert_date< trunc(sysdate-60); 
  9. COMMIT; 
  10. EXCEPTION WHEN OTHERS THEN 
  11.  ROLLBACK; 
  12. END p_archive_order_tables; 

記一次生產(chǎn)數(shù)據(jù)庫優(yōu)化--定期歸檔大表

9. 設置定時任務

(1) 設置定時任務

  1. BEGIN 
  2.  dbms_scheduler.create_job(job_name => 'ARCHIVE_ORDER_TABLES', 
  3.  job_type => 'STORED_PROCEDURE', 
  4.  job_action => 'glogowner.p_archive_order_tables', 
  5.  start_date => to_date('13-08-2019 18:00:00', 'dd-mm-yyyy hh24:mi:ss'), 
  6.  repeat_interval => 'freq=daily;byday=SUN;byhour=00;byminute=30;bysecond=0', 
  7.  enabled => TRUE, 
  8.  comments => '每周日12點30分歸檔訂單發(fā)放表'); 
  9. end; 

記一次生產(chǎn)數(shù)據(jù)庫優(yōu)化--定期歸檔大表

(2) 查看定時job

  1. select owner, 
  2.  job_name, 
  3.  job_type, 
  4.  job_action, 
  5.  comments, 
  6.  enabled, 
  7.  to_char(last_start_date, 'yyyy-mm-dd hh24:mi:ss'), 
  8.  to_char(next_run_date, 'yyyy-mm-dd hh24:mi:ss') 
  9.  from dba_scheduler_jobs; 

記一次生產(chǎn)數(shù)據(jù)庫優(yōu)化--定期歸檔大表

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2019-11-18 13:42:55

MySQL數(shù)據(jù)庫遷移

2018-12-06 16:25:39

數(shù)據(jù)庫服務器線程池

2019-09-27 17:24:26

數(shù)據(jù)庫優(yōu)化sql

2019-11-22 08:05:01

數(shù)據(jù)庫mysql分區(qū)

2019-12-12 10:38:10

mysql數(shù)據(jù)庫nnodb

2019-12-16 07:18:42

數(shù)據(jù)庫SQL代碼

2019-07-25 08:30:58

數(shù)據(jù)庫服務器故障

2019-01-21 11:17:13

CPU優(yōu)化定位

2019-09-05 09:17:37

MySQL數(shù)據(jù)庫線程

2019-09-08 17:52:10

數(shù)據(jù)庫log file sy等待事件

2019-12-02 08:09:57

境數(shù)據(jù)庫連接超時自動回收

2021-03-01 06:14:50

環(huán)境高并發(fā)延遲

2018-07-18 15:37:24

數(shù)據(jù)庫DB2故障處理

2019-08-15 11:30:06

SQL數(shù)據(jù)庫ASH

2021-10-14 10:53:20

數(shù)據(jù)庫查詢超時

2020-11-03 07:34:12

Kafka后端工程師

2022-06-01 06:17:42

微服務Kafka

2020-09-25 07:57:42

生產(chǎn)事故系統(tǒng)

2021-01-12 07:57:36

MySQLBinlog故障處理

2019-12-27 10:43:48

磁盤數(shù)據(jù)庫死鎖
點贊
收藏

51CTO技術棧公眾號