Oracleユーザー

ユーザーの作成

今回は新しく作成したPDB PDB_TEST1内にユーザーを作成します。

  1. 対象のPDBに接続します。
ALTER SESSION SET CONTAINER = PDB_TEST1;

  1. ユーザーを作成します。
  • ユーザー名:TEST_USER
  • パスワード:testpass
CREATE USER TEST_USER IDENTIFIED BY testpass;

ユーザーの存在確認

以下のSQLでTEST_USERが存在するか確認します。

SELECT USERNAME
FROM DBA_USERS
WHERE USERNAME = 'TEST_USER';

TEST_USERが表示されていればOKです。


また、こちらのSQLでもユーザーが存在するか確認できます。

SELECT USERNAME 
FROM ALL_USERS 
WHERE USERNAME = 'TEST_USER';

ユーザーと権限

システム権限

システム権限は、システムに対する権限です。テーブルの作成やデータベースの変更などがあたります。

TEST_USERにシステム権限を付与します。

GRANT 
    CREATE TABLE,
    CREATE ANY TABLE,
    SELECT ANY TABLE, 
    INSERT ANY TABLE, 
    UPDATE ANY TABLE, 
    DELETE ANY TABLE, 
    CREATE SESSION 
TO TEST_USER;
権限説明
CREATE TABLEユーザーが自分のスキーマ内にテーブルを作成できる権限
CREATE ANY TABLE
ユーザーが他のスキーマにもテーブルを作成できる権限
SELECT ANY TABLEユーザーがすべてのスキーマのテーブルを参照できる権限
INSERT ANY TABLEユーザーがすべてのスキーマのテーブルにデータを挿入できる権限
UPDATE ANY TABLEユーザーがすべてのスキーマのテーブルのデータを更新できる権限
DELETE ANY TABLEユーザーがすべてのスキーマのテーブルのデータを削除できる権限
CREATE SESSIONユーザーがデータベースに接続できる権限

システム権限を確認

TEST_USERのシステム権限を確認します。

SELECT GRANTEE, PRIVILEGE, ADMIN_OPTION
FROM DBA_SYS_PRIVS 
WHERE GRANTEE = 'TEST_USER';
カラム説明
GRANTEE権限を付与されたユーザー
PRIVILEGE付与された権限
ADM他のユーザーに同じ権限を付与できるかどうか

DBに接続する権限などを付与したのでTEST_USERを使って接続してみましょう。

手順 –> sqlplusを使った接続

オブジェクト(テーブル)権限を確認

SELECT TABLE_NAME, PRIVILEGE 
FROM DBA_TAB_PRIVS 
WHERE GRANTEE = 'TEST_USER';

付与されたロールを確認

SELECT GRANTED_ROLE 
FROM DBA_ROLE_PRIVS 
WHERE GRANTEE = 'TEST_USER';

コメント

タイトルとURLをコピーしました