Oralce數(shù)據(jù)導(dǎo)入出現(xiàn)(SYSTEM.PROC_AUDIT)問題處理方法
更新時(shí)間:2012年12月02日 17:40:54 作者:
A數(shù)據(jù)庫打開了審計(jì),而導(dǎo)入到B數(shù)據(jù)庫時(shí),B數(shù)據(jù)庫審計(jì)沒有打開,數(shù)據(jù)庫中沒有SYSTEM.PROC_AUDIT對(duì)象,本文將此問題的解決方法,需要的朋友可以參考下
將A數(shù)據(jù)的USERNAME用戶的數(shù)據(jù)導(dǎo)出后,再導(dǎo)入到B數(shù)據(jù)庫中的USERNAME時(shí),在USERNAME用戶下在執(zhí)行表數(shù)據(jù)查詢時(shí)出現(xiàn)如下問題:
ORA-06550: 第 1 行, 第 7 列:
PLS-00201: 必須聲明標(biāo)識(shí)符 'SYSTEM.PROC_AUDIT'
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
出現(xiàn)這個(gè)問題是由于A數(shù)據(jù)庫打開了審計(jì),而導(dǎo)入到B數(shù)據(jù)庫時(shí),B數(shù)據(jù)庫審計(jì)沒有打開,數(shù)據(jù)庫中沒有SYSTEM.PROC_AUDIT對(duì)象,導(dǎo)致上述問題.
問題解決過程如下:
1)以sysdba登錄數(shù)據(jù)庫:
D:\Users\Administrator>sqlplus / as sysdba
2) 顯示當(dāng)前審計(jì)參數(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) 啟用審計(jì).
SQL> alter system set audit_sys_operations=TRUE scope=spfile;
系統(tǒng)已更改。
4)查看新的狀態(tài),還是顯示審計(jì)操作沒打開,需重新啟動(dòng)數(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)啟動(dò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)重新查看審計(jì)狀態(tài),審計(jì)已打開.
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ù),錯(cuò)誤依然,但錯(cuò)誤換成了SYSTEM.PROC_AUDIT無效:
SQL> select * from corporationhot;
select * from corporationhot
*
第 1 行出現(xiàn)錯(cuò)誤:
ORA-06550: 第 1 行, 第 14 列:
PLS-00905: 對(duì)象 SYSTEM.PROC_AUDIT 無效
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
8)將對(duì)象SYSTEM.PROC_AUDIT授權(quán)給USERNAME.
SQL> grant execute on SYSTEM.PROC_AUDIT TO USERNAME;
授權(quán)成功。
9)再次以USERNAME登錄,執(zhí)行數(shù)據(jù)表查詢,提示對(duì)象 SYSTEM.PROC_AUDIT 無效;因?yàn)閷?duì)象已經(jīng)授權(quán),出現(xiàn)這種狀況可能是對(duì)象有錯(cuò)誤.
SQL> conn USERNAME/PWDXXXXXX;
已連接。
SQL> select * from TABLENAME;
select * from TABLENAME *
第 1 行出現(xiàn)錯(cuò)誤:
ORA-06550: 第 1 行, 第 14 列:
PLS-00905: 對(duì)象 SYSTEM.PROC_AUDIT 無效
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
10) 找到SYSTEM.PROC_AUDIT存儲(chǔ)過程,發(fā)現(xiàn)有編譯錯(cuò)誤,提示sys.v_$sql,v$sql_bind_capture,sys.v_$session為無
效標(biāo)識(shí)符,由于上述對(duì)象是存在的,而且可以查詢,因此懷疑是權(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)證錯(cuò)誤是不是導(dǎo)出時(shí)審計(jì)是開的,導(dǎo)入時(shí)審計(jì)未打開所致,重新將審計(jì)關(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)啟動(dò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)識(shí)符 'SYSTEM.PROC_AUDIT'
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
出現(xiàn)這個(gè)問題是由于A數(shù)據(jù)庫打開了審計(jì),而導(dǎo)入到B數(shù)據(jù)庫時(shí),B數(shù)據(jù)庫審計(jì)沒有打開,數(shù)據(jù)庫中沒有SYSTEM.PROC_AUDIT對(duì)象,導(dǎo)致上述問題.
問題解決過程如下:
1)以sysdba登錄數(shù)據(jù)庫:
D:\Users\Administrator>sqlplus / as sysdba
2) 顯示當(dāng)前審計(jì)參數(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) 啟用審計(jì).
SQL> alter system set audit_sys_operations=TRUE scope=spfile;
系統(tǒng)已更改。
4)查看新的狀態(tài),還是顯示審計(jì)操作沒打開,需重新啟動(dòng)數(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)啟動(dò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)重新查看審計(jì)狀態(tài),審計(jì)已打開.
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ù),錯(cuò)誤依然,但錯(cuò)誤換成了SYSTEM.PROC_AUDIT無效:
SQL> select * from corporationhot;
select * from corporationhot
*
第 1 行出現(xiàn)錯(cuò)誤:
ORA-06550: 第 1 行, 第 14 列:
PLS-00905: 對(duì)象 SYSTEM.PROC_AUDIT 無效
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
8)將對(duì)象SYSTEM.PROC_AUDIT授權(quán)給USERNAME.
SQL> grant execute on SYSTEM.PROC_AUDIT TO USERNAME;
授權(quán)成功。
9)再次以USERNAME登錄,執(zhí)行數(shù)據(jù)表查詢,提示對(duì)象 SYSTEM.PROC_AUDIT 無效;因?yàn)閷?duì)象已經(jīng)授權(quán),出現(xiàn)這種狀況可能是對(duì)象有錯(cuò)誤.
SQL> conn USERNAME/PWDXXXXXX;
已連接。
SQL> select * from TABLENAME;
select * from TABLENAME *
第 1 行出現(xiàn)錯(cuò)誤:
ORA-06550: 第 1 行, 第 14 列:
PLS-00905: 對(duì)象 SYSTEM.PROC_AUDIT 無效
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
10) 找到SYSTEM.PROC_AUDIT存儲(chǔ)過程,發(fā)現(xiàn)有編譯錯(cuò)誤,提示sys.v_$sql,v$sql_bind_capture,sys.v_$session為無
效標(biāo)識(shí)符,由于上述對(duì)象是存在的,而且可以查詢,因此懷疑是權(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)證錯(cuò)誤是不是導(dǎo)出時(shí)審計(jì)是開的,導(dǎo)入時(shí)審計(jì)未打開所致,重新將審計(jì)關(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)啟動(dò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自動(dòng)內(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錯(cuò)誤的解決辦法
- VMware Workstation/Fusion 中安裝 Fedora 23/24 及其他 Linux 系統(tǒng)時(shí)使用 Open VM Tools 代替 VMware Tools 增強(qiáng)工具的方法
- oracle 創(chuàng)建字段自增長實(shí)現(xiàn)方式
- Oracle觸發(fā)器trigger詳解
- oracle 數(shù)據(jù)按主鍵刪除慢問題的解決方法
- Linux 自動(dòng)備份oracle數(shù)據(jù)庫詳解
- ORACLE實(shí)現(xiàn)自定義序列號(hào)生成的方法
- ReactNative (API)AsyncStorage存儲(chǔ)詳解及實(shí)例
- 查詢Oracle中正在執(zhí)行和執(zhí)行過的SQL語句
- oralce和db2兼容開發(fā)注意事項(xiàng)
相關(guān)文章
解決navicat 鏈接oracle時(shí)出現(xiàn)的各種問題
這篇文章主要介紹了解決navicat 鏈接oracle時(shí)出現(xiàn)的各種問題,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-08-08Oracle數(shù)據(jù)庫中的級(jí)聯(lián)查詢、級(jí)聯(lián)刪除、級(jí)聯(lián)更新操作教程
這里整理了Oracle中的三種級(jí)聯(lián)操作,其中Oracle定義外健的時(shí)候可以定義級(jí)聯(lián)刪除,但是沒有級(jí)聯(lián)修改的語法,當(dāng)然可以用觸發(fā)器實(shí)現(xiàn),下面我們?cè)敿?xì)來看Oracle數(shù)據(jù)庫中的級(jí)聯(lián)查詢、級(jí)聯(lián)刪除、級(jí)聯(lián)更新操作教程2016-05-05PLSQL創(chuàng)建新用戶并導(dǎo)入導(dǎo)出.dmp文件全過程
plsql導(dǎo)入.sql和.dmp文件時(shí)會(huì)經(jīng)常用到,對(duì)于初學(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自動(dòng)內(nèi)存管理執(zhí)行步驟
設(shè)置內(nèi)存管理首先要啟用oracle自動(dòng)內(nèi)存管理需要shutdown ,restart,接下來為大家介紹下詳細(xì)的執(zhí)行步驟,感興趣的朋友可以參考下哈2013-04-04詳解Oracle中的隱含參數(shù)_disable_logging
之前看到過一篇文章是介紹Oracle的一個(gè)內(nèi)部隱含參數(shù)_disable_logging,最近又看到有朋友論述這個(gè)參數(shù),所以下面這篇文章就來給大家介紹下關(guān)于Oracle中隱含參數(shù)_disable_logging的相關(guān)資料,需要的朋友可以參考下。2017-02-02