Oracle PUP(PRODUCT_USER_PROFILE)配置和使用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oracle PUP(PRODUCT_USER_PROFILE)配置和使用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4830字,纯文字阅读大概需要7分钟。
内容图文
![Oracle PUP(PRODUCT_USER_PROFILE)配置和使用](/upload/InfoBanner/zyjiaocheng/479/40a2fcc6915844b6b1c0b16f0a64a022.jpg)
PUP(PRODUCT_USER_PROFILE)介绍
PRODUCT_USER_PROFILE是SYSTEM账户下一个表,可提供用户级别的安全限制。
PUP设置对DBA权限用户无效。
PUP仅仅针对本地数据库生效(Local Database)。
1、SYSTEM 用户创建PUP:
SQLPLUS SYSTEM
@ D:\app\Administrator\product\11.2.0\dbhome_1\sqlplus\admin\pupbld.sql
脚本内容:
DROP SYNONYM PRODUCT_USER_PROFILE; CREATE TABLE SQLPLUS_PRODUCT_PROFILE AS SELECT PRODUCT, USERID, ATTRIBUTE, SCOPE, NUMERIC_VALUE, CHAR_VALUE, DATE_VALUE FROM PRODUCT_USER_PROFILE; DROP TABLE PRODUCT_USER_PROFILE; ALTER TABLE SQLPLUS_PRODUCT_PROFILE ADD (LONG_VALUE LONG); -- Create SQLPLUS_PRODUCT_PROFILE from scratch CREATE TABLE SQLPLUS_PRODUCT_PROFILE ( PRODUCT VARCHAR2 (30) NOT NULL, USERID VARCHAR2 (30), ATTRIBUTE VARCHAR2 (240), SCOPE VARCHAR2 (240), NUMERIC_VALUE DECIMAL (15,2), CHAR_VALUE VARCHAR2 (240), DATE_VALUE DATE, LONG_VALUE LONG ); -- Remove SQL*Plus V3 name for sqlplus_product_profile DROP TABLE PRODUCT_PROFILE; -- Create the view PRODUCT_PRIVS and grant access to that DROP VIEW PRODUCT_PRIVS; CREATE VIEW PRODUCT_PRIVS AS SELECT PRODUCT, USERID, ATTRIBUTE, SCOPE, NUMERIC_VALUE, CHAR_VALUE, DATE_VALUE, LONG_VALUE FROM SQLPLUS_PRODUCT_PROFILE WHERE USERID = ‘PUBLIC‘ OR USER LIKE USERID; GRANT SELECT ON PRODUCT_PRIVS TO PUBLIC; DROP PUBLIC SYNONYM PRODUCT_PROFILE; CREATE PUBLIC SYNONYM PRODUCT_PROFILE FOR SYSTEM.PRODUCT_PRIVS; DROP SYNONYM PRODUCT_USER_PROFILE; CREATE SYNONYM PRODUCT_USER_PROFILE FOR SYSTEM.SQLPLUS_PRODUCT_PROFILE; DROP PUBLIC SYNONYM PRODUCT_USER_PROFILE; CREATE PUBLIC SYNONYM PRODUCT_USER_PROFILE FOR SYSTEM.PRODUCT_PRIVS;
--禁用HR用户的DROP命令
SYSTEM@orcl> insert into product_user_profile values(‘SQL*Plus‘, ‘HR‘, ‘DROP‘, NULL, NULL, ‘DISABLED‘, NULL, NULL);
已创建 1 行。
SYSTEM@orcl> commit;
提交完毕。
2、PUP表结构概览
SYSTEM@orcl> desc product_user_profile
名称 是否为空?
类型
---------------------------------------- -------- ---------------------------
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
--PRODUCT : 说明要限制的程序
--USERID : 要限制的用户(大写)
--ATTRIBUTE : 要限制的命令或角色
--SCOPE : 不适用;放NULL
--NUMERIC_VALUE : 不适用。放NULL
--CHAR_VALUE :DISABLED
--DATE_VALUE :不适用。放NULL
--LONG_VALUE :不适用;放NULL
3、HR登录进行DROP操作证明设置生效:
SYSTEM@orcl> conn hr/hr
已连接。
HR@orcl> create table t(x int);
表已创建。
HR@orcl> drop table t;
SP2-0544: 在产品用户概要文件里禁用命令 "drop"
HR@orcl> conn system/oracle@orcl
已连接。
SYSTEM@orcl> delete from product_user_profile;
已删除 1 行。
SYSTEM@orcl> commit;
提交完毕。
SYSTEM@orcl> conn hr/hr@orcl
已连接。
HR@orcl> drop table t;
表已删除。
4、禁用角色
PRODUCT USERID ATTRIBUTE SCOPE NUMERIC_VALUE CHAR_VALUE DATE_VALUE LONG_VALUE
------- ------ --------- ----- -------- ------ ----- -----
SQL*Plus HR ROLES ROLE1
SQL*Plus PUBLIC ROLES ROLE2
用户登录期间PUP行记录将翻译为下面命令
During login, these table rows are translated into the command
SET ROLE ALL EXCEPT ROLE1, ROLE2
样例:
SYS@orcl> create role r_t;
角色已创建。
SYS@orcl> grant select on t to r_t;
授权成功。
SYS@orcl> grant r_t to hr;
授权成功。
SYS@orcl> conn hr/hr
已连接。
HR@orcl> select * from sys.t;
未选定行
HR@orcl> conn system/oracle
已连接。
会话已更改。
SYSTEM@orcl> insert into product_user_profile values(‘SQL*Plus‘, ‘HR‘, ‘ROLES‘, NULL, NULL, ‘r_t‘, NULL, NULL);
已创建 1 行。
SYSTEM@orcl> commit;
提交完毕。
SYSTEM@orcl> conn hr/hr
已连接。
HR@orcl> select * from sys.t;
select * from sys.t
*
第 1 行出现错误:
ORA-00942: 表或视图不存在
HR@orcl> select username, granted_role
2 from user_role_privs
3 where granted_role=‘R_T‘;
USERNAME GRANTED_ROLE
------------------------------ ------------------------------
HR R_T
HR@orcl> conn system/oracle
已连接。
会话已更改。
SYSTEM@orcl> delete from product_user_profile;
已删除 1 行。
SYSTEM@orcl> commit;
提交完毕。
SYSTEM@orcl> conn hr/hr
已连接。
会话已更改。
HR@orcl> select * from sys.t;
未选定行
------------------------‘
Dylan Presents.
Oracle PUP(PRODUCT_USER_PROFILE)配置和使用
标签:select alter lte .sql 文件 access log mit 会话
本文系统来源:http://www.cnblogs.com/gavanwanggw/p/6693004.html
内容总结
以上是互联网集市为您收集整理的Oracle PUP(PRODUCT_USER_PROFILE)配置和使用全部内容,希望文章能够帮你解决Oracle PUP(PRODUCT_USER_PROFILE)配置和使用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。