SQL*Plus安全性

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安全性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值