Oralce數(shù)據(jù)導(dǎo)入出現(xiàn)(SYSTEM.PROC_AUDIT)問題處理方法
更新時間:2012年12月02日 17:40:54 作者:
A數(shù)據(jù)庫打開了審計,而導(dǎo)入到B數(shù)據(jù)庫時,B數(shù)據(jù)庫審計沒有打開,數(shù)據(jù)庫中沒有SYSTEM.PROC_AUDIT對象,本文將此問題的解決方法,需要的朋友可以參考下
將A數(shù)據(jù)的USERNAME用戶的數(shù)據(jù)導(dǎo)出后,再導(dǎo)入到B數(shù)據(jù)庫中的USERNAME時,在USERNAME用戶下在執(zhí)行表數(shù)據(jù)查詢時出現(xiàn)如下問題:
ORA-06550: 第 1 行, 第 7 列:
PLS-00201: 必須聲明標(biāo)識符 'SYSTEM.PROC_AUDIT'
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
出現(xiàn)這個問題是由于A數(shù)據(jù)庫打開了審計,而導(dǎo)入到B數(shù)據(jù)庫時,B數(shù)據(jù)庫審計沒有打開,數(shù)據(jù)庫中沒有SYSTEM.PROC_AUDIT對象,導(dǎo)致上述問題.
問題解決過程如下:
1)以sysdba登錄數(shù)據(jù)庫:
D:\Users\Administrator>sqlplus / as sysdba
2) 顯示當(dāng)前審計參數(shù):
SQL> show parameter audit;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string J:\APP\ADMINISTRATOR\ADMIN\ORC
L\ADUMP
audit_sys_operations boolean FALSE
audit_trail string DB
3) 啟用審計.
SQL> alter system set audit_sys_operations=TRUE scope=spfile;
系統(tǒng)已更改。
4)查看新的狀態(tài),還是顯示審計操作沒打開,需重新啟動數(shù)據(jù)庫:
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)重啟數(shù)據(jù)庫
SQL> shutdown immediate
數(shù)據(jù)庫已經(jīng)關(guān)閉。
已經(jīng)卸載數(shù)據(jù)庫。
ORACLE 例程已經(jīng)關(guān)閉。
SQL> startup
ORACLE 例程已經(jīng)啟動。
Total System Global Area 3056513024 bytes
Fixed Size 2179656 bytes
Variable Size 1644170680 bytes
Database Buffers 1392508928 bytes
Redo Buffers 17653760 bytes
數(shù)據(jù)庫裝載完畢。
數(shù)據(jù)庫已經(jīng)打開。
6)重新查看審計狀態(tài),審計已打開.
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)查詢表數(shù)據(jù),錯誤依然,但錯誤換成了SYSTEM.PROC_AUDIT無效:
SQL> select * from corporationhot;
select * from corporationhot
*
第 1 行出現(xiàn)錯誤:
ORA-06550: 第 1 行, 第 14 列:
PLS-00905: 對象 SYSTEM.PROC_AUDIT 無效
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
8)將對象SYSTEM.PROC_AUDIT授權(quán)給USERNAME.
SQL> grant execute on SYSTEM.PROC_AUDIT TO USERNAME;
授權(quán)成功。
9)再次以USERNAME登錄,執(zhí)行數(shù)據(jù)表查詢,提示對象 SYSTEM.PROC_AUDIT 無效;因?yàn)閷ο笠呀?jīng)授權(quán),出現(xiàn)這種狀況可能是對象有錯誤.
SQL> conn USERNAME/PWDXXXXXX;
已連接。
SQL> select * from TABLENAME;
select * from TABLENAME *
第 1 行出現(xiàn)錯誤:
ORA-06550: 第 1 行, 第 14 列:
PLS-00905: 對象 SYSTEM.PROC_AUDIT 無效
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
10) 找到SYSTEM.PROC_AUDIT存儲過程,發(fā)現(xiàn)有編譯錯誤,提示sys.v_$sql,v$sql_bind_capture,sys.v_$session為無
效標(biāo)識符,由于上述對象是存在的,而且可以查詢,因此懷疑是權(quán)限設(shè)置問題,做如下授權(quán):
SQL> conn / as sysdba;
已連接。
SQL> grant all on sys.v_$sql to system
2 ;
授權(quán)成功。
SQL> grant all on v$sql_bind_capture to system;
授權(quán)成功。
SQL> grant all on sys.v_$session to system;
授權(quán)成功。
11)SYSTEM.PROC_AUDIT編譯通過后,以USERNAME登錄數(shù)據(jù)庫,查看表數(shù)據(jù)恢復(fù)正常,問題解決.
為了驗(yàn)證錯誤是不是導(dǎo)出時審計是開的,導(dǎo)入時審計未打開所致,重新將審計關(guān)閉:
SQL> alter system set audit_sys_operations=FALSE scope=spfile;
系統(tǒng)已更改。
SQL> restart;
SP2-0042: 未知命令 "restart" - 其余行忽略。
SQL> shutdown immediate;
數(shù)據(jù)庫已經(jīng)關(guān)閉。
已經(jīng)卸載數(shù)據(jù)庫。
ORACLE 例程已經(jīng)關(guān)閉。
SQL> startup;
ORACLE 例程已經(jīng)啟動。
Total System Global Area 3056513024 bytes
Fixed Size 2179656 bytes
Variable Size 1644170680 bytes
Database Buffers 1392508928 bytes
Redo Buffers 17653760 bytes
數(shù)據(jù)庫裝載完畢。
數(shù)據(jù)庫已經(jīng)打開。
12)數(shù)據(jù)庫重啟后,以USERNAME用戶登錄查詢數(shù)據(jù)正常.
ORA-06550: 第 1 行, 第 7 列:
PLS-00201: 必須聲明標(biāo)識符 'SYSTEM.PROC_AUDIT'
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
出現(xiàn)這個問題是由于A數(shù)據(jù)庫打開了審計,而導(dǎo)入到B數(shù)據(jù)庫時,B數(shù)據(jù)庫審計沒有打開,數(shù)據(jù)庫中沒有SYSTEM.PROC_AUDIT對象,導(dǎo)致上述問題.
問題解決過程如下:
1)以sysdba登錄數(shù)據(jù)庫:
D:\Users\Administrator>sqlplus / as sysdba
2) 顯示當(dāng)前審計參數(shù):
SQL> show parameter audit;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
audit_file_dest string J:\APP\ADMINISTRATOR\ADMIN\ORC
L\ADUMP
audit_sys_operations boolean FALSE
audit_trail string DB
3) 啟用審計.
SQL> alter system set audit_sys_operations=TRUE scope=spfile;
系統(tǒng)已更改。
4)查看新的狀態(tài),還是顯示審計操作沒打開,需重新啟動數(shù)據(jù)庫:
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)重啟數(shù)據(jù)庫
SQL> shutdown immediate
數(shù)據(jù)庫已經(jīng)關(guān)閉。
已經(jīng)卸載數(shù)據(jù)庫。
ORACLE 例程已經(jīng)關(guān)閉。
SQL> startup
ORACLE 例程已經(jīng)啟動。
Total System Global Area 3056513024 bytes
Fixed Size 2179656 bytes
Variable Size 1644170680 bytes
Database Buffers 1392508928 bytes
Redo Buffers 17653760 bytes
數(shù)據(jù)庫裝載完畢。
數(shù)據(jù)庫已經(jīng)打開。
6)重新查看審計狀態(tài),審計已打開.
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)查詢表數(shù)據(jù),錯誤依然,但錯誤換成了SYSTEM.PROC_AUDIT無效:
SQL> select * from corporationhot;
select * from corporationhot
*
第 1 行出現(xiàn)錯誤:
ORA-06550: 第 1 行, 第 14 列:
PLS-00905: 對象 SYSTEM.PROC_AUDIT 無效
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
8)將對象SYSTEM.PROC_AUDIT授權(quán)給USERNAME.
SQL> grant execute on SYSTEM.PROC_AUDIT TO USERNAME;
授權(quán)成功。
9)再次以USERNAME登錄,執(zhí)行數(shù)據(jù)表查詢,提示對象 SYSTEM.PROC_AUDIT 無效;因?yàn)閷ο笠呀?jīng)授權(quán),出現(xiàn)這種狀況可能是對象有錯誤.
SQL> conn USERNAME/PWDXXXXXX;
已連接。
SQL> select * from TABLENAME;
select * from TABLENAME *
第 1 行出現(xiàn)錯誤:
ORA-06550: 第 1 行, 第 14 列:
PLS-00905: 對象 SYSTEM.PROC_AUDIT 無效
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
10) 找到SYSTEM.PROC_AUDIT存儲過程,發(fā)現(xiàn)有編譯錯誤,提示sys.v_$sql,v$sql_bind_capture,sys.v_$session為無
效標(biāo)識符,由于上述對象是存在的,而且可以查詢,因此懷疑是權(quán)限設(shè)置問題,做如下授權(quán):
SQL> conn / as sysdba;
已連接。
SQL> grant all on sys.v_$sql to system
2 ;
授權(quán)成功。
SQL> grant all on v$sql_bind_capture to system;
授權(quán)成功。
SQL> grant all on sys.v_$session to system;
授權(quán)成功。
11)SYSTEM.PROC_AUDIT編譯通過后,以USERNAME登錄數(shù)據(jù)庫,查看表數(shù)據(jù)恢復(fù)正常,問題解決.
為了驗(yàn)證錯誤是不是導(dǎo)出時審計是開的,導(dǎo)入時審計未打開所致,重新將審計關(guān)閉:
SQL> alter system set audit_sys_operations=FALSE scope=spfile;
系統(tǒng)已更改。
SQL> restart;
SP2-0042: 未知命令 "restart" - 其余行忽略。
SQL> shutdown immediate;
數(shù)據(jù)庫已經(jīng)關(guān)閉。
已經(jīng)卸載數(shù)據(jù)庫。
ORACLE 例程已經(jīng)關(guān)閉。
SQL> startup;
ORACLE 例程已經(jīng)啟動。
Total System Global Area 3056513024 bytes
Fixed Size 2179656 bytes
Variable Size 1644170680 bytes
Database Buffers 1392508928 bytes
Redo Buffers 17653760 bytes
數(shù)據(jù)庫裝載完畢。
數(shù)據(jù)庫已經(jīng)打開。
12)數(shù)據(jù)庫重啟后,以USERNAME用戶登錄查詢數(shù)據(jù)正常.
您可能感興趣的文章:
- Oralce 歸檔日志開啟與關(guān)閉示例
- 設(shè)置oralce自動內(nèi)存管理執(zhí)行步驟
- 提取oralce當(dāng)天的alert log的shell腳本代碼
- Oracle數(shù)據(jù)庫opatch補(bǔ)丁操作流程
- mysql數(shù)據(jù)庫遷移至Oracle數(shù)據(jù)庫
- Oracle數(shù)據(jù)庫ORA 54013錯誤的解決辦法
- VMware Workstation/Fusion 中安裝 Fedora 23/24 及其他 Linux 系統(tǒng)時使用 Open VM Tools 代替 VMware Tools 增強(qiáng)工具的方法
- oracle 創(chuàng)建字段自增長實(shí)現(xiàn)方式
- Oracle觸發(fā)器trigger詳解
- oracle 數(shù)據(jù)按主鍵刪除慢問題的解決方法
- Linux 自動備份oracle數(shù)據(jù)庫詳解
- ORACLE實(shí)現(xiàn)自定義序列號生成的方法
- ReactNative (API)AsyncStorage存儲詳解及實(shí)例
- 查詢Oracle中正在執(zhí)行和執(zhí)行過的SQL語句
- oralce和db2兼容開發(fā)注意事項(xiàng)
相關(guān)文章
解決navicat 鏈接oracle時出現(xiàn)的各種問題
這篇文章主要介紹了解決navicat 鏈接oracle時出現(xiàn)的各種問題,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-08-08Oracle數(shù)據(jù)庫中的級聯(lián)查詢、級聯(lián)刪除、級聯(lián)更新操作教程
這里整理了Oracle中的三種級聯(lián)操作,其中Oracle定義外健的時候可以定義級聯(lián)刪除,但是沒有級聯(lián)修改的語法,當(dāng)然可以用觸發(fā)器實(shí)現(xiàn),下面我們詳細(xì)來看Oracle數(shù)據(jù)庫中的級聯(lián)查詢、級聯(lián)刪除、級聯(lián)更新操作教程2016-05-05PLSQL創(chuàng)建新用戶并導(dǎo)入導(dǎo)出.dmp文件全過程
plsql導(dǎo)入.sql和.dmp文件時會經(jīng)常用到,對于初學(xué)者來說可能沒有那么簡單,畢竟oracle數(shù)據(jù)庫比較麻煩,這篇文章主要給大家介紹了關(guān)于PLSQL創(chuàng)建新用戶并導(dǎo)入導(dǎo)出.dmp文件的相關(guān)資料,需要的朋友可以參考下2023-11-11使用Navicat Premium工具將oracle數(shù)據(jù)庫遷移到MySQL
最近的業(yè)務(wù)項(xiàng)目需求,因此總結(jié)遇到的問題。使用Navicat Premium工具將Oralce數(shù)據(jù)庫遷移到MySQL,本文通過圖文的形式給大家詳細(xì)介紹,感興趣的朋友跟隨小編一起看看吧2021-05-05設(shè)置oralce自動內(nèi)存管理執(zhí)行步驟
設(shè)置內(nèi)存管理首先要啟用oracle自動內(nèi)存管理需要shutdown ,restart,接下來為大家介紹下詳細(xì)的執(zhí)行步驟,感興趣的朋友可以參考下哈2013-04-04詳解Oracle中的隱含參數(shù)_disable_logging
之前看到過一篇文章是介紹Oracle的一個內(nèi)部隱含參數(shù)_disable_logging,最近又看到有朋友論述這個參數(shù),所以下面這篇文章就來給大家介紹下關(guān)于Oracle中隱含參數(shù)_disable_logging的相關(guān)資料,需要的朋友可以參考下。2017-02-02