oracle數據泵導出csv文件,數據泵expdp導出遇到ORA-01555和ORA-22924問題的分析和處理...

使用數據泵導出數據庫數據時,發現如下錯誤提示:

ORA-31693:?Table?data?object?"CAMS_CORE"."BP_EXCEPTION_LOG"?failed?to?load/unload?and?is?being?skipped?due?to?error:

ORA-02354:?error?in?exporting/importing?data

ORA-01555:?snapshot?too?old:?rollback?segment?number??with?name?""?too?small

ORA-22924:?snapshot?too?old

1.查看表空間使用率

SELECT?UPPER(F.TABLESPACE_NAME)?AS?"表空間名",

D.TOT_GROOTTE_MB?AS?"表空間大小(M)",

D.TOT_GROOTTE_MB-F.TOTAL_BYTES?AS?"已使用空間(M)",

TO_CHAR(ROUND((D.TOT_GROOTTE_MB?-?F.TOTAL_BYTES)?/?D.TOT_GROOTTE_MB?*?100,2),'990.99')?||?'%'?"使用比",

F.TOTAL_BYTES?AS?"空閑空間(M)",

F.MAX_BYTES?AS?"最大塊(M)"

FROM?(SELECT?TABLESPACE_NAME,

ROUND(SUM(BYTES)?/?(1024?*?1024),?2)?TOTAL_BYTES,

ROUND(MAX(BYTES)?/?(1024?*?1024),?2)?MAX_BYTES

FROM?SYS.DBA_FREE_SPACE

GROUP?BY?TABLESPACE_NAME)?F,

(SELECT?DD.TABLESPACE_NAME,

ROUND(SUM(DD.BYTES)?/?(1024?*?1024),?2)?TOT_GROOTTE_MB

FROM?SYS.DBA_DATA_FILES?DD

GROUP?BY?DD.TABLESPACE_NAME)?D

WHERE?D.TABLESPACE_NAME?=?F.TABLESPACE_NAME

ORDER?BY?1;

e97ad5ed368a277b3b871cafadcaf85e.png

2.看到ORA-01555錯誤,還以為是經典錯誤,嘗試調整undo_retention參數

SYS@cams>alter?system?set?undo_retention=30000?scope=both;

修改后再次導出,問題依舊存在,顯然問題和

undo_retention沒關系,再把參數改回去。

3.猜測是表空間有問題,這里嘗試對

CAMS_CORE下的索引和LOB

進行表空間遷移。

(1)新建新的表空間

(2)拼接表空間遷移語句,前面已有文章寫到了表空間遷移方案

(3)執行表空間遷移語句

alter?table?CAMS_CORE.BP_EXCEPTION_LOG?move?lob(EX_STACK)?store?as?(tablespace?cams_core_lob);

執行到該語句的時候提示錯誤:

ORA-01555:?快照過舊:?回退段號??(名稱為?"")?過小

ORA-22924:?快照太舊

這里,問題應該比較明顯了,有部分

LOB數據有問題。

4.尋找問題解決方案(MOS)

使用關鍵字

“expdp ORA-01555 ORA-22924 ?LOB”進行查找:

Export Fails With Errors ORA-2354 ORA-1555 ORA-22924 And How To Confirm LOB Segment Corruption Using Export Utility (文檔 ID 833635.1)

5.參考MOS給出的解決方案,動手處理問題

set?concat?off

create?table?corrupted_lob_data?(corrupted_rowid?rowid);

set?concat?off

declare

error_1555?exception;

pragma?exception_init(error_1555,-1555);

num?number;

begin

for?cursor_lob?in?(select?rowid?r,?&&lob_column?from?&table_owner.&table_with_lob)?loop

begin

num?:=?dbms_lob.instr?(cursor_lob.&&lob_column,?hextoraw?('889911'))?;

exception

when?error_1555?then

insert?into?corrupted_lob_data?values?(cursor_lob.r);

commit;

end;

end?loop;

end;

/

Enter?value?for?table_owner:?EX_STACK

Enter?value?for?table_owner:?CAMS_CORE

Enter?value?for?table_with_lob:?BP_EXCEPTION_LOG

old???6:???for?cursor_lob?in?(select?rowid?r,?&&lob_column?from?&table_owner.&table_with_lob)?loop

new???6:???for?cursor_lob?in?(select?rowid?r,?EX_STACK?from?CAMS_CORE.BP_EXCEPTION_LOG)?loop

old???8:???????num?:=?dbms_lob.instr?(cursor_lob.&&lob_column,?hextoraw?('889911'))?;

new???8:???????num?:=?dbms_lob.instr?(cursor_lob.EX_STACK,?hextoraw?('889911'))?;

PL/SQL?procedure?successfully?completed.

查看存在問題的數據記錄:

select?*?from?CAMS_CORE.BP_EXCEPTION_LOG

where?rowid?in?(?select?*?from?CAMS_CORE.corrupted_lob_data?);

a6fb2b3e2dca821df2e8e19481653221.png

確實存在

3條數據,

CLOB

字段數據大小為

,顯然有問題。

MOS上給出的導出方案是將問題數據exclude掉,這里為了徹底解決問題,將3條數據導出為csv文件,然后刪除。然后再次導出數據庫數據,不再提示報錯。

6.結合應用分析問題的由來。

根據有問題的數據,讓開發人員去檢查應用日志。檢查時發現對應時間點的應用日志有殘缺,不能繼續往下分析。同時,根據問題發生的時間點,了解到當時工程師在給服務器做遷移,結果服務器強制重啟(應用和數據庫一起),導致了部分數據損壞。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/396871.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/396871.shtml
英文地址,請注明出處:http://en.pswp.cn/news/396871.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Go程序開發---Go環境配置:CentOS6.5+Go1.8標準包安裝

1.Go安裝 1.1Go的三種安裝方式 Go有多種安裝方式,可以選擇自己習慣的方式進行,這里介紹三種安裝方式: 1)Go源碼安裝 2)Go標準包安裝 3)第三方工具安裝 這里主要介紹下Go標準包在CentOS6.5系統中的安裝方式 …

python矩陣乘法_魚書——第一章 Python入門

one 第一章1.1 Python是什么Python是一個簡單、易讀、易記的編程語言,而且是開源的,可以免費地自由使用。Python可以用類似英語的語法編寫程序,編譯起來也不費力,因此我們可以很輕松地使用Python。特別是對首次接觸編程的人士來說…

深入淺出面向對象分析與設計

深入淺出面向對象分析與設計書籍 下載位置:http://pan.baidu.com/s/1o7gmmuu轉載于:https://www.cnblogs.com/wlming/p/5160140.html

[SHOI2002]百事世界杯之旅

題目:“……在2002年6月之前購買的百事任何飲料的瓶蓋上都會有一個百事球星的名字。只要湊齊所有百事球星的名字,就可參加百事世界杯之旅的抽獎活動,獲得球星背包,隨聲聽,更克赴日韓觀看世界杯。還不趕快行動&#xff…

Oracle adviser,Oracle10g SQL tune adviser

Oracle10g SQL tune adviser簡單介紹本文簡單介紹下SQL Tuning Adviser的配置使用方法和一些相關知識點,如果了解SQL Tuning Adviser詳細信息,參看Oracle聯機文檔。本文對分析結果沒有詳細分析。一、自動SQL Tuning簡單介紹:1、優化模式&…

考托福

todo 香港的博士 轉載于:https://www.cnblogs.com/dunfentiao/p/5164028.html

keepalived vip ping不通_【干貨分享】OpenStack LVS負載均衡為什么不通?

背景介紹OpenStack環境Neutron 的安全組會向虛擬機默認添加 anti-spoof 的規則,將保證虛擬機只能發出/接收以本機Port為原地址或目的地址(IP、MAC)的流量,提高了云的安全性。但是LVS等需要綁定VIP的場景,默認流量是被攔截的。需要…

Docker安裝ssh,supervisor等基礎工具

2019獨角獸企業重金招聘Python工程師標準>>> Docker安裝ssh,supervisor等基礎工具 需要提前下載好官方的ubuntu鏡像,我這里使用的是ubuntu:14.04版本,這里安裝了一些基礎的工具ssh,curl,wget,vi…

中南大學 oracle試卷,數據庫原理期末復習(中南大學)數據庫原理、技術及應用2.ppt...

2014 春季 信息11,12 DB P,T&A-張祖平 數據庫原理、技術及應用 張祖平/Zhang Zuping 電子信息工程系 School of Information Science and Engineering,Central South University , zpzhangmail.csu.edu.cn 本章小結 關系模型中的相關概念 關系(集合),性質&#…

Pandas時間差(Timedelta)

時間差(Timedelta)是時間上的差異,以不同的單位來表示。例如:日,小時,分鐘,秒。它們可以是正值,也可以是負值。可以使用各種參數創建Timedelta對象,如下所示 - 字符串 通過傳遞字符串&#xff0…

nginx集群_windows環境下搭建簡單Nginx+Tomcat集群

通俗點將,負載均衡就是因為訪問流量太大,導致項目訪問不流暢、甚至宕掉,所以通過一種分流的方式來緩解這種情況。一、 工具nginx-1.8.0apache-tomcat-6.0.33二、 目標實現高性能負載均衡的Tomcat集群:三、 步驟1、首先下載Nginx&a…

顏色傳感器TCS230及顏色識別電路(轉)

摘要 TCS230是美國TAOS公司生產的一種可編程彩色光到頻率的傳感器。該傳感器具有分辨率高、可編程的顏色選擇與輸出定標、單電源供電等特點;輸出為數字量,可直接與微處理器連接。文中主要介紹TCS230的原理和應用,以及色光和白平衡的知識&…

自定義對話框 提示:Unable to add window token null is not for an application

這是因為在new Dialog(context);的時候傳入的context是通過getApplicationContext()獲得的,這樣就會報錯。 把context的獲得方式改為MainActivity.this就好了。 轉載于:https://www.cnblogs.com/qlong8807/p/5167560.html

[51Nod 1218] 最長遞增子序列 V2 (LIS)

傳送門 Description 數組A包含N個整數。設S為A的子序列且S中的元素是遞增的,則S為A的遞增子序列。如果S的長度是所有遞增子序列中最長的,則稱S為A的最長遞增子序列(LIS)。A的LIS可能有很多個。例如A為:1 3 2 0 4&#…

linux如何全局搜索目錄,Linux 全目錄全文搜索

文件內容搜索1grep -r root /home/ray/dev/media/wyquery/*通過這種方法來尋找數據庫配置文件的目錄其他$ grep “被查找的字符串” 文件名例子:在當前目錄里第一級文件夾中尋找包含指定字符串的.in文件grep “thermcontact” */*.in從文件內容查找與正則表達式匹配…

mysql命令行導入和導出數據

首先打開命令窗口,輸入命令:mysql -h localhost -u selffabu -p 連接成功后,進行下面的操作 MySQL中導出CSV格式數據的SQL語句樣本如下: Sql代碼select * from test_info into outfile /tmp/test.csv fields terminated by , optionally enclosed by " esc…

Python 拷貝對象(深拷貝deepcopy與淺拷貝copy)

http://www.jb51.net/article/15714.htm 1. copy.copy 淺拷貝 只拷貝父對象,不會拷貝對象的內部的子對象。2. copy.deepcopy 深拷貝 拷貝對象及其子對象 一個很好的例子: 1 import copy2 a [1, 2, 3, 4, [a, b]] #原始對象3 4 b a #賦值&#xff0c…

7.組件連線(貝塞爾曲線)--從零起步實現基于Html5的WEB設計器Jquery插件(含源碼)...

上節講到如何創建組件,清除設計器視圖,以及設計視圖的持久化和恢復,本節將重點講如何實現組件間的連線,前面章節有提到為了方便從持久化文件中恢復,組件和連線是分別存放的:nodes和lines對象,兩…

linux bind命令,LINUX命令bind-系統管理-顯示或設置鍵盤按鍵與其相關的功能

bind命令 用于顯示和設置命令行的鍵盤序列綁定功能。通過這一命令,可以提高命令行中操作效率。您可以利用bind命令了解有哪些按鍵組合與其功能,也可以自行指定要用哪些按鍵組合。語法bind(選項)選項-d:顯示按鍵配置的內容;-f&…

定位排查工作流的計算結果數據量不符合預期的方法

近期有發現一些用戶在咨詢,為什么數據從數據源出來后,經過了一些計算,結果不符合預期了。最常見的是說,為什么我的數據在Mysql里有xx條,怎么到MaxCompute里算了下結果變了。因為這是兩個不同的系統,我們又沒…