SQL0668N 原因碼為 1 ,所以不允許操作 SQLSTATE 57016 ORACLE一次失敗的導入到DB2
阿新 • • 發佈:2019-01-27
nts script 一次 sql projects tail 利用 clas restart
db2 => select * from TABLE_NAME
USER_FUNCTION_ID USER_ID DEALER_ID FUNCTION_ID CREATE_
BY CREATE_DATE UPDATE_BY UPDATE_DATE
-------------------- -------------------- --------- -------------------- -------
SQL0668N 由於表 "ADMINISTRATOR. TABLE_NAME " 上的原因碼為
"1",所以不允許操作。 SQLSTATE=57016
查了下問題原因是原因是裝入時有數據違反了檢查約束,造成表處於檢查掛起狀態。網上說可以用set integrity for table_name check immediate unchecked解除表的檢查掛起狀態, 但是運行完後還是無法訪問此表
db2 => set integrity for table_name check immediate unchecked
DB20000I SQL命令成功完成。
db2 => select * from TABLE_NAME
USER_FUNCTION_ID USER_ID DEALER_ID FUNCTION_ID CREATE_
BY CREATE_DATE UPDATE_BY UPDATE_DATE
-------------------- -------------------- --------- -------------------- -------
SQL0668N 由於表 "ADMINISTRATOR. TABLE_NAME " 上的原因碼為
"1",所以不允許操作。 SQLSTATE=57016
問題依舊。又試圖用再次LOAD的方法使其狀態正常,通過分別發出帶有 RESTART 或 TERMINATER 選項的 LOAD 來重新啟動或終止先前失敗的對此表的 LOAD 操作。但是問題依舊。
db2 => LOAD FROM C:/MTK/projects/Unknown7/DataOutScripts/FILENAME_TABLE_NAME.out of DEL restart INTO TABLE_NAME
SQL27902N LOAD RESTART/TERMINATE 在未處於 LOAD PENDING 狀態的表上不允許。
再試
C:/Documents and Settings/Administrator>db2 set integrity for TABLE_NAME immediate checked
不成功。
懷疑現在的問題不僅僅是表的問題,於是察看TABLESPACE
db2 =>list tablespaces show detail
表空間標識 = 2
名稱 = USERSPACE1
類型 = 數據庫管理空間
內容 = 所有持久數據。大型表空間。
狀態 = 0x0020
詳細解釋:
備份暫掛
總計頁數 = 40960
可用頁數 = 40928
已用頁數 = 40448
可用頁數 = 480
高水位標記(頁) = 40448
頁大小(以字節計) = 16384
擴展數據塊大小(頁) = 32
預取大小(頁) = 32
容器數 = 1
最小恢復時間 = 2007-02-13-02.29.51.000000
想通過以下命令使其正常
db2 => alter tablespace USERSPACE1 switch online
DB20000I SQL命令成功完成。
狀態一樣
於是通過BACKUP來除去備份暫掛狀態, 手工備份後恢復正常. 0x0000
db2 backup db DB_NAME tablespace (userspace1)
再解除表的檢查掛起狀態
db2 => set integrity for tt_user_function immediate checked
DB20000I SQL命令成功完成。
db2 => select count(*) from tt_user_function;
SQL0104N 在 "rom tt_user_function" 後面找到異常標記
";"。預期標記可能包括:"END-OF-STATEMENT"。 SQLSTATE=42601
db2 => select count(*) from tt_user_function
1
-----------
1534
訪問正常.
SQL0668N 原因碼為 "1",所以不允許操作 SQLSTATE=57016 ORACLE一次失敗的導入到DB2
SQL0668N 原因碼為 "1" SQLSTATE=57016 ORACLE導入到DB2 日月明王的BLOG http://sunmoonking.spaces.live.com 利用MTK工具沒有成功導入數據,於是用(ORACLE 用MTK工具導入到DB2 http://sunmoonking.spaces.live.com/blog/cns!E3BD9CBED01777CA!751.entry)最後所寫的方法手工批量導入。一切順利。做完後抽樣檢查,發現有些表出現如下問題。再分享一下我老師大神的人工智能教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智能的隊伍中來!https://blog.csdn.net/jiangjunshow
SQL0668N 原因碼為 1 ,所以不允許操作 SQLSTATE 57016 ORACLE一次失敗的導入到DB2