■事象
どんな権限を与えても、下記エラーがしつこく出る
SQL> show user
ユーザーは"SCOTT"です。
SQL> exec sys.dbms_stats.gather_table_stats(ownname => 'SCOTT', tabname => 'TEST_OJBECT')
BEGIN sys.dbms_stats.gather_table_stats(ownname => 'SCOTT', tabname => 'TEST_OJBECT'); END;
*
行1でエラーが発生しました。:
ORA-20000: Unable to analyze TABLE "SCOTT"."TEST_OJBECT", insufficient
privileges or does not exist
ORA-06512: "SYS.DBMS_STATS", 行40751
ORA-06512: "SYS.DBMS_STATS", 行40024
ORA-06512: "SYS.DBMS_STATS", 行40183
ORA-06512: "SYS.DBMS_STATS", 行40732
ORA-06512: 行1
■原因
tabnameで指定しているテーブル名にタイポがないか確認してみて下さい。
私の場合は、
✕ TEST_OJBECT
○ TEST_OBJECT
でした。
SQL> show user
ユーザーは"SCOTT"です。
SQL> exec sys.dbms_stats.gather_table_stats(ownname => 'SCOTT', tabname => 'TEST_OBJECT')
PL/SQLプロシージャが正常に完了しました。