您好,登錄后才能下訂單哦!
本篇內容介紹了“怎么解決Oracle12c導入導出過程中遇到的問題”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
導入導出過程中遇到的問題及解決辦法
一、expdp/impdp時間過長
原因:對象過多,特別是分區表多
select object_type,count(*) from dba_objects where group by object_type; ------------------------------------------------------------------ table partition table subpartition index subpartition index partition ------------------------------------------------------------------
二、impdp過程中臨時表空間無限增長導致導入失敗
數據庫日志報錯信息 ORA-01652: unable to extend temp segment by 128 in tablespace TEMP 臨時表空間不足
經過與廠商確認這12.1.0.1的一個bug
該bug在12.1.0.1 版本上沒有patch,而且也無法再申請12.1.0.1版本上的patch
Impdp導入失敗
原因分析:
limpdp 占用臨時表空間的話,一般是跟index有關,創建索引需要排序,當內存不夠時會用到臨時表空間。
limpdp時有wait for unread message on broadecast channel 等待事件
三、12c新特性導致sysaux表空間持續增長
問題描述:應用程序接入12c數據庫后sysaux表空間持續增長。
相關知識:12c統一審計用于戶監視在審計策略中定義的用戶所執行的數據庫操作。12.1.0.1中,默認存在名為ORA_SECURECONFIG的統計策略。
由于之前說明的12.1.0.1版本中ORA_SECURECONFIG的定義里面包含LOGON和LOGOFF的信息,所以有可能會引起SYSAUX表空間持續增長。
解決辦法:
1、清理統一審計信息; DBMS_AUDIT_MGMT.CLEAN_AUDIT_TRAIL( AUDIT_TRAIL_TYPE => DBMS_AUDIT_MGMT.AUDIT_TRAIL_UNIFIED) 2、關閉默認統一審計策略。 NOAUDIT POLICY ORA_SECURECONFIG;
四、12c上使用wm_concat函數
問題描述:11gR2和12cR1上已經摒棄了wm_concat函數,10g開發的程序中使用了該函數。升級到12c后存儲過程編譯報錯如下:
java.sql.SQLSyntaxErrorException: ORA-00904: "WMSYS"."WM_CONCAT": invalid identifier
在每個版本wm_concat函數都有區別
In 10.2.0.4 / 11.1.0.7 / 11.2.0.1 it returns VARCHAR2 SQL> desc wmsys.wm_concat; FUNCTION wmsys.wm_concat RETURNS VARCHAR2 <<<<<<<<<<<<<<<Argument Name Type In/Out Default? ----------------------- ------------------------ -------- --------- P1 VARCHAR2 IN In 10.2.0.5 / 11.2.0.2 it returns CLOB SQL> desc wmsys.wm_concat; FUNCTION wmsys.wm_concat RETURNS CLOB <<<<<<<<<<<<<<<Argument Name Type In/Out Default? ----------------------- ------------------------ -------- --------- P1 VARCHAR2 IN
解決辦法:
1、在12c下參照10.2.0.4的定義重建wm_concat函數
2、在12.1中使用LISTAGG函數。
在12c下參照10.2.0.4的定義重建wm_concat函數
CREATE OR REPLACE TYPE WM_CONCAT_IMPL AS OBJECT -- AUTHID CURRENT_USER AS OBJECT …. CREATE OR REPLACE TYPE BODY WM_CONCAT_IMPL IS … CREATE OR REPLACE FUNCTION wm_concat(P1 VARCHAR2) RETURN VAR
在12c使用LISTAGG函數
SELECT deptno, LISTAGG(ename, ',') WITHIN GROUP (ORDER BY ename) AS employees FROM emp GROUP BY deptno; DEPTNO EMPLOYEES ---------- -------------------------------------------------- 10 CLARK,KING,MILLER 20 ADAMS,FORD,JONES,SCOTT,SMITH 30 ALLEN,BLAKE,JAMES,MARTIN,TURNER,WARD CHAR2 AGGREGATE USING WM_CONCAT_IMPL ; /
“怎么解決Oracle12c導入導出過程中遇到的問題”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。