ablog

不器用で落着きのない技術者のメモ

自スキーマの TRUNCATE と DBMS_STATS.GATHER_SCHEMA_STATS の実行に必要な権限

SQL> CONN / AS SYSDBA
SQL> CREATE USER NEO
IDENTIFIED BY MATRIX
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP
ACCOUNT UNLOCK
PROFILE DEFAULT
QUOTA UNLIMITED ON USERS;

SQL> GRANT CONNECT TO NEO;
SQL> CREATE TABLE NEO.T1 (ID NUMBER(4));
SQL> CONN NEO/MATRIX
SQL> BEGIN
        FOR I IN 1..100 LOOP
                INSERT INTO T1 (ID) VALUES(I);
        END LOOP;
END;
/
SQL> COMMIT;
SQL> SELECT COUNT(1) FROM T1;

  COUNT(1)
----------
       100

SQL> TRUNCATE TABLE T1;

  COUNT(1)
----------
         0

SQL> EXEC DBMS_STATS.GATHER_SCHEMA_STATS(OWNNAME=> 'NEO');

あれ、CONNECT ロールだけでおkなのか。