The Oracle (tm) Users' Co-Operative FAQ
Why does everyone except SYSTEM (and possibly SYS) get a strange error message when starting up SQL*Plus ?
| Author's name: Jonathan Lewis Author's Email: Jonathan@jlcomp.demon.co.uk |
Date written: 26th July 2001 Oracle version(s): 7.3 - 8.1.7.0 |
When staritng SQL*Plus as anything other
than SYSTEM (and in later versions of Oracle SYS) I get
the following error message. What's the problem ?Error accessing PRODUCT_USER_PROFILE Warning: Product user profile information not loaded! You may need to run PUPBLD.SQL as SYSTEM |
This is a warning only, not a severe error, and the error message may vary with your version of Oracle. If you are running with a default database built by the installer, it will probably not appear; but if you have written your own script to create a new database you may have omitted a minor step at the end of the process.
The error message relates to a feature introduced in Oracle 6 - Product User Profiles. This is basically a reference table that can be used by a client program to check if there are any restrictions on what the user may do with that program. As far as I am aware, SQL*Plus is the only program that recognises it, and when it starts up it tries to access the view (formerly table) SYSTEM.PRODUCT_USER_PROFILE. If the table does not exist, then this error message appears.
If you want to stop this error message, you need only connect through SQL*Plus as SYSTEM and run the 'pupbld.sql' script which is located under the ORACLE_HOME in subdirectory sqlplus/admin.
As an example of usage, the following row inserted into the table will stop any user with an ID starting with 'JPL' from being able to create table from SQL*Plus, even if they have the 'create table' privilege.
insert into product_user_profile ( product, userid, attribute, char_value ) values ( 'SQL*Plus','JPL%','CREATE','DISABLED' );
Any attempt by the user to create a table, they will get the error message:
SP2-0544: invalid command: create
Further reading: N/A




