資料泵匯入分割槽表統計資訊報錯(五)
今天在進行資料泵匯入操作時,發現一個bug。
這篇文章描述導致問題的原因。
資料泵匯入分割槽表統計資訊報錯(一):http://yangtingkun.itpub.net/post/468/456176
資料泵匯入分割槽表統計資訊報錯(二):http://yangtingkun.itpub.net/post/468/456378
資料泵匯入分割槽表統計資訊報錯(三):http://yangtingkun.itpub.net/post/468/489067
資料泵匯入分割槽表統計資訊報錯(四):http://yangtingkun.itpub.net/post/468/489253
現在已經找到了問題的原因,並且也找到了解決問題的方法,但是導致問題的原因還不清楚。
也就是說,要找到為什麼這幾個分割槽表的統計資訊被鎖住。
Oracle的DBMS_STATS包提供了LOCK_TABLE_STATS過程,但是當前的問題顯然不是手工呼叫這個過程造成的。
所有了一下metalink,發現Oracle在文件Doc ID: 433240.1中描述了統計資訊被鎖定的可能性:
手工執行DBMS_STATS包的LOCK_TABLE_STATS過程;
使用imp或impdp,匯入表的時候不載入資料,會鎖住表的統計資訊;
在升級過程中,佇列表的統計資訊可能被鎖定。
前面已經排除了手工執行LOCK_TABLE_STATS的可能性,而出現問題的表又不是佇列表,顯然第二種情況導致問題的可能性最大。
由於遷移確實是用IMP和IMPDP實現的,但是由於距離遷移的時間太長,導致一些具體的操作已經記不清了。而且由於伺服器空間的問題,一些遷移時的log指令碼已經被清除掉了。因此找到當時具體的操作很困難了。
如果根據當時的遷移步驟,是不存在只匯入結構而沒有匯入資料的情況的。
根據記憶描述一下遷移的步驟:
在9i的源資料庫用exp匯出了資料;
由於要轉換表空間,以及去掉物化檢視日誌等資訊,避免匯入過程對產品環境導致的危害,設立了一個10g的中間資料庫;
在中間資料庫上手工建立了分割槽表,然後用imp指定ignore=y匯入所有的表;
在中間資料庫進行資料的清理工作;
在中間資料庫執行expdp匯出;
在目標資料庫上執行impdp匯入。
如果說發生過imp操作,可能在中間資料庫上執行過。不過檢查統計資訊的生成時間,實在物件的建立之後,而且間隔幾個小時之久:
SQL> conn zhejiang
輸入口令:
已連線。
SQL> set pages 100 lines 120
SQL> alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';
會話已更改。
SQL> select object_name, created
2 from user_objects a, user_part_tables b
3 where a.object_name = b.table_name
4 and a.object_type = 'TABLE';
OBJECT_NAME CREATED
------------------------------ -------------------
CON_LOG_LIST_ITEM 2007-05-03 10:17:40
ORD_ORDER 2007-05-03 10:18:06
ORD_ORDER_ITEM 2007-05-03 10:18:15
ORD_PURCHASE_ITEM 2007-05-03 10:18:26
ORD_LOG_HIT_COMM 2007-05-03 11:12:34
EMED_WEB_LOG 2008-06-24 17:06:59
已選擇6行。
SQL> select a.table_name, last_analyzed
2 from user_tables a, user_part_tables b
3 where a.table_name = b.table_name;
TABLE_NAME LAST_ANALYZED
------------------------------ -------------------
CON_LOG_LIST_ITEM 2007-05-03 15:33:19
ORD_ORDER 2007-05-03 15:23:42
ORD_ORDER_ITEM 2007-05-03 15:30:25
ORD_PURCHASE_ITEM 2007-05-03 15:33:17
ORD_LOG_HIT_COMM 2007-05-03 15:33:45
EMED_WEB_LOG 2009-08-09 01:07:31
已選擇6行。
這說明在物件匯入後,成功的收集過一次統計資訊。
莫非是在系統遷移之後,執行過IMP或IMPDP的匯入,這個問題的產生和遷移沒有關係。統計資訊的收集時間與遷移時間發生在同一天,且間隔比較接近,而且此後這些分割槽表就沒有再被分析過,要說這個問題和遷移沒有關係,顯然難以令人信服。更重要的是,除了遷移過程,平常基本上沒有可能對產品環境執行IMP或IMPDP的操作。
由於系統上的日誌資訊已經都丟失了,只能依靠資料庫中儲存的資訊了。
檢查資料庫中物件的建立時間,看看能否發現一些什麼:
SQL> select object_name, object_type, created
2 from user_objects
3 where created < to_date('2007-5-4', 'yyyy-mm-dd')
4 order by created;
OBJECT_NAME OBJECT_TYPE CREATED
------------------------------ ------------------- -------------------
CON_LOG_LIST_ITEM TABLE PARTITION 2007-05-03 10:17:40
CON_LOG_LIST_ITEM TABLE PARTITION 2007-05-03 10:17:40
CON_LOG_LIST_ITEM TABLE 2007-05-03 10:17:40
CON_LOG_LIST_ITEM TABLE PARTITION 2007-05-03 10:17:40
CON_LOG_LIST_ITEM TABLE PARTITION 2007-05-03 10:17:40
CON_LOG_LIST_ITEM TABLE PARTITION 2007-05-03 10:17:40
ORD_ORDER TABLE PARTITION 2007-05-03 10:18:06
ORD_ORDER TABLE PARTITION 2007-05-03 10:18:06
ORD_ORDER TABLE 2007-05-03 10:18:06
ORD_ORDER TABLE PARTITION 2007-05-03 10:18:06
ORD_ORDER TABLE PARTITION 2007-05-03 10:18:06
ORD_ORDER TABLE PARTITION 2007-05-03 10:18:06
ORD_ORDER TABLE PARTITION 2007-05-03 10:18:06
ORD_ORDER TABLE PARTITION 2007-05-03 10:18:06
ORD_ORDER TABLE PARTITION 2007-05-03 10:18:06
ORD_ORDER TABLE PARTITION 2007-05-03 10:18:06
ORD_ORDER TABLE PARTITION 2007-05-03 10:18:06
ORD_ORDER TABLE PARTITION 2007-05-03 10:18:06
ORD_ORDER TABLE PARTITION 2007-05-03 10:18:06
ORD_ORDER TABLE PARTITION 2007-05-03 10:18:06
ORD_ORDER TABLE PARTITION 2007-05-03 10:18:06
ORD_ORDER TABLE PARTITION 2007-05-03 10:18:06
ORD_ORDER TABLE PARTITION 2007-05-03 10:18:06
ORD_ORDER TABLE PARTITION 2007-05-03 10:18:06
ORD_ORDER TABLE PARTITION 2007-05-03 10:18:06
ORD_ORDER TABLE PARTITION 2007-05-03 10:18:06
ORD_ORDER TABLE PARTITION 2007-05-03 10:18:06
ORD_ORDER TABLE PARTITION 2007-05-03 10:18:06
ORD_ORDER TABLE PARTITION 2007-05-03 10:18:06
ORD_ORDER TABLE PARTITION 2007-05-03 10:18:06
ORD_ORDER TABLE PARTITION 2007-05-03 10:18:06
ORD_ORDER TABLE PARTITION 2007-05-03 10:18:06
ORD_ORDER_ITEM TABLE PARTITION 2007-05-03 10:18:15
ORD_ORDER_ITEM TABLE 2007-05-03 10:18:15
ORD_ORDER_ITEM TABLE PARTITION 2007-05-03 10:18:15
ORD_ORDER_ITEM TABLE PARTITION 2007-05-03 10:18:15
ORD_ORDER_ITEM TABLE PARTITION 2007-05-03 10:18:15
ORD_ORDER_ITEM TABLE PARTITION 2007-05-03 10:18:15
ORD_ORDER_ITEM TABLE PARTITION 2007-05-03 10:18:15
ORD_ORDER_ITEM TABLE PARTITION 2007-05-03 10:18:15
ORD_ORDER_ITEM TABLE PARTITION 2007-05-03 10:18:15
ORD_ORDER_ITEM TABLE PARTITION 2007-05-03 10:18:15
ORD_ORDER_ITEM TABLE PARTITION 2007-05-03 10:18:15
ORD_ORDER_ITEM TABLE PARTITION 2007-05-03 10:18:15
ORD_ORDER_ITEM TABLE PARTITION 2007-05-03 10:18:15
ORD_ORDER_ITEM TABLE PARTITION 2007-05-03 10:18:15
ORD_ORDER_ITEM TABLE PARTITION 2007-05-03 10:18:15
ORD_ORDER_ITEM TABLE PARTITION 2007-05-03 10:18:15
ORD_ORDER_ITEM TABLE PARTITION 2007-05-03 10:18:15
ORD_ORDER_ITEM TABLE PARTITION 2007-05-03 10:18:15
ORD_ORDER_ITEM TABLE PARTITION 2007-05-03 10:18:15
ORD_ORDER_ITEM TABLE PARTITION 2007-05-03 10:18:15
ORD_ORDER_ITEM TABLE PARTITION 2007-05-03 10:18:15
ORD_ORDER_ITEM TABLE PARTITION 2007-05-03 10:18:15
ORD_ORDER_ITEM TABLE PARTITION 2007-05-03 10:18:15
ORD_ORDER_ITEM TABLE PARTITION 2007-05-03 10:18:15
ORD_ORDER_ITEM TABLE PARTITION 2007-05-03 10:18:15
ORD_ORDER_ITEM TABLE PARTITION 2007-05-03 10:18:15
ORD_PURCHASE_ITEM TABLE PARTITION 2007-05-03 10:18:26
ORD_PURCHASE_ITEM TABLE PARTITION 2007-05-03 10:18:26
ORD_PURCHASE_ITEM TABLE PARTITION 2007-05-03 10:18:26
ORD_PURCHASE_ITEM TABLE PARTITION 2007-05-03 10:18:26
ORD_PURCHASE_ITEM TABLE PARTITION 2007-05-03 10:18:26
ORD_PURCHASE_ITEM TABLE PARTITION 2007-05-03 10:18:26
ORD_PURCHASE_ITEM TABLE PARTITION 2007-05-03 10:18:26
ORD_PURCHASE_ITEM TABLE PARTITION 2007-05-03 10:18:26
ORD_PURCHASE_ITEM TABLE PARTITION 2007-05-03 10:18:26
ORD_PURCHASE_ITEM TABLE PARTITION 2007-05-03 10:18:26
ORD_PURCHASE_ITEM TABLE PARTITION 2007-05-03 10:18:26
ORD_PURCHASE_ITEM TABLE PARTITION 2007-05-03 10:18:26
ORD_PURCHASE_ITEM TABLE PARTITION 2007-05-03 10:18:26
ORD_PURCHASE_ITEM TABLE 2007-05-03 10:18:26
ORD_PURCHASE_ITEM TABLE PARTITION 2007-05-03 10:18:26
ORD_PURCHASE_ITEM TABLE PARTITION 2007-05-03 10:18:26
ORD_PURCHASE_ITEM TABLE PARTITION 2007-05-03 10:18:26
ORD_PURCHASE_ITEM TABLE PARTITION 2007-05-03 10:18:26
ORD_PURCHASE_ITEM TABLE PARTITION 2007-05-03 10:18:26
ORD_PURCHASE_ITEM TABLE PARTITION 2007-05-03 10:18:26
ORD_PURCHASE_ITEM TABLE PARTITION 2007-05-03 10:18:26
ORD_PURCHASE_ITEM TABLE PARTITION 2007-05-03 10:18:27
ORD_PURCHASE_ITEM TABLE PARTITION 2007-05-03 10:18:27
ORD_PURCHASE_ITEM TABLE PARTITION 2007-05-03 10:18:27
ORD_PURCHASE_ITEM TABLE PARTITION 2007-05-03 10:18:27
ORD_PURCHASE_ITEM TABLE PARTITION 2007-05-03 10:18:27
TU_ORD_ORDER_PLAT_ID INDEX PARTITION 2007-05-03 10:18:32
TU_ORD_ORDER_PLAT_ID INDEX PARTITION 2007-05-03 10:18:32
TU_ORD_ORDER_PLAT_ID INDEX PARTITION 2007-05-03 10:18:32
TU_ORD_ORDER_PLAT_ID INDEX PARTITION 2007-05-03 10:18:32
TU_ORD_ORDER_PLAT_ID INDEX PARTITION 2007-05-03 10:18:32
TU_ORD_ORDER_PLAT_ID INDEX PARTITION 2007-05-03 10:18:32
TU_ORD_ORDER_PLAT_ID INDEX PARTITION 2007-05-03 10:18:32
TU_ORD_ORDER_PLAT_ID INDEX PARTITION 2007-05-03 10:18:32
TU_ORD_ORDER_PLAT_ID INDEX PARTITION 2007-05-03 10:18:32
TU_ORD_ORDER_PLAT_ID INDEX PARTITION 2007-05-03 10:18:32
TU_ORD_ORDER_PLAT_ID INDEX PARTITION 2007-05-03 10:18:32
TU_ORD_ORDER_PLAT_ID INDEX PARTITION 2007-05-03 10:18:32
TU_ORD_ORDER_PLAT_ID INDEX PARTITION 2007-05-03 10:18:32
TU_ORD_ORDER_PLAT_ID INDEX PARTITION 2007-05-03 10:18:32
TU_ORD_ORDER_PLAT_ID INDEX PARTITION 2007-05-03 10:18:32
TU_ORD_ORDER_PLAT_ID INDEX PARTITION 2007-05-03 10:18:32
TU_ORD_ORDER_PLAT_ID INDEX PARTITION 2007-05-03 10:18:32
TU_ORD_ORDER_PLAT_ID INDEX PARTITION 2007-05-03 10:18:32
TU_ORD_ORDER_PLAT_ID INDEX 2007-05-03 10:18:32
TU_ORD_ORDER_PLAT_ID INDEX PARTITION 2007-05-03 10:18:32
TU_ORD_ORDER_PLAT_ID INDEX PARTITION 2007-05-03 10:18:32
TU_ORD_ORDER_PLAT_ID INDEX PARTITION 2007-05-03 10:18:32
TU_ORD_ORDER_PLAT_ID INDEX PARTITION 2007-05-03 10:18:32
TU_ORD_ORDER_PLAT_ID INDEX PARTITION 2007-05-03 10:18:32
TU_ORD_ORDER_PLAT_ID INDEX PARTITION 2007-05-03 10:18:32
A_DATA SYNONYM 2007-05-03 10:25:44
BACKUP_SQL SYNONYM 2007-05-03 10:25:44
CAT_INVITE_COMM_DATA SYNONYM 2007-05-03 10:25:44
T_LINK TYPE 2007-05-03 10:25:44
CAT_REGION_MERCHANDISE_DATA SYNONYM 2007-05-03 10:25:44
TEMP_FIRST_PRODUCT SYNONYM 2007-05-03 10:25:44
TEMP_SECOND_CATEGORY SYNONYM 2007-05-03 10:25:44
CAT_INVITE_COMM_SEND_DATA SYNONYM 2007-05-03 10:25:44
DATA01.US.ORACLE.COM DATABASE LINK 2007-05-03 10:25:45
TRANSFER SEQUENCE 2007-05-03 10:25:45
HI_TEMPTOTAL_ID SEQUENCE 2007-05-03 10:25:45
IMP_SYS_TMP SEQUENCE 2007-05-03 10:25:45
JOB_ID SEQUENCE 2007-05-03 10:25:45
.
.
.
TRANFER SEQUENCE 2007-05-03 10:25:45
GOV_SEQ SEQUENCE 2007-05-03 10:25:45
ASS_BBS_USERINFO TABLE 2007-05-03 10:25:46
ASS_COMPLAIN_ORG_SCORE TABLE 2007-05-03 10:25:46
ASS_COMPLAIN_RECORD TABLE 2007-05-03 10:25:46
ASS_COMPLAIN_REPLY TABLE 2007-05-03 10:25:46
ASS_BBS_CATALOG TABLE 2007-05-03 10:25:46
ASS_NEWS TABLE 2007-05-03 10:25:46
ASS_NEWS_TYPE TABLE 2007-05-03 10:25:46
A TABLE 2007-05-03 10:25:46
ASS_BBS_ARTICLE TABLE 2007-05-03 10:25:46
ASS_COMPLAIN_TYPE TABLE 2007-05-03 10:25:46
.
.
.
ZZZ_YANGS_ORDER2 TABLE 2007-05-03 10:26:25
ZZZ_YANGS_ORDER3 TABLE 2007-05-03 10:26:25
ZZZ_YANGS_PRO TABLE 2007-05-03 10:26:25
ORD_PAYMENT_ORG TABLE 2007-05-03 10:26:25
SYS_LOB0000061644C00004$$ LOB 2007-05-03 10:26:25
SYS_LOB0000061644C00003$$ LOB 2007-05-03 10:26:25
CON_LIST_ITEM_SHARE_TMP TABLE 2007-05-03 10:26:25
JOB_MONTH_STATS TABLE 2007-05-03 10:26:25
ZJ_PRODUCT TABLE 2007-05-03 10:26:25
PK_ORD_PAYMENT_ORG_MERCHID INDEX 2007-05-03 10:39:11
TU_OD_PAYMENT_ORG_BID_ORG INDEX 2007-05-03 10:39:11
PK_ASS_BBS_ARTICLE INDEX 2007-05-03 10:39:11
PK_ASS_BBS_CATALOG INDEX 2007-05-03 10:39:11
PK_ASS_BBS_USERINFO INDEX 2007-05-03 10:39:11
PK_ASS_NEWS INDEX 2007-05-03 10:39:12
.
.
.
SYS_C0014351 INDEX 2007-05-03 10:52:55
SYS_C0014352 INDEX 2007-05-03 10:52:55
CHANGE_PRICE_1 FUNCTION 2007-05-03 10:53:32
P_UPDATE_TEMP_PRICE PACKAGE 2007-05-03 10:53:32
PA_UPDATE_ORD_HIT_COMM PACKAGE 2007-05-03 10:53:32
PA_PLAN_REPORT PACKAGE 2007-05-03 10:53:32
CON_LIST_ITEM_SHIFT PACKAGE 2007-05-03 10:53:32
F_LINK FUNCTION 2007-05-03 10:53:32
F_GET_EXP_TAB_NAME FUNCTION 2007-05-03 10:53:32
CHANGE_PRICE_2 FUNCTION 2007-05-03 10:53:32
DELPUR PROCEDURE 2007-05-03 10:53:34
GETFULLSQL PROCEDURE 2007-05-03 10:53:34
.
.
.
P_SCHEMA_STATS PROCEDURE 2007-05-03 10:53:35
PA_UPDATE_ORD_HIT_COMM PACKAGE BODY 2007-05-03 10:53:40
P_UPDATE_TEMP_PRICE PACKAGE BODY 2007-05-03 10:53:40
CON_LIST_ITEM_SHIFT PACKAGE BODY 2007-05-03 10:53:40
PA_PLAN_REPORT PACKAGE BODY 2007-05-03 10:53:41
T_LINK TYPE BODY 2007-05-03 10:53:41
T_PURCHASE_PURCHASE_TYPE INDEX 2007-05-03 10:53:44
TU_ORD_BUY_WAR_SYNC_STATE INDEX 2007-05-03 10:53:44
T_ORDER_RECEIVE_PP INDEX 2007-05-03 10:53:45
T_PURCHASE_APPROVE_USERID INDEX 2007-05-03 10:53:45
T_PURCHASE_CREATE_USERID INDEX 2007-05-03 10:53:45
T_ORDER_RECEIVE_PLAT_ID INDEX 2007-05-03 10:53:45
TU_A_TEMP_CLIT_BUYER_FLAG INDEX 2007-05-03 10:53:45
ORD_LOG_HIT_COMM TABLE 2007-05-03 11:12:34
ORD_LOG_HIT_COMM TABLE PARTITION 2007-05-03 11:12:34
ORD_LOG_HIT_COMM TABLE PARTITION 2007-05-03 11:12:34
ORD_LOG_HIT_COMM TABLE PARTITION 2007-05-03 11:12:34
ORD_LOG_HIT_COMM TABLE PARTITION 2007-05-03 11:12:34
ORD_LOG_HIT_COMM TABLE PARTITION 2007-05-03 11:12:34
CAT_ZONE_HOLIDAY SYNONYM 2007-05-03 11:29:24
CAT_ZONE_DEALER SYNONYM 2007-05-03 11:29:24
.
.
.
MBR_PRODUCT_GRANTOR SYNONYM 2007-05-03 11:29:26
MBR_NOTICE SYNONYM 2007-05-03 11:29:26
USR_USER TABLE 2007-05-03 14:28:06
PK_USR_USER INDEX 2007-05-03 14:28:07
UN1_USR_USER INDEX 2007-05-03 14:28:07
TU_USR_USER INDEX 2007-05-03 14:28:07
TU_USR_USER_USERNAME INDEX 2007-05-03 14:28:08
USR_ROLE TABLE 2007-05-03 14:28:09
PK_USR_ROLE INDEX 2007-05-03 14:28:09
USR_USER_ROLE TABLE 2007-05-03 14:28:10
PK_USR_US_PLAT_ROLE INDEX 2007-05-03 14:28:11
TU_USR_USER_ROLE_ROLE_ID INDEX 2007-05-03 14:28:11
TU_USR_USER_ROLE_USER_ID INDEX 2007-05-03 14:28:11
PK_T_ORDER INDEX 2007-05-03 15:22:41
TU_ORD_ORDERITEM_SENDER_ORGID INDEX 2007-05-03 15:22:55
TU_ORD_ORDER_BUYER INDEX 2007-05-03 15:23:03
TU_ORD_ORDER_CODE INDEX 2007-05-03 15:23:10
TU_ORD_ORDER_PURCHASE_ID INDEX 2007-05-03 15:23:16
TU_ORD_ORDER_SALER_ORGID INDEX 2007-05-03 15:23:23
IND_ORD_ORDER_CREATE_DATE INDEX 2007-05-03 15:23:31
IND_ORD_ORDER_MODIFY_DATE INDEX 2007-05-03 15:23:37
PK_T_ORDER_ITEM INDEX 2007-05-03 15:23:43
TU_ORD_ORDER_ITEM_BID_ORG INDEX 2007-05-03 15:24:32
TU_ORD_ORDER_ITEM_BUY INDEX 2007-05-03 15:25:01
TU_ORD_ORDER_ITEM_ORDERID INDEX 2007-05-03 15:25:24
TU_ORD_ORDER_ITEM_PLATID INDEX 2007-05-03 15:25:45
TU_ORD_ORDER_ITEM_PUR_ITEM INDEX 2007-05-03 15:26:06
TU_ORD_ORDER_ITEM_P_BUYER INDEX 2007-05-03 15:26:26
TU_ORD_ORDER_ITEM_SALER INDEX 2007-05-03 15:27:00
TU_ORD_ORDER_ITEM_SEND INDEX 2007-05-03 15:27:23
TU_ORD_ORDER_ITEM_SOURCE INDEX 2007-05-03 15:27:47
TU_ORD_ORD_ITEM_PRODUCT_ID INDEX 2007-05-03 15:28:15
TU_ORD_ORD_IT_COMB_PLAT_ORDID INDEX 2007-05-03 15:28:39
TU_ORD_ITEM_CREATE_DATE INDEX 2007-05-03 15:29:10
TU_ORD_ITEM_CD_SD INDEX 2007-05-03 15:29:30
TU_ORD_ITEM_HIT_COMM_ID INDEX 2007-05-03 15:30:00
PK_T_PURCHASE_ITEM INDEX 2007-05-03 15:30:27
TU_ORD_PURCHASE_ITEM_BUYER INDEX 2007-05-03 15:31:04
TU_ORD_PURCHASE_ITEM_PROD_ID INDEX 2007-05-03 15:31:25
TU_ORD_PUR_ITEM_HITCOMMID INDEX 2007-05-03 15:31:47
TU_ORD_PUR_ITEM_PURCHASE_ID INDEX 2007-05-03 15:32:12
TU_ORD_PUR_ITEM_SEND_ID INDEX 2007-05-03 15:32:33
UN_PURCHASE_TEMP INDEX 2007-05-03 15:32:57
TU_CON_LOG_LIST_ITEM_OPER_DATE INDEX 2007-05-03 15:33:18
TU_ORD_LOG_HIT_COMM_BUYER INDEX 2007-05-03 15:33:20
T_MEDICAL VIEW 2007-05-03 15:55:59
S_USER VIEW 2007-05-03 15:55:59
.
.
.
V_PRODUCT VIEW 2007-05-03 15:56:00
JOB_PCONTRACT_SHOW PROCEDURE 2007-05-03 16:09:38
MLOG$_CON_LIST TABLE 2007-05-03 17:20:45
.
.
.
RUPD$_ORD_ORDER_RETURN TABLE 2007-05-03 17:20:47
已選擇1514行。
下面根據物件的建立順序進行分析:首先建立的物件是手工建立的分割槽表。然後執行的資料泵匯入過程,先匯入了同義詞和序列,然後是表和索引,最後是過程、函式和包。最後匯入了幾個BITMAP索引,資料泵在10:53:45秒匯入結束。
SQL> select index_type from user_indexes
2 where index_name = 'T_ORDER_RECEIVE_PLAT_ID';
INDEX_TYPE
---------------------------
BITMAP
最後補建了一個分割槽表。而此後的同義詞的建立是在資料泵匯入完成後,透過pl/sql程式碼實現的。
此後在14:28分的時候使用imp匯入了一些USR開頭的表和索引,不過這和當前的問題沒有關係。
關鍵的時刻到了,在15:22分到15:33分的時間段內,建立了這些出問題的分割槽表的索引。如果和這些分割槽表的統計資訊的最後收集時間進行比較,可以發現二者時間驚人的接近,這顯然不是巧合,多半是匯入索引資訊的時候,將統計資訊一起匯入。
到了這個時候,總算想起當時的操作了。由於其他的表都是透過exp匯出,並使用imp匯入,因此包含完整的索引定義。而這些表是手工建立,在建立表的時候沒有建立表的索引。因此發現了這一點後,利用exp或expdp從源資料庫匯出了索引定義,並匯入到目標資料庫中。
正是由於這個操作,將分割槽表的統計資訊鎖定。這也解釋了為什麼只有分割槽表沒有收集新的統計資訊,而其他表沒有同樣的問題。
這個例子說明兩個問題:
對於遷移或升級這種大型變更,一定要留下儘量詳細的資料備查。包括遷移計劃、遷移步驟、匯出匯入工具的日誌資訊、升級後執行catupgrd.sql的輸出檔案等等。這些資訊對於日後出現問題後進行分析異常重要。
應該儘可能深入瞭解每個工具的特性,即使是這麼常用的exp和expdp工具,都可能隱藏著這種隱蔽的操作。詳細的計劃和必要的上線測試可以避免絕大部分問題的發生,但是無法杜絕所有的問題,尤其是一些突發的時間。在這個時候所使用的工具是否能夠完成目標而沒有任何副作用,所選擇的方法是否足夠高效且沒有危害,這些就要靠平時的積累來完成了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-612379/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料泵匯出匯入
- ORACLE 資料泵impdp匯入報錯之ORA-31693 ORA-04098Oracle
- Oracle資料泵匯出匯入(expdp/impdp)Oracle
- Oracle資料泵的匯入和匯出Oracle
- 資料庫系統設計:分割槽資料庫
- [oracle] expdp 匯出分割槽表的分割槽Oracle
- Oracle使用資料泵expdp,impdp進行資料匯出匯入Oracle
- MySQL資料表分割槽手記MySql
- Oracle用資料泵匯入資料包12899的錯誤碼解決方法Oracle
- 11g後設資料匯入19c分割槽表建立不成功
- ORACLE刪除-表分割槽和資料Oracle
- hive 動態分割槽插入資料表Hive
- 資料泵匯出匯入物化檢視(ORA-39083)
- 【資料泵】EXPDP匯出表結構(真實案例)
- oracle 更改分割槽表資料 ora-14402Oracle
- 細緻入微:如何使用資料泵匯出表的部分列資料
- 測試分割槽表部分匯出
- Excel 表匯入資料Excel
- MySql資料分割槽操作之新增分割槽操作MySql
- Oracle 12.1.0.2 expdp匯出分割槽表資料遇到BUG慢的原因和解決方法Oracle
- zabbix上對mysql資料庫做分割槽表MySql資料庫
- Oracle查詢Interval partition分割槽表內資料Oracle
- MySQL的nnodb引擎表資料分割槽儲存MySql
- AppBoxFuture: 大資料表分割槽的3種策略APP大資料
- 【STATS】Oracle匯入匯出優化器統計資訊Oracle優化
- oracle12c還原資料庫遇到的問題-將一個11.2.0.1的資料泵匯出檔案匯入12.1.0.2版本報錯Oracle資料庫
- Windows分割槽報錯解決Windows
- PostgreSQL:傳統分割槽表SQL
- Mysql資料分片技術(一)——初識表分割槽MySql
- Oracle expdp資料泵遠端匯出Oracle
- oracle分割槽表和分割槽表exchangeOracle
- PostgreSQL 原始碼解讀(98)- 分割槽表#4(資料查詢路由#1-“擴充套件”分割槽表)SQL原始碼路由套件
- ClickHouse 資料表匯出和匯入(qbit)
- oracle分割槽表和非分割槽表exchangeOracle
- 調整分割槽後分割槽不見的資料找到方法
- ORACLE表統計資訊與列統計資訊、索引統計資訊Oracle索引
- Zabbix系統MySQL資料庫分割槽表的設定--精簡說明MySql資料庫
- 資料字典和固定表統計資訊更新
- 分割槽丟失資料恢復資料恢復