问题:

SQL> conn hr/hr
Error accessing PRODUCT_USER_PROFILE
Warning:  Product user profile information not loaded!  You may need to run PUPBLD.SQL  as SYSTEM
Connected.
SQL>

问题分析:

这个错误提示实际意义上这只是一个警告而已,并不是真正的错误,遇到这个提示,并不会影响我们正常使用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来验证一下改表已经创建,并且熟悉一下表的结构。

代码示例:

SQL> conn hr/hr
Error accessing PRODUCT_USER_PROFILE
Warning:  Product user profile information not loaded!
You may need to run PUPBLD.SQL as SYSTEM
Connected.
SQL> conn system/test
Connected.
SQL> @/u01/oracle/sqlplus/admin/pupbld.sql
DROP SYNONYM PRODUCT_USER_PROFILE
             *
ERROR at line 1:
ORA-01434: private synonym to be dropped does not exist

DATE_VALUE FROM PRODUCT_USER_PROFILE
                  *
ERROR at line 3:
ORA-00980: synonym translation is no longer valid

DROP TABLE PRODUCT_USER_PROFILE
           *
ERROR at line 1:
ORA-00942: table or view does not exist

ALTER TABLE SQLPLUS_PRODUCT_PROFILE ADD (LONG_VALUE LONG)
*
ERROR at line 1:
ORA-00942: table or view does not exist

Table created.

DROP TABLE PRODUCT_PROFILE
           *
ERROR at line 1:
ORA-00942: table or view does not exist

DROP VIEW PRODUCT_PRIVS
*
ERROR at line 1:
ORA-00942: table or view does not exist

View created.

Grant succeeded.

Synonym dropped.

Synonym created.

DROP SYNONYM PRODUCT_USER_PROFILE
             *
ERROR at line 1:
ORA-01434: private synonym to be dropped does not exist

Synonym created.

Synonym dropped.

Synonym created.

SQL> conn hr/hr
Connected.
SQL> desc 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

SQL>

以上不是这篇小文章的重点,下面我们要利用这张表来限制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表中的内容。

解决方法:

1、以system用户登录

2、执行/u01/oracle/sqlplus/admin/pupbld.sql

3、查看product_user_profile表是否存在,存在就证明sql语句执行成功

转载于:https://blog.51cto.com/yunan/912486

Product user profile information 没有导入相关推荐

  1. 使用UTL_FILE在oracle中读写文本数据

    Technorati 标签: oracle --以SYS用户创建目录dir_dump,文件就保存在这个目录下 SQL> create directory dir_dump as '/data/c ...

  2. 添加非oracle用户到dba, oinstall组

    oracle用户所拥有的权限比较大,因此有些时候需要使用非oracle用户来完成相关数据库管理工作.尤其是多个人维护系统或数据库时,有必要为其添加不同的用户,然后将这些用户添加到dba组.同时这些用户 ...

  3. Error accessing PRODUCT_USER_PROFILE?

    有客户发邮件来表示新建user后,尝试使用该user登录时sqlplus会出现如下警告: Error accessing PRODUCT_USER_PROFILE Warning: Product u ...

  4. ORA 00942 table or view does not exist

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 在过程, ...

  5. oracle install manually(手动建库)

    环境变量 PATH=$PATH:$HOME/binexport PATH export ORACLE_SID=orcl export ORACLE_BASE=/u01/app/oracle expor ...

  6. Steps And Uses Of Product Costing

    How to do costing run? What is the use of costing run?   Steps for Product Costing:   Create Cost ce ...

  7. 2008服务器文件夹镜像,【玩转腾讯云】导入镜像-Windows 2008 R2 Datacenter

    微软发布对 Windows Server 2008 和 2008 R2 的支持已于 2020 年 1 月 14 日结束. 这意味着定期安全更新也已终止,将不会有额外的: 免费本地安全更新 非安全更新 ...

  8. Maven profile整合Spring profile

    在Maven和Spring中,都有profile这个概念.profile是用于区分各种环境的,例如开发环境.测试环境.正式环境等.Maven的profile用于在打包时根据指定环境替换不同环境的配置文 ...

  9. Maven Filtering和Profile

    Filtering Filtering是resource插件的功能,作用是将资源文件中的占位符替换成对应的值,如下图所示: 使用注意 启用resource插件的filtering功能: 设定资源文件的 ...

最新文章

  1. Educational Codeforces Round 90 (Rated for Div. 2)部分题解
  2. Mysql函数示例(如何定义输入变量与返回值)
  3. 信息安全培训的一些考题和答案
  4. 互联网公司忽悠员工的黑话,套路太深了。。。
  5. 算法题3 二分查找法
  6. vue-router各个属性的作用及用法
  7. 重识 SQLite,简约不简单
  8. vue2.0+echarts可视化图形开发中遇到的问题总结
  9. ethereum(以太坊)(二)--合约中属性和行为的访问权限
  10. python画离散点_python 画散点图
  11. Java随笔-线程stop与interrupt
  12. 黑苹果MAC好处与坏处
  13. 第一次社招笔试题回顾(全基础题)
  14. 数控机床设备物联网远程控制解决方案
  15. android开发笔记之com.android.support:percent
  16. Serverless开发实战——FASS
  17. 快递查询小程序的源码
  18. overall accuracy 总体精度的计算
  19. 彭涛:普通人如何通过个人 IP变现?
  20. [Topcoder SRM 590]Fox And City(网络流建模)

热门文章

  1. 写好代码,拒绝一传到底的参数类
  2. lwip 2.0.3 DNS 域名解析 使用
  3. Super expression must either be null or a function, not undefined
  4. select和其元素options
  5. 零点起飞学Visual C++
  6. Visual C++ 2008入门经典 第十章标准模板库(二)
  7. Windows2008管理---第12章 终端服务器
  8. ubuntu16.04打造vim和python3的IDE
  9. 学习笔记:App-V测试错误代码4505CD-1690150A-20000194
  10. [CentOs7]搭建ftp服务器(3)——上传,下载,删除,重命名,新建文件夹