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;

阅读更多
个人分类: ORACLE STUDY
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭