Hitachi

ノンストップデータベース HiRDB Version 10 SQLリファレンス


3.32.1 GRANT DBA(DBA権限定義),GRANT SCHEMA(スキーマ定義権限定義),GRANT SCHEMA OPERATION(スキーマ操作権限定義),GRANT CONNECT(CONNECT権限定義),GRANT RDAREA(RDエリア利用権限定義)

〈この項の構成〉

(1) 機能

ユーザにDBA権限,スキーマ定義権限,スキーマ操作権限,CONNECT権限,私用RDエリアの利用権限を与えます。

(2) 使用権限

DBA権限を持つユーザ

DBA権限,スキーマ定義権限,CONNECT権限,及び私用RDエリアの利用権限を与えます。

CONNECT権限を持つユーザ

パスワードを変更できます。

スキーマの所有者

ユーザ自身のスキーマの操作権限を与えます。

(3) 形式

 GRANT{DBA   TO 認可識別子〔,認可識別子〕…
       〔IDENTIFIED {BY パスワード〔,パスワード〕…|USING OS}〕
     |SCHEMA  TO 認可識別子〔,認可識別子〕…
     |SCHEMA OPERATION TO 認可識別子〔,認可識別子〕…
     |CONNECT TO 認可識別子〔,認可識別子〕…
       〔IDENTIFIED {BY パスワード〔,パスワード〕…|USING OS}〕
     |RDAREA RDエリア名〔,RDエリア名〕…
       TO{認可識別子〔,認可識別子〕…| PUBLIC }}

(4) オペランド

(a) DBA TO 認可識別子〔,認可識別子〕…〔IDENTIFIED {BY パスワード〔,パスワード〕…|USING OS}〕

DBA TO

ユーザにDBA権限を与える場合に指定します。

認可識別子〔,認可識別子〕…

DBA権限を与えるユーザの認可識別子を指定します。

IDENTIFIED BY パスワード〔,パスワード〕…

DBA権限を与えるユーザのパスワードを指定します。

既にDBA権限,又はCONNECT権限を持つ簡易認証ユーザの場合,指定できません。

IDENTIFIED BY句とユーザの権限の関係を次の表に示します。

表3‒38 GRANT DBA文のIDENTIFIED BY句とユーザの権限の関係

ユーザの権限

GRANT DBA文のIDENTIFIED BY

指定あり

指定なし

既にCONNECT権限あり

パスワードあり

DBA権限を与えて,指定されたパスワードに変更

DBA権限を与える

パスワードなし

DBA権限を与えて,指定されたパスワードに変更

KFPA11571エラー

CONNECT権限なし

CONNECT権限,DBA権限,及び指定されたパスワードを与える

KFPA11571エラー

IDENTIFIED USING OS

簡易認証ユーザとしてDBA権限を与える場合に指定します。

既にDBA権限,又はCONNECT権限を持つ非簡易認証ユーザの場合,指定できません。

(b) SCHEMA TO 認可識別子〔,認可識別子〕…

SCHEMA TO

ユーザにスキーマ定義権限を与える場合に指定します。

認可識別子〔,認可識別子〕…

スキーマ定義権限を与える場合,ユーザの認可識別子を指定します。

(c) SCHEMA OPERATION TO 認可識別子〔,認可識別子〕…

SCHEMA OPERATION TO

他ユーザに,自分の所有するスキーマのスキーマ操作権限を与える場合に指定します。

監査人は実行できません。

認可識別子〔,認可識別子〕…

スキーマ操作権限を与える認可識別子を指定します。

DBA権限,又はCONNECT権限のないユーザを指定することはできません。

(d) CONNECT TO 認可識別子〔,認可識別子〕…〔IDENTIFIED {BY パスワード〔,パスワード〕…|USING OS}〕

CONNECT TO

ユーザにCONNECT権限を与える場合に指定します。

CONNECT権限を与える場合の規則を次に示します。

  1. 簡易認証ユーザとしてCONNECT権限を与える場合は,IDENTIFIED USING OSを指定してください。

  2. 簡易認証ユーザに対して,パスワードの変更をする指定(IDENTIFIED BY句を指定,又はIDENTIFIED句の指定を省略)はできません。

  3. 非簡易認証ユーザに対して,簡易認証ユーザに変更する指定(IDENTIFIED USING OS句の指定)はできません。

認可識別子〔,認可識別子〕…

CONNECT権限を与えるユーザの認可識別子を指定します。

IDENTIFIED BY パスワード〔,パスワード〕…

CONNECT権限を与えるユーザのパスワードを指定します。

IDENTIFIED BY句とユーザの権限の関係を次の表に示します。

表3‒39 GRANT CONNECT文のIDENTIFIED BY句とユーザの権限の関係

ユーザの権限

パスワード文字制限定義

パスワード有効期限

GRANT CONNECT文のIDENTIFIED BY句

指定あり

指定なし

既にCONNECT権限あり

パスワードあり

DBA権限あり

指定されたパスワードに変更

KFPA11571-Eエラー

DBA権限なし

なし

なし

指定されたパスワードに変更

パスワードなしに変更

あり

指定されたパスワードに変更

KFPA19634-Eエラー

あり

指定されたパスワードに変更

KFPA19634-Eエラー

パスワードなし

DBA権限なし

なし

指定されたパスワードに変更

パスワードなしに変更

あり

指定されたパスワードに変更

KFPA19634-Eエラー

CONNECT権限なし

なし

CONNECT権限とパスワードを与える

パスワードなしでCONNECT権限だけを与える

あり

CONNECT権限とパスワードを与える

KFPA19634-Eエラー

(凡例) −:該当しません。

IDENTIFIED USING OS

簡易認証ユーザとしてCONNECT権限を与える場合に指定します。

(e) RDAREA RDエリア名〔,RDエリア名〕…TO{認可識別子〔,認可識別子〕…| PUBLIC}

RDAREA RDエリア名〔,RDエリア名〕

ユーザに利用権限を与えるRDエリアの名称を指定します。

認可識別子〔,認可識別子〕…

利用権限を与えるユーザの認可識別子を指定します。

PUBLIC

指定したRDエリアを公用RDエリアにする場合に指定します。

(5) 共通規則

  1. GRANT RDAREAでレプリカRDエリアに利用権限は与えられません。

  2. インナレプリカ機能を使用している場合のGRANTの実行条件については,マニュアル「インナレプリカ機能 HiRDB Staticizer Option」を参照してください。

  3. パスワード文字制限強化機能を使用している場合,GRANT DBA文,及びGRANT CONNECT文実行時にパスワード文字制限のチェックを行います。

  4. RDエリア名には,一時表用RDエリアを指定できません。

  5. 副監査人にスキーマ定義権限を与えることはできません。

(6) 留意事項

  1. このSQL文中に,最大16個の私用RDエリアと,最大1,600個の認可識別子が指定できます。

  2. DBA権限,又はCONNECT権限のないユーザには,スキーマ定義権限を与えられません。

  3. PUBLIC指定のRDエリア利用権限のあるRDエリアに対して,個別のユーザへRDエリア利用権限を与えられません。また,個別のユーザに権限を与えたRDエリアは,PUBLICを指定して公用RDエリアとして定義できません。

  4. DBA権限を与えると,CONNECT権限も与えられます。

  5. DBA権限を与えるユーザには,パスワードを指定してください。なお,DBA権限が与えられていても,パスワードのないユーザはDBA権限を使用できません。

  6. 自分自身にGRANT CONNECTを指定すると,パスワードの変更ができます。この場合,GRANT実行者はCONNECT権限だけでパスワードの変更ができます。

  7. GRANTは,OLTP下のX/Openに従ったUAPから指定できません。

  8. GRANT DBA文とGRANT CONNECT文で,複数の認可識別子を指定し,同時に複数のユーザに権限を与える場合,IDENTIFIED BY句で指定するパスワードは一部だけの省略はできません。パスワードは指定した認可識別子の数だけ指定するか,又はIDENTIFIED BY句全体を省略してください。ただし,GRANT CONNECT文ではIDENTIFIED BY句全体を省略した場合,パスワードのないDBAを登録するような指定があるとエラーとなり(表「GRANT DBA文のIDENTIFIED BY句とユーザの権限の関係」,表「GRANT CONNECT文のIDENTIFIED BY句とユーザの権限の関係」を参照),GRANT文全体が無効になります。この場合,エラーとなるユーザを別のGRANT文でIDENTIFIED BY句を指定して実行してください。

  9. パスワード文字制限機能使用時にGRANT DBA文とGRANT CONNECT文で,複数の認可識別子を指定し,同時に複数のユーザに権限を与える場合,一人でもパスワード文字制限に違反する指定をした場合,エラーとなり(表「GRANT DBA文のIDENTIFIED BY句とユーザの権限の関係」,表「GRANT CONNECT文のIDENTIFIED BY句とユーザの権限の関係」を参照),GRANT文全体が無効となります。

  10. パスワード無効アカウントロック状態のユーザにはGRANT DBA文でDBA権限の付与,又はパスワードの変更はできません。GRANT CONNECT文でパスワード無効アカウントロック状態を解除後,GRANT DBA文を実行してください。

  11. 監査人には,DBA権限は与えられません。

  12. 監査人には,スキーマ操作権限は与えられません。

  13. RDエリア利用権限が主監査人にだけ与えられているRDエリアに対して,他ユーザのRDエリア利用権限は与えられません。

  14. 既にCONNECT権限を持つ簡易認証ユーザに対してDBA権限を与える場合は,USING OSを指定してください。

  15. 既にスキーマ操作権限を持つユーザに対して,スキーマ操作権限は与えられません。

(7) 使用例

  1. ユーザ(認可識別子:USER1)にDBA権限を与えます。このとき,パスワードは,PSWDとします。

      GRANT DBA TO USER1 IDENTIFIED BY PSWD
  2. ユーザ(認可識別子:USER2)にスキーマ定義権限を与えます。

      GRANT SCHEMA TO USER2
  3. ユーザ(認可識別子:USER3)にCONNECT権限を与えます。このとき,パスワードは,PSWDとします。

      GRANT CONNECT TO USER3
          IDENTIFIED BY PSWD
  4. ユーザ(認可識別子:USER3)のパスワードをABCDに変更します。

      GRANT CONNECT TO USER3
          IDENTIFIED BY ABCD
  5. ユーザ(認可識別子:USER4〜6)にRDエリア(RDA1,RDA2)の利用権限を与えます。

      GRANT RDAREA RDA1,RDA2
          TO USER4,USER5,USER6
  6. RDエリア(RDA3)を公用RDエリアとして定義します。

      GRANT RDAREA RDA3 TO PUBLIC
  7. ユーザ(認可識別子:USER7,USER8)にスキーマ操作権限を与えます。

      GRANT SCHEMA OPERATION TO USER7, USER8