Oralce數據導入出現(SYSTEM.PROC_AUDIT)問題處理方建站
導讀:1建站知識A數據庫打開了審計,而導入到B數據庫時,B數據庫審計沒有打開,數據庫中沒有SYSTEM.PROC_AUDIT對象,本文將此問題的解決方網站推廣優化seo網站建設制作。
將A數據的USERNAME用戶的數據導出后,再導入到B數據庫中的USERNAME時,在USERNAME用戶下在執行表數據查詢時出現如下問題: ORA-06550: 第 1 行, 第 7 列: PLS-00201: 必須聲明標識符 'SYSTEM.PROC_AUDIT' ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored 出現這個問題是由于A數據庫打開了審計,而導入到B數據庫時,B數據庫審計沒有打開,數據庫中沒有SYSTEM.PROC_AUDIT對象,導致上述問題. 問題解決過程如下: 1)以sysdba登錄數據庫: D:\Users\Administrator>sqlplus / as sysdba 2) 顯示當前審計參數: SQL> show parameter audit; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ audit_file_dest string J:\APP\ADMINISTRATOR\ADMIN\ORC L\ADUMP audit_sys_operations boolean網seo優化趨勢 FALSE audit_trail string DB 3) 啟用審計. SQL> alter system set audit_sys_operations=TRUE scope=spfile; 系統已更改。 4)查看新的狀態,還是顯示審計操作沒打開,需重新啟動數據庫: SQL> show parameter audit; NAME TYPE VALUE ------------------------------------ ----------- -------------------------- audit_file_dest string J:\APP\ADMINISTRATOR\ADMIN L\ADUMP audit_sys_operations boolean FALSE audit_trail string DB 5)重啟數據庫 SQL> shutdown immediate 數據庫已經關閉。 已經卸載數據庫。 ORACLE 例程已經關閉。 SQL> startup ORACLE 例程已經啟動。 Total System Global Area 3056513024 bytes Fixed Size 2179656 bytes Variable Size 1644170680 bytes Database Buffers 1392508928 bytes Redo Buffers 17653760 bytes 數據庫裝載完畢。 數據庫已經打開。 6)重新查看審計狀態,審計已打開. SQL> show parameter audit; NAME TYPE VALUE ------------------------------------ ----------- -------------------------- audit_file_dest string J:\APP\ADMINISTRATOR\ADMIN L\ADUMP audit_sys_operations boolean TRUE audit_trail string DB SQL> conn USERNAME/PWDXXXXXX; 已連接。 7)查詢表數據,錯誤依然,但錯誤換成了SYSTEM.PROC_AUDIT無效: SQL> select * from corporationhot; select * from corporationhot網站建設制作 * 第 1 行出現錯誤: ORA-06550: 第 1 行, 第 14 列: PLS-00905: 對象 SYSTEM.PROC_AUDIT 無效 ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored 8)將對象SYSTEM.PROC_AUDIT授權給USERNAME. SQL> grant execute on SYSTEM.PROC_AUDIT TO USERNAME; 授權成功。 9)再次以USERNAME登錄,執行數據表查詢,提示對象 SYSTEM.PROC_AUDIT 無效;因為對象已經授權,出現這種狀況可能是對象有錯誤. SQL> conn USERNAME/PWDXXXXXX; 已連接。 SQL> select * from TABLENAME; select * from TABLENAME * 第 1 行出現錯個業網站建設公司誤: ORA-06550: 第 1 行, 第 14 列: PLS-00905: 對象 SYSTEM.PROC_AUDIT 無效 ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored 10) 找到SYSTEM.PROC_AUDIT存儲過程,發現有編譯錯誤,提示sys.v_$sql,v$sql_bind_capture,sys.v_$session為無 效標識符,由于上述對象是存在的,而且可以查詢,因此懷疑是權限設置問題,做如下授權: SQL> conn / as sysdba; 已連接。 SQL> grant all on sys.v_$sql to system 2 ; 授權成功。 SQL> grant all on v$sql_bind_capture to system; 授權成功。 SQL> grant all on sys.v_$session to system; 授權成功。 11)SYSTEM.PROC_AUDIT編譯通過后,以USERNAME登錄數據庫,查看表數據恢復正常,問題解決. 為了驗證錯誤是不是導出時審計是開的,導入時審計未打開所致,重新將審計關閉: SQL> alter system set audit_sys_operations=FALSE scope=spfile; 系統已更改。 SQL> restart; SP2-0042: 未知命令 "restart" - 其余行忽略。 SQL> shutdown immediate; 數據庫已經關閉。 已經卸載數據庫。 ORACLE 例程已經關閉。 SQL> startup; ORACLE 例程已經啟動。 Total System Global Area 3056513024 bytes Fixed Size 2179656 bytes Variable Size 1644170680 bytes Database Buffers 1392508928 bytes Redo Buffers 17653760 bytes 數據庫裝載完畢。 數據庫已經打開。 12)數據庫重啟后,以USERNAME用戶登錄查詢數據正常.相關網站推廣優化seo網站建設制作。
聲明: 本文由我的SEOUC技術文章主頁發布于:2023-05-23 ,文章Oralce數據導入出現(SYSTEM.PROC_AUDIT)問題處理方建站主要講述標簽,標題,Oralce數據導入出現(SYSTEM.PROC網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_6025.html