Error accessing PRODUCT_USER_PROFILE

1.问题现象再现
1)创建用户sec
SQL> create user sec identified by sec;

User created.

2)授权
SQL> grant connect,resource to sec;

Grant succeeded.

3)错误在此发生
SQL> conn sec/sec
Error accessing PRODUCT_USER_PROFILE
Warning:  Product user profile information not loaded!
You may need to run PUPBLD.SQL as SYSTEM
Connected.

2.问题原因
原因是SQL*PLus用户环境设置存在问题。

3.问题处理
在错误提示中已经给出了解决办法。关键是要确认“PUPBLD.SQL”脚本的位置。这个脚本位于$ORACLE_HOME/sqlplus/admin目录下。如果不记得具体的位置,也可以使用“find ××× -iname ×××”命令来寻找。
SQL> conn system/oracle1
Connected.
SQL> @?/sqlplus/admin/pupbld.sql
…… 省略脚本执行输出内容 ……

4.最后的测试
再次测试,sec用户连接没有问题
SQL> conn sec/sec
Connected.

此时已经可以正常连接到sec用户。

5.小结
这个问题是在手工建库之后出现的。鉴于此,可以在手工创建数据库之后顺便执行该脚本以防该问题的出现。
有关PRODUCT_USER_PROFILE的更多参考:《【实验】使用PRODUCT_USER_PROFILE禁止特定用户在SQL*Plus中使用 delete语句》(http://space.itpub.net/519536/viewspace-609906)

Good luck.

secooler
10.07.22

-- The End --

原文地址:https://www.cnblogs.com/hllnj2008/p/5105898.html