oracle ora31633,ORA-31633: unable to create master table
ORA-31626: job does not exist
ORA-31633: unable to create master table "NEWCOURSE.JOB_48"
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.KUPV$FT", line 1020
ORA-00955: name is already used by an existing object
同步是用expdp/impdp做的
查了下錯誤代碼
[oracle@coredb ~]$ oerr ORA 31633
31633, 00000, "unable to create master table \"%s.%s\""
// *Cause: ?Job creation failed because a Master Table and its indexes could
// ? ? ? ? ?not be created, most commonly due to the pre-existance of a table
// ? ? ? ? ?with the same name (job name) in the user schema. ?Refer to any
// ? ? ? ? ?following error messages for clarification.
// *Action: Select a different job name, DROP the existing table, or eliminate
// ? ? ? ? ?any problems indicated by the following error messages.
這個job的名字肯定是唯一的,這個可以確定
也不會出現同時有其他session同樣在跑這個腳本的情況
登陸到用戶下查了下和job名字相同的表,確實存在:
SQL> desc job_48;
Name ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Null? ? ?Type
----------------------------------------- -------- ----------------------------
PROCESS_ORDER ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?NUMBER
DUPLICATE ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?NUMBER
DUMP_FILEID ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?NUMBER
DUMP_POSITION ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?NUMBER
DUMP_LENGTH ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?NUMBER
......
......
這個表一般在impdp完成后悔自動刪除的,除非在導入的過程中出現異常,可能會導致該表沒有被刪除
查了下,才知道這個JOB在昨天早上,由于一些特殊情況,被手工kill了,從而導致該表沒有被正常刪除
解決這個問題,有幾種方法,上面oerr也說的很清楚了
可以換一個job name后重新impdp,也可以先手工刪除與job同名的表后再導入
其實,我們可以把job name定義一個變量,后綴可以加上當天的日期,這樣每天的job name就會不一樣了,也可以一定程度上避免這種問題的發生。
總結
以上是生活随笔為你收集整理的oracle ora31633,ORA-31633: unable to create master table的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab函数冒号代表的意思,MATL
- 下一篇: imx6 android快速启动,and