1. 程式人生 > >PL/SQL 報錯:動態執行表不可訪問,本會話的自動統計被禁止。 在執行選單裡你可以禁止統計,或在v$session,v$sesstat 和vSstatname表裡獲得選擇許可權。

PL/SQL 報錯:動態執行表不可訪問,本會話的自動統計被禁止。 在執行選單裡你可以禁止統計,或在v$session,v$sesstat 和vSstatname表裡獲得選擇許可權。

現象:

第一次用PL/SQL Developer連線資料庫,若用sys使用者登入並操作則正常,若用普通使用者比如haishu登入並建立一個表則報錯“動態執行表不可訪問,本會話的自動統計被禁止。在執行選單裡你可以禁止統計,或在v$session,v$sesstat和v$statname表裡獲得選擇許可權。

 

原因分析:

從報錯提示就可以看出,原因在於動態效能表相關的許可權沒有被授權給當前使用者

 

解決方法一(推薦):

根據提示,在執行選單裡禁止統計,具體操作方法:
在頂部的選單中選擇“工具”-->“首選項”-->“選項”-->“自動統計”。把“自動統計”前面預設的√去掉。

解決方法二:

根據提示,用sys身份給haishu使用者授權

grant select on V_session to haishu;

grant select on V_$sesstat to haishu;

grant select on V_$statname to haishu;

 

或給所有使用者授權

grant select on V_$session to public;

grant select on V_$sesstat to public;

grant select on V_$statname to public;