Oracle

Expdp 錯誤 UDE-22303

  • February 24, 2022

當我嘗試使用 expdmp 實用程序導出到數據庫時遇到以下錯誤:

UDE-22303:操作生成 ORACLE 錯誤 22303

OCI-22303:類型“SYS”。未找到“KU$_STATUS1020”

你知道什麼會導致這個錯誤嗎?

SQL> show parameter aq

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes                      integer     0

SQL> show parameter streams_pool_size

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
streams_pool_size                    big integer 0

SQL> show parameter db_cache_size

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_cache_size                        big integer 24G

解決方案:

SQL> alter system set aq_tm_processes=1 scope=both sid='*';
SQL> alter system set streams_pool_size = 256M scope = both sid='*';

如果您收到任何這樣的錯誤:

ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-04033: Insufficient memory to grow pool

減小 db_cache_size:

SQL> alter system set db_cache_size = 12G scope = both sid='*';

並重新執行:

SQL> alter system set streams_pool_size = 256M scope = both sid='*';

現在,您可以再次執行 expdp 而不會出現問題。完成後,不要忘記回滾所有更改。

我想說執行您嘗試執行的任何語句的使用者沒有權限查看/執行這個顯式/使用者定義的類型。

在 KU$_STATUS1220 上授予執行以保護;

上述語句將允許使用者“PROTECT”能夠引用 TYPE。(顯然,您需要將“PROTECT”替換為您用來執行失敗語句的任何使用者。

我很好奇在執行賽門鐵克(現為 Broadcom)為升級 DLP 軟體而提供的升級準備工具 (URT) 期間是否發現了此問題。這就是我使用 PROTECT 使用者的原因……(在我們的案例中,我們也必須對 DLP_URT 使用者執行此操作。不確定您的使用者)。

引用自:https://dba.stackexchange.com/questions/52902