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
SQL> @?/sqlplus/admin/pupbld.sql
…… 省略腳本執行輸出内容 ……
4.最後的測試
再次測試,sec使用者連接配接沒有問題
此時已經可以正常連接配接到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 --