您的当前位置:我要购书网>在线阅读>数据库

使用product_user_profile来实现用户权限的设定

来源:互联网  作者:  发布:我要购物网收集整理  发布时间:2006-8-31 人气:105

使用product_user_profile来实现用户权限的设定

Author:Kamus
Mail:kamus@itpub.net
Date:2004-1

我们有时候在以普通用户登录SQL*Plus的时候,会碰到下面的错误提示:
Error accessing PRODUCT_USER_PROFILE
Warning: Product user profile information not loaded!
You may need to run PUPBLD.SQL as SYSTEM

其实在实际意义上这只是一个警告而已,并不是真正的错误,遇到这个提示,并不会影响我们正常使用SQL*Plus,也不会对数据库功能产生影响。

如果数据库是使用dbca创建的那么不用担心这个问题,通常是我们手动创建数据库的情况下,忘了执行一些脚本才导致出现这样的警告。PRODUCT_USER_PROFILE其实有很强大的功能,这是SYSTEM模式下的一个表,在此表中存在的数据可以让客户端程序登入的时候检查是否在命令的执行上有什么限制。基本上我们是以它来限制SQL*Plus这个客户端程序(目前好像也只有这个程序才会去自动检查这张表:D)

如果不想看到这个警告,作如下操作:
以SYSTEM用户登入SQL*Plus,然后执行PUPBLD.SQL,这个文件通常在$ORACLE_HOME/sqlplus/admin目录中。
SQL> @$ORACLE_HOME/sqlplus/admin/pupbld.sql

执行完毕以后,可以desc product_user_profile来验证一下改表已经创建,并且熟悉一下表的结构。

以上不是这篇小文章的重点,下面我们要利用这张表来限制SCOTT用户不能执行DROP命令,即使SCOTT用户拥有DROP TABLE的权限。
SQL> insert into product_user_profile (
2 product, userid, attribute, char_value)
3 values (
4 'SQL*Plus','SCOT%','DROP','DISABLED');

1 row inserted

Executed in 0.01 seconds

SQL> commit;

Commit complete

Executed in 0 seconds

然后退出SYSTEM用户,用SCOTT用户登录,作个测试:
SQL> create table t_test_profile(
2 id number);

Table created.

Elapsed: 00:00:00.10

SQL> drop table t_test_profle;
SP2-0544: invalid command: drop这就是product_user_profile的作用,回顾一下:1。如果我们把DROP改成CREATE或者UPDATE那么就对用户禁止了这些命令。2。从上面的insert语句,我们可以看到对于用户的限制支持通配符,所有以SCOT开头的用户都不能执行指定的命令。3。修改了product_user_profile内容,用户必须重新登录SQL*Plus,修改才会生效,也就是只有在登录的时候,SQL*Plus才会检查一遍product_user_profile表中的内容。

相关文章
· 使用 system.web.mail发送邮件
· 使用delphi开发多媒体播放音轨问题的faq(原创)
· 使用directshow播放摄像头的基类
· 使用dumpbin命令
· 使用mouse_event来模拟一次选中文本框中的文本
· 使用eclipse进行swt编程(2)
· 使用md5校验和算法保护文件
· 使用directshow播放mpeg的基类
· 使用vc6进行ado编程,使用sql server 20..
· 使用vc++进行tray区编程
热点文章
%>
· creating user controls
· 提高fastreplace速度 (fstrrep.pas)
· asc ii 完整码表及简介
· 自动生成拼音(汉字反查到拼音)
· sql2000无法安装的解决办法
· 浏览器集成教学 自定义浏览器
· vc++技术内幕(第四版)笔记(第7章)
· mysql5.0中文乱码解决方案
· sql server日期计算
· vc下利用ado连接access数据库
 淘宝旺旺:我要购书网上书店『图书目录
本购书中心地址: 杭州市延安路111号清波商厦南楼D座(总部) 上海市闸北区老沪太路网上购书中心(沪部),  邮编:310002
电子邮件:books@51goushu.com  经营许可证编号:沪ICP备06038574号
版权所有 2003-2008 © All Rights Reserved .购书网