免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2154 | 回复: 6
打印 上一主题 下一主题

oracle sql connenct 问题? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-04 09:36 |只看该作者 |正序浏览
Enter password:
Error accessing PRODUCT_USER_PROFILE
Warning:  Product user profile information not loaded!
You may need to run PUPBLD.SQL as SYSTEM
Connected.
这是什么意思啊,有什么影响啊.能正常工作么?

论坛徽章:
0
7 [报告]
发表于 2007-04-05 12:32 |只看该作者
[在手动创建数据库后,数据库管理员通过授权命令让用户拥有一定的权限,同时数据库系统也可以限制用户对产品的使用权限,其正是通过以上的那个文件来控制。对于文件product_user_profile我个人的理解是在产品上用户的profile..它的存在大大的加强了数据库系统的安全性以及对产品使用的具体详细控制。

论坛徽章:
0
6 [报告]
发表于 2007-04-04 21:42 |只看该作者
SCOTT是oracle数据库内核的作者

论坛徽章:
0
5 [报告]
发表于 2007-04-04 11:47 |只看该作者
SCOTT 是一個示例用戶﹐與sco無關。

允許null 修改如下:

ALTER TABLE table_name MODIFY(字段名   NULL);

论坛徽章:
0
4 [报告]
发表于 2007-04-04 10:22 |只看该作者

scott null问题?

scott 是什么意思啊.
null 怎样添加啊,就是建表是没有声明,现在想添加.

论坛徽章:
0
3 [报告]
发表于 2007-04-04 10:12 |只看该作者
谢谢.
如果要想scott用户能够drop修改disabled 就可以么?
谁知道null项如何添加,建好表后想添加呢. 我是新手,很多问题不会.

论坛徽章:
0
2 [报告]
发表于 2007-04-04 09:48 |只看该作者
引用Kamus的﹕

我们有时候在以普通用户登录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这个客户端程序(目前好像也只有这个程序才会去自动检查这张表

如果不想看到这个警告,作如下操作:
以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表中的内容。
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP