现在的位置: 首页 > 综合 > 正文

Oracle 撤消 PUBLIC 对功能强大的程序包的 EXECUTE 权限

2014年03月17日 ⁄ 综合 ⁄ 共 2001字 ⁄ 字号 评论关闭

Oracle 建议撤消 PUBLIC 对功能强大的程序包的 EXECUTE 权限

 

OEM提示:Oracle 建议撤消 PUBLIC 对功能强大的程序包的 EXECUTE 权限

程序包­: DBMS_RANDOM­ UTL_HTTP­ UTL_SMTP­ UTL_TCP­

[oracle@db ~]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.4.0 - Production on Fri Jun 12 14:20:44 2009

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> revoke execute on utl_file from public;

Revoke succeeded.

SQL> revoke execute on dbms_random from public;

Revoke succeeded.

SQL> revoke execute on utl_http from public;

Revoke succeeded.

SQL> revoke execute on utl_smtp from public;

Revoke succeeded.

SQL> revoke execute on utl_tcp from public;

Revoke succeeded.

SQL>

========================================

收回后会出现许多无效的包,下面的你可能会用到。

SQL>grant execute on utl_file to public;
SQL>grant execute on DBMS_RANDOM to public;
SQL>grant execute on UTL_HTTP to public;
SQL>grant execute on UTL_SMTP to public;
SQL>grant execute on UTL_TCP to public;

========================================

查看Public所拥有权限:

SQL> SELECT table_name FROM dba_tab_privs WHERE grantee='PUBLIC' AND privilege='EXECUTE' AND table_name LIKE 'UTL%';

========================================

Errors in file /u01/oracle/admin/gstsms/bdump/gstsms_j002_21665.trc:
ORA-12012: error on auto execute of job 90541
ORA-04063: ORA-04063: package body "ORACLE_OCM.MGMT_DB_LL_METRICS" has errors
ORA-06508: PL/SQL: could not find program unit being called: "ORACLE_OCM.MGMT_DB_LL_METRICS"
ORA-06512: at line 1
has errors

To give Execute Privilege to the UTL_FILE, run the following SQL statement:

SQL>GRANT EXECUTE ON SYS.UTL_FILE TO ORACLE_OCM;

参考地址:http://download.oracle.com/docs/html/B32294_08/troubleshooting.htm

========================================

 

 

1月4日

(EM) Oracle 建议撤消 PUBLIC 对功能强大的程序包的 EXECUTE 权限

Oracle 建议撤消 PUBLIC 对功能强大的程序包的 EXECUTE 权限 (网找的解决方法,但是EM并没有取消警告)

程序包­ UTL_FILE­

程序包­ DBMS_RANDOM­ UTL_HTTP­ UTL_SMTP­ UTL_TCP­

 

解决:

revoke execute on utl_file from public;

revoke execute on DBMS_RANDOM from public;

revoke execute on UTL_HTTP from public;

revoke execute on UTL_SMTP from public;

revoke execute on UTL_TCP from public;

=====================================================

抱歉!评论已关闭.