SQL*Plus安全性

来源:互联网 发布:氮泵对身体的危害知乎 编辑:程序博客网 时间:2024/05/15 17:27

PRODUCT_USER_PROFILE 表

     DBA可以用此表限制用户在SQL*Plus环境中对SQL,SQL*Plus以及PL/SQL命令的访问。这是SQL*Plus的强制安全性,也就是说,SQL*Plus在启动过程中必须读取相应用户模式中的PRODUCT_USER_PROFILE表。默认其中没有任何记录。用户对PRODUCT_USER_PROFILE表只有SELECT权限。
     在SQL*Plus启动时,读取其中的记录并且在用户的整个数据库会话中维护这些限制。对PRODUCT_USER_PROFILE表的修改在用户下次登录SQL*Plus时生效。
    当SYSTEM,SYS或者具有SYSDBA,SYSOPER特权的用户连接或登录,SQL*Plus不会读取PRODUCT_USER_PROFILE表中的记录,因此,对这些用户不会应用任何限制。另外,PUP表只应用于本地数据块,如果通过数据库链接访问远程数据库上的对象,那么PUP表不起作用。
   
    创建PUP表
         作为SYSTEM用户登录SQL*PLUS执行 @%Oracle_Home%/sqlplus/admin/pupbld.sql (Windows).
         SYSTEM用户拥有PUP表的所有权限,其他用户只有SELECT 权限,运行pupbld.sql 脚本时,把SELECT访问权限赋予PUBLIC角色。
    PUP表结构
                 PRODUCT_USER_PROFILE表结构 Name   Null? Type PRODUCT NOT NULL  VARCHAR2(30) USERID  VARCHAR2(30) ATTRIBUTE  VARCHAR2(240) SCOPE   VARCHAR2(240) NUMERIC_VALUE  NUMBER(15,2) CHAR_VALUE   VARCHAR2(240) DATE_VALUE   DATE LONG_VALUE  LONG   

    PUP表列的描述
   
  
禁用SQL*Plus,SQL和PL/SQL命令

 可以禁用下面的SQL*Plus 命令:

COPY   HOST   SET
EDIT   PASSWORD  SPOOL
EXECUTE  QUIT   START
EXIT   RUN
GET   SAVE
 可以禁用下面的SQL命令:
ALTER   GRANT   SET CONSTRAINTS
ANALYZE  INSERT   SET ROLE
AUDIT   LOCK   SET TRANSACTION
CONNECT  NOAUDIT  TRUNCATE
CREATE  RENAME  UPDATE
DELETE  REVOKE
DROP   SELECT
 还可以禁用下面的PL/SQL命令:
BEGIN   DECLARE


创建和控制角色

用SQLPlus命令禁用命令

iSQLPlus安全性

原创粉丝点击