【Oracle】ユーザー作成

SYS権限でログイン

※「as sysdba」をつける必要あり

sqlplus sys/{パスワード}@{ネットサービス名} as sysdba

ユーザー情報確認

SELECT * FROM USER_USERS;
-- または
SELECT * FROM DBA_USERS;

ユーザー作成

※最低限の設定

CREATE USER {ユーザ名} IDENTIFIED BY {パスワード};

ユーザー削除

DROP USER {ユーザ名} CASCADE;

表領域確保

--無制限
ALTER USER {ユーザー名} QUOTA UNLIMITED ON {表領域名}
--制限あり
ALTER USER {ユーザー名} QUOTA {サイズ} ON {表領域名};
--例.ユーザー「SCOTT」が表領域「SCOTT_SPACE」を100M使用
ALTER USER SCOTT QUOTA 100M ON SCOTT_SPACE;

表領域容量確認

SELECT
  A.TABLESPACE_NAME 表領域
  , FILE_NAME データファイル
  , ROUND(BYTES / 1024 / 1024, 1) "ファイル容量(MB)"
  , ROUND((BYTES - NVL(SUM_BYTES, 0)) / 1024 / 1024, 1) "使用容量(MB)"
  , ROUND(NVL(SUM_BYTES, 0) / 1024 / 1024, 1) "空き容量(MB)"
  , ROUND(((BYTES - NVL(SUM_BYTES, 0)) / 1024) / (BYTES / 1024) * 100, 1)
    "使用率(%)" 
FROM DBA_DATA_FILES A 
  LEFT JOIN ( 
    SELECT TABLESPACE_NAME, FILE_ID, SUM(BYTES) SUM_BYTES 
    FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME, FILE_ID) B 
    ON A.TABLESPACE_NAME = B.TABLESPACE_NAME AND A.FILE_ID = B.FILE_ID 
ORDER BY
  1, 2;