久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

Oracle數(shù)據(jù)庫丟失表排查思路實戰(zhàn)記錄

瀏覽:253日期:2023-03-12 15:25:00
目錄
  • 說明:
  • 寫在最后:
  • 總結

說明:

由于系統(tǒng)采用ID取模分表法進行Oracle數(shù)據(jù)存儲,某日發(fā)現(xiàn)Oracle數(shù)據(jù)庫中缺少對應的幾張業(yè)務數(shù)據(jù)表,遂進行相關問題查詢,簡單記錄一下排查思路;

  • 由于我們代碼中實現(xiàn)思路是判斷如果沒有對應的表會自動創(chuàng)建,所以首先需要查詢一下缺失數(shù)據(jù)庫表的創(chuàng)建時間
SELECT * FROM dba_objects where OBJECT_NAME LIKE "LOG_5%" AND owner = "Geoff";
  • 通過查詢Oracle執(zhí)行SQL歷史記錄,數(shù)據(jù)庫表的刪除時間段
select * from v$sqlarea b   where b.FIRST_LOAD_TIME between "2022-05-31/21:30:00" and"2022-05-31/23:30:00"`     order by b.FIRST_LOAD_TIME;
  • 通過上述SQL還是無法查詢具體表的刪除時間,故查詢當前用戶的數(shù)據(jù)庫回收站
SELECT * FROM recyclebin_temp WHERE TYPE = "TABLE" ORDER BY droptime DESC;
  • 通過回收站查詢到相應的已刪除數(shù)據(jù)庫表,并將數(shù)據(jù)庫已刪除表恢復至刪除前,包含表中數(shù)據(jù)
flashback TABLE LOG_505 to before drop RENAME to LOG_505_temp ;
  • 因為數(shù)據(jù)恢復時,系統(tǒng)已新建數(shù)據(jù)庫表并產(chǎn)生數(shù)據(jù),所以需要將新老數(shù)據(jù)都恢復到數(shù)據(jù)庫表中
--查詢當前數(shù)據(jù)庫表中的最大IDSELECT ID FROM WORK_DUTY_LOG_505_temp ORDER BY ID DESC;--修改序列步長至最大IDALTER sequence SEQ_WORK_DUTY_LOG_505 INCREMENT BY 3538;SELECT SEQ_WORK_DUTY_LOG_505.nextval FROM dual;--恢復序列步長為默認值1ALTER sequence SEQ_WORK_DUTY_LOG_505 INCREMENT BY 1;--創(chuàng)建觸發(fā)器,并將表中數(shù)據(jù)手動插入到從回收站恢復的臨時表中CREATE OR REPLACE TRIGGER T_WORK_DUTY_LOG_505 BEFORE INSERT ON WORK_DUTY_LOG_505_temp REFERENCING OLD AS "OLD" NEW AS "NEW" FOR EACH ROW begin select SEQ_WORK_DUTY_LOG_505.Nextval into:new.ID from dual;  --base_login_user_id序列名稱  --ID給ID裝上序列end;--刪除觸發(fā)器DROP TRIGGER T_WORK_DUTY_LOG_505;--將臨時表中整合完成的數(shù)據(jù)恢復至原數(shù)據(jù)庫表中INSERT INTO  WORK_DUTY_LOG_505 SELECT * FROM WORK_DUTY_LOG_505_temp--查詢確認SELECT * FROM WORK_DUTY_LOG_505 ORDER BY ID DESC;

寫在最后:

通過后續(xù)排查,發(fā)現(xiàn)可能是因為代碼中判斷相關代碼查詢結果有誤,導致相關表被誤刪除,暫時通過注釋下方刪除表結構代碼避免問題復發(fā),相關原因后續(xù)繼續(xù)排查

總結

到此這篇關于Oracle數(shù)據(jù)庫丟失表排查思路的文章就介紹到這了,更多相關Oracle丟失表排查內容請搜索以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持!

標簽: Oracle
主站蜘蛛池模板: 广南县| 宣威市| 岱山县| 博野县| 滨海县| 衢州市| 德兴市| 井陉县| 曲阜市| 综艺| 门源| 天柱县| 阿克陶县| 永胜县| 南阳市| 宜都市| 鄂托克前旗| 江津市| 鄂伦春自治旗| 嫩江县| 通州市| 凭祥市| 滦平县| 万安县| 焉耆| 晋宁县| 沛县| 浑源县| 温泉县| 武平县| 兴义市| 新兴县| 罗江县| 资源县| 揭东县| 营山县| 平山县| 阳江市| 鄂州市| 女性| 唐河县|