ORACLEMASTER 備忘録7(5/10)
![](https://www.cloverfield.co.jp/wp/wp-content/uploads/2020/07/study_animal_koala-150x150.png)
続き
※ユーザーアカウントの削除が失敗する例
削除しようとしているユーザーでデータベースに接続中の場合はエラーが表示され、削除できない。
また、削除しようとしているユーザーがオブジェクトを所有している場合は、ユーザーアカウントを削除する前に所有するすべてのオブジェクトを削除するか、「カシスケード」を指定することが必要である。
SQL文を使用したユーザーアカウントの削除
SQL文を使用してユーザーアカウントを削除するには、DROP USER文を使用する。
・ユーザーアカウントの削除
DROP USER ユーザー名 [CASCADE];
ユーザーアカウントのロック/ロック解除
一定回数連続してログインに失敗したら、ユーザーアカウントをロックするように設定できる。また、特定のユーザーアカウントによるデータベースへのアクセスを“一時的に拒否”するには、ユーザーアカウントを手動で“ロック”する。ユーザーアカウントがロックされていると、そのユーザーで接続しようとしても、データベースによってエラーメッセージが表示され、接続は許可されない。ロックを解除すれば、再度そのユーザーでデータベースにアクセスできるようになる。
ユーザーが所有するオブジェクトを保持したまま、そのユーザーによるデータベースへのアクセスを拒否したい場合は、ユーザーアカウントを削除するのではなく、ユーザーアカウントをロックして対処することができる。
EM Expressを使用したロックおよびロック解除
前述した「事前定義されているユーザーアカウント」の多くは、データベースの作成直後はロックされているので使用する場合はデータベース管理者がロックを解除する必要がある。EM Expressを使用してロック、およびロックを解除するには以下の手順を実行する。
1、「ユーザー」ページでユーザーを選択して、「アクション」メニューで「アカウントの変更」をクリックする。
2、「アカウントの変更」ページで「アカウントがロック済」のチェックボックスを設定する。チェックボックスにチェックをするとアカウントがロックされ、チェックボックスを解除するとロック解除になる。
SQL文を使用したロック及びロック解除
SQL文を使用してロック、およびロック解除をするには、ALTER USER 文を使用する。
・ロックの設定
ALTER USER ユーザー名 ACCOUNT LOCK;
・ロックの解除
ALTER USER ユーザー名 ACCOUNT UNLOCK;