这个错误一般在手工建立的数据库中容易碰到,对于使用DBCA建立的数据库,已经默认执行了相关的脚本。
Oracle提供了一个PRODUCT_USER_PROFILE表,用来控制SQLPLUS工具的行为。如果这个表没有建立,那么用普通用户登陆会出现下面的告警信息:
SQL> conn u1/u1
访问 PRODUCT_USER_PROFILE 时出错
警告: 未加载产品用户概要文件信息!
您需要将 PUPBLD.SQL 作为 SYSTEM 运行
已连接。
这个错误信息已经很清楚了,除了没有说明pupbld.sql这个文件的路径外,已经给出了解决问题的其他所有信息。
其实这个文件的位置很好找,既然是和sqlplus相关的脚本,那么这个文件多半就存在于$ORACLE_HOME/sqlplus/admin目录下:
SQL> conn system
请输入口令:
已连接。
SQL> @?/sqlplus/admin/pupbld.sql
DROP SYNONYM PRODUCT_USER_PROFILE
*
ERROR 位于第 1 行:
ORA-01434: 要删除的隐含同义词不存在
DATE_VALUE FROM PRODUCT_USER_PROFILE
*
ERROR 位于第 3 行:
ORA-00942: 表或视图不存在
DROP TABLE PRODUCT_USER_PROFILE
*
ERROR 位于第 1 行:
ORA-00942: 表或视图不存在
ALTER TABLE SQLPLUS_PRODUCT_PROFILE ADD (LONG_VALUE LONG)
*
ERROR 位于第 1 行:
ORA-00942: 表或视图不存在
表已创建。
DROP TABLE PRODUCT_PROFILE
*
ERROR 位于第 1 行:
ORA-00942: 表或视图不存在
DROP VIEW PRODUCT_PRIVS
*
ERROR 位于第 1 行:
ORA-00942: 表或视图不存在
视图已建立。
授权成功。
DROP PUBLIC SYNONYM PRODUCT_PROFILE
*
ERROR 位于第 1 行:
ORA-01432: 要删除的公用同义词不存在
同义词已创建。
DROP SYNONYM PRODUCT_USER_PROFILE
*
ERROR 位于第 1 行:
ORA-01434: 要删除的隐含同义词不存在
同义词已创建。
DROP PUBLIC SYNONYM PRODUCT_USER_PROFILE
*
ERROR 位于第 1 行:
ORA-01432: 要删除的公用同义词不存在
同义词已创建。
SQL> conn u1/u1
已连接。
在SYSTEM用户下,执行了pupbld.sql脚本后,问题解决。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-611343/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/4227/viewspace-611343/