最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2022年06月09日 10:13:55   作者:昊狼  
相信大家無(wú)論是開(kāi)發(fā)、測(cè)試還是運(yùn)維過(guò)程中,都可能會(huì)因?yàn)檎`操作、連錯(cuò)數(shù)據(jù)庫(kù)、用錯(cuò)用戶、語(yǔ)句條件有誤等原因,導(dǎo)致錯(cuò)誤刪除、錯(cuò)誤更新等問(wèn)題,這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫(kù)丟失表排查思路的相關(guān)資料,需要的朋友可以參考下

說(shuō)明:

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

  • 由于我們代碼中實(shí)現(xiàn)思路是判斷如果沒(méi)有對(duì)應(yīng)的表會(huì)自動(dòng)創(chuàng)建,所以首先需要查詢一下缺失數(shù)據(jù)庫(kù)表的創(chuàng)建時(shí)間
SELECT * FROM dba_objects where OBJECT_NAME LIKE 'LOG_5%' AND owner = 'Geoff';
  • 通過(guò)查詢Oracle執(zhí)行SQL歷史記錄,數(shù)據(jù)庫(kù)表的刪除時(shí)間段
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;
  • 通過(guò)上述SQL還是無(wú)法查詢具體表的刪除時(shí)間,故查詢當(dāng)前用戶的數(shù)據(jù)庫(kù)回收站
SELECT * FROM recyclebin_temp WHERE TYPE = 'TABLE' ORDER BY droptime DESC;
  • 通過(guò)回收站查詢到相應(yīng)的已刪除數(shù)據(jù)庫(kù)表,并將數(shù)據(jù)庫(kù)已刪除表恢復(fù)至刪除前,包含表中數(shù)據(jù)
flashback TABLE LOG_505 to before drop RENAME to LOG_505_temp ;
  • 因?yàn)閿?shù)據(jù)恢復(fù)時(shí),系統(tǒng)已新建數(shù)據(jù)庫(kù)表并產(chǎn)生數(shù)據(jù),所以需要將新老數(shù)據(jù)都恢復(fù)到數(shù)據(jù)庫(kù)表中
--查詢當(dāng)前數(shù)據(jù)庫(kù)表中的最大ID
SELECT ID FROM WORK_DUTY_LOG_505_temp ORDER BY ID DESC;
--修改序列步長(zhǎng)至最大ID
ALTER sequence SEQ_WORK_DUTY_LOG_505 INCREMENT BY 3538;
SELECT SEQ_WORK_DUTY_LOG_505.nextval FROM dual;
--恢復(fù)序列步長(zhǎng)為默認(rèn)值1
ALTER sequence SEQ_WORK_DUTY_LOG_505 INCREMENT BY 1;

--創(chuàng)建觸發(fā)器,并將表中數(shù)據(jù)手動(dòng)插入到從回收站恢復(fù)的臨時(shí)表中
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í)表中整合完成的數(shù)據(jù)恢復(fù)至原數(shù)據(jù)庫(kù)表中
INSERT INTO  WORK_DUTY_LOG_505 SELECT * FROM WORK_DUTY_LOG_505_temp
--查詢確認(rèn)
SELECT * FROM WORK_DUTY_LOG_505 ORDER BY ID DESC;

寫(xiě)在最后:

通過(guò)后續(xù)排查,發(fā)現(xiàn)可能是因?yàn)榇a中判斷相關(guān)代碼查詢結(jié)果有誤,導(dǎo)致相關(guān)表被誤刪除,暫時(shí)通過(guò)注釋下方刪除表結(jié)構(gòu)代碼避免問(wèn)題復(fù)發(fā),相關(guān)原因后續(xù)繼續(xù)排查

總結(jié) 

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

相關(guān)文章

  • Oracle 11g數(shù)據(jù)庫(kù)詳細(xì)安裝圖文教程

    Oracle 11g數(shù)據(jù)庫(kù)詳細(xì)安裝圖文教程

    這篇文章主要為大家詳細(xì)介紹了Oracle 11g數(shù)據(jù)庫(kù)詳細(xì)安裝圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • oracle數(shù)據(jù)庫(kù)慢查詢SQL實(shí)例詳解

    oracle數(shù)據(jù)庫(kù)慢查詢SQL實(shí)例詳解

    一般的業(yè)務(wù)系統(tǒng)如果遇到性能問(wèn)題,絕大部分都是來(lái)自數(shù)據(jù)庫(kù)的,有的業(yè)務(wù)一個(gè)查詢執(zhí)行時(shí)間好幾秒,這就是我們說(shuō)說(shuō)的SQL慢查詢,這篇文章主要給大家介紹了關(guān)于oracle數(shù)據(jù)庫(kù)慢查詢SQL的相關(guān)資料,需要的朋友可以參考下
    2024-06-06
  • oracle中if/else的三種實(shí)現(xiàn)方式詳解

    oracle中if/else的三種實(shí)現(xiàn)方式詳解

    本文給大家介紹了oracle中if/else的三種實(shí)現(xiàn)方式及注意事項(xiàng),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2017-10-10
  • 一文詳解Oracle存儲(chǔ)過(guò)程

    一文詳解Oracle存儲(chǔ)過(guò)程

    Oracle存儲(chǔ)過(guò)程是Oracle數(shù)據(jù)庫(kù)中的一種數(shù)據(jù)處理對(duì)象,它可以在數(shù)據(jù)庫(kù)中定義一組預(yù)定義的SQL語(yǔ)句,用于完成特定的數(shù)據(jù)庫(kù)操作,本文將通過(guò)代碼示例詳細(xì)介紹了Oracle存儲(chǔ)過(guò)程,需要的朋友可以參考下
    2023-05-05
  • 重新編譯PLSQL中的無(wú)效對(duì)象或者指定的對(duì)象 的方法

    重新編譯PLSQL中的無(wú)效對(duì)象或者指定的對(duì)象 的方法

    重新編譯PLSQL中的無(wú)效對(duì)象或者指定的對(duì)象 的方法...
    2007-04-04
  • Oracle PL/SQL入門(mén)慨述

    Oracle PL/SQL入門(mén)慨述

    Oracle PL/SQL入門(mén)慨述...
    2007-03-03
  • Oracle中查詢表結(jié)構(gòu)的6種方法總結(jié)

    Oracle中查詢表結(jié)構(gòu)的6種方法總結(jié)

    工作中查看oracle表結(jié)構(gòu)經(jīng)常會(huì)遇到,下面這篇文章主要給大家介紹了關(guān)于Oracle中查詢表結(jié)構(gòu)的6種方法,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • ORACLE中如何找到未提交事務(wù)的SQL語(yǔ)句詳解

    ORACLE中如何找到未提交事務(wù)的SQL語(yǔ)句詳解

    這篇文章主要給大家介紹了關(guān)于ORACLE中如何找到未提交事務(wù)的SQL語(yǔ)句,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用ORACLE具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • oracle 分頁(yè) 很棒的sql語(yǔ)句

    oracle 分頁(yè) 很棒的sql語(yǔ)句

    oracle 分頁(yè) 很棒的實(shí)現(xiàn)方法,大家可以分析下。
    2009-07-07
  • Oracle單實(shí)例升級(jí)補(bǔ)丁全過(guò)程記錄

    Oracle單實(shí)例升級(jí)補(bǔ)丁全過(guò)程記錄

    這篇文章主要介紹了Oracle單實(shí)例升級(jí)補(bǔ)丁,oracle19.3升級(jí)補(bǔ)丁到19.18,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08

最新評(píng)論

绵阳市| 望都县| 临洮县| 嵊泗县| 广昌县| 科技| 吴江市| 淮阳县| 安塞县| 台北县| 石景山区| 清丰县| 奉节县| 英德市| 泸定县| 郁南县| 长寿区| 德州市| 通辽市| 隆化县| 张掖市| 清苑县| 佛坪县| 太康县| 泾源县| 剑川县| 许昌县| 康定县| 崇信县| 平谷区| 醴陵市| 林西县| 康乐县| 民勤县| 策勒县| 建阳市| 云龙县| 屏东县| 南陵县| 布拖县| 四会市|