解決 Export error ORA-31600
2024-07-21 02:33:56
供稿:網(wǎng)友
You are performing a database eXPort against your 9.2 database. The database export abnormally ends with the following errors: EXP-00056: Oracle error 31600 encountered ORA-31600: invalid input value EMIT_SCHEMA for parameter NAME in function SET_TRANSFORM_PARAM ORA-06512: at "SYS.DBMS_SYS_ERROR", line 105 ORA-06512: at "SYS.DBMS_METADATA_INT", line 3926 ORA-06512: at "SYS.DBMS_METADATA_INT", line 4050 ORA-06512: at "SYS.DBMS_METADATA", line 836 ORA-06512: at line 1 EXP-00000: Export terminated unccessfully .
這個(gè)問(wèn)題困擾我好幾天,原本好好的export在上了Oracle的patchset后,竟然無(wú)法進(jìn)行fully export,查了很久只知道是個(gè)bug,最后終於知道解決辦法,分享給各位。
1) 假如在安裝patchset之前就已經(jīng)有資料庫(kù)存在,則安裝好patch后必須補(bǔ)做下面程序:
sqlplus /nolog
SQL>connect sys as sysdba Connected.
SQL>shutdown normal; after database is shutdown ...
SQL>startup migrate [pfile=...] use the pfile if using one, skip if using spfile
SQL>spool c:catpatch.log
SQL>@c:oracleora92 dbmsadmincatpatch.sql
SQL>spool off
SQL>shutdown normal; after database is shutdown ...
SQL>startup restrict [pfile=...] use the pfile if using one, skip if using spfile
SQL>@c:oracleora92 dbmsadminutlrp.sql
SQL>alter system disable restricted session;
執(zhí)行過(guò)catpatch.sql后,你的資料庫(kù)就可以繼續(xù)正常使用fully export了。(此script會(huì)執(zhí)行很久)
2) 若是安裝patch后才利用DBCA建立新資料庫(kù),若在DBCA GUI下你選擇OLTP OR OLAP...等資料庫(kù)模式來(lái)建立,則資料庫(kù)建好仍然必須補(bǔ)做catpatch.sql,若你是選擇customer方式來(lái)建立資料庫(kù),他會(huì)幫你執(zhí)行相關(guān)程序,也就是說(shuō)你不需要在補(bǔ)做catpatch.sql了,不過(guò)這種方式的建立DB時(shí)間較長(zhǎng)。