gpt4 book ai didi

Oralce数据导入出现(SYSTEM.PROC_AUDIT)问题处理方法

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 29 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Oralce数据导入出现(SYSTEM.PROC_AUDIT)问题处理方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

将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 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用户登录查询数据正常. 。

最后此篇关于Oralce数据导入出现(SYSTEM.PROC_AUDIT)问题处理方法的文章就讲到这里了,如果你想了解更多关于Oralce数据导入出现(SYSTEM.PROC_AUDIT)问题处理方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com