• ベストアンサー

CREATE USER の ACCOUNT句について

CREATE USER文のACCOUNT句の意味がよくわかりません。 ネットで検索してみたんですが... ACCOUNT句 ユーザー・アカウントをロックしアクセスを禁止するには、ACCOUNT句でLOCKを指定します。UNLOCKを指定すると、ユーザー・アカウントのロックを解除できます。 どういう時にACCOUNT句を指定するんでしょうか。 サルにでもわかるように説明してくれませんでしょうか。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mototaker
  • ベストアンサー率100% (7/7)
回答No.2

CREATE USER文のACCOUNTは、昔はありませんでした。 やたらと、セキュリティがうるさくなって出てきました ◆ お答えします 自分でユーザを作成する場合には、ACCOUNT句は不要です。 気にしないで良いです。 ◆ では、どんな時に必要になるかというと、 たとえば、最初にデータベースを作成したときに、 SCOTTなどのユーザを作って(しまって)、そのユーザを 有効にしていないとき、 にAccount句を使います。 SCOTTユーザを使いたい場合は、 ACCOUNT句を使って、ユーザを有効にします 逆に不要なユーザなんだけど、削除するのは、ちょっと 怖いなーという場合は、 ACCOUNT句を使って、ユーザを無効にします ◆ 実際にやってみます アカウント状態の確認 SQL> select username, account_status from dba_users; USERNAME ACCOUNT_STATUS ------------------------------ -------------------------------- ZPB OPEN PRP OPEN EDR OPEN ZSA OPEN ORACLE_OCM LOCKED AD_MONITOR EXPIRED & LOCKED SPATIAL_CSW_ADMIN_USR EXPIRED & LOCKED した半分がロック状態です。 ですので 下記のようにログインしてみても、 SQL> conn oracle_ocm/oracle_ocm ERROR: ORA-28000: the account is locked Warning: You are no longer connected to ORACLE. と、ORA-28000 が出て、 ロックしてるからログインできません とでます では、このロックを解除してみます SQL> alter user oracle_ocm account unlock; User altered. 変更できました 接続してみます SQL> conn oracle_ocm/oracle_ocm ERROR: ORA-01017: invalid username/password; logon denied Warning: You are no longer connected to ORACLE. 今回は、ロックではなく、パスワードが違いますよ、 とエラーになりました パスワードがあっていれば、ログインできることがわかります ちなみに、先ほどの ACCOUNT_STATUSは、 SQL> select username, account_status from dba_users; USERNAME ACCOUNT_STATUS ------------------------------ -------------------------------- ZPB OPEN PRP OPEN EDR OPEN ZSA OPEN ORACLE_OCM OPEN AD_MONITOR EXPIRED & LOCKED SPATIAL_CSW_ADMIN_USR EXPIRED & LOCKED となってます Your DBA MOTO:TAKER

T-k_jp
質問者

お礼

回答、ありがとうございます。 返答が遅くなって申し訳ありません。 なるほど。 ご丁寧に説明してくれてありがとうございます。 理解できました。

その他の回答 (1)

  • ishi7474
  • ベストアンサー率32% (71/216)
回答No.1

例えば新入社員が100人いて、各々にOracleユーザーアカウントを割り当てる必要があるとします。 データベース管理者は、おそらく何週間か前に新入社員の名簿を見て、CREATE USER文でそのユーザーアカウントを作ることになります。 ここでACCOUNT LOCKを指定しておかないと、別のデータベース管理者や新入社員の名簿を持っている人事部がそのユーザーになりすまして不正を行うことが出来てしまいます。 データベース管理者は、新入社員が研修を終えて実際にOracleを使い始めるという連絡を受けてから、ロックを解除することになるでしょう。 既に作成されたユーザーアカウントは、ALTER USER文でロックできますが、これは上のケースとは逆に、ある社員が6ケ月間海外出張で不在になるような時に使います。

T-k_jp
質問者

お礼

回答、ありがとうございます。 返答が遅くなって申し訳ありません。 大変、よくわかりました。 ありがとうございました。

関連するQ&A