ORACLE MASTER BRONZE DBA11g、資格取得、概要把握と試験対策(無料問題付き)
講座7 ORACLE DATABASE、アクセス権限の管理について
ORACLE製品も他のベンダー製品と同様にアクセス権限の管理が必要です。
アクセス権の不足やアクセス権を与え過ぎた事による不備等が運用過程で発生すると考えられます。
事前にアクセス権限の理解を高め、アクセス管理のルールを作りましょう。
Enterprize
Managerにはアクセス権限を管理する機能が備えられていますのでこちらを活用して管理してゆきましょう。
流れとしてはEnterprize
Managerで以下の行動を行います。
1.ORACLE DATABASE用のアクセス権限
↓
2.ユーザーの作成に必要な情報
↓
3.ユーザの作成・削除について
↓
4.特別な権限の管理
↓
5.ロール(グループ)権限の管理
詳細な流れ
1.ORACLE DATABASE用のアクセス権限
ORACLE
DATABASEにアクセスし、表作成やユーザ作成が可能な強力なユーザは大きく2つです。
(データベース作成直後に存在する管理者ユーザ)
SYSユーザ =
インスタンスの起動・停止、バックアップやリカバリ等のすべての管理操作が可能。
データディクショナリを構成する実表とビューも所有
SYSDBA権限あり
SYSTEMユーザ =
データベースがオープンしている状態であれば、管理者として利用できる。
但し、データベースの起動・停止、リカバリは出来ない。
SYSDBA権限なし
通常、利用する事はないが、補填する意味で、自動的に作成されているユーザは2つです。
SYSMANユーザ = EMを使用してデータベースを操作できる
DBSNMPユーザ =
EMの機能の1つであるManagement Agentがデータベース管理と監視を行う際に使用する。
権限は無く、動作確認や学習用に自動的に作成されているサンプル・スキーマ用のユーザ。通常使用しない。
HR(Human
Resources)ユーザ、OE(Order Entry)ユーザ、SH(Sales History)ユーザ、PM(Product
Media)ユーザ
2.ユーザーの作成に必要な情報
ユーザを作成する操作はEM、SQL*PLUSを使用して作成できます。どちらを利用してもSQLを実行してユーザを作成します。
ユーザを作成する際に必要な項目は以下となります。
ユーザ名
= 作成に必須
プロファイル
= 指定しない場合はDEFAULTが自動で割り当てられる。
・パスワードに関する制限はパスワードポリシーと言い、プロファイルとして設定できる。
作成したプロファイルを割り当てるだけで、何回間違えたらロックする等の
ポリシーが適用される。
パスワード制限には以下の項目があります。
以前使用したパスワードが再利用できるようになるまでのパスワード変更回数
パスワードの複雑さの設定
パスワードの有効期間
パスワードが期限切れになった後、パスワードを変更するまでの猶予期間
ログインの失敗によってアカウントがロックされるまでのログイン失敗回数
ログインの失敗によってアカウトがロックされる日数
・データベースに接続できる時間の制限ポリシーも(リソース制限)利用できる。
但し、デフォルトは有効化されていない。RESOURCE_LIMIT初期化パラメータ
認証方式
=
OSによる認証やデータベース用のパスワード認証かその他の認証連携か等を選択する
パスワード
= パスワード認証方式を選択した場合のログイン時には作成が必須
デフォルト表領域
= 表領域を指定せずに表を作成した場合に保存する。
(デフォルト表領域を指定せずにユーザを作成した場合、
データベースのデフォルト表領域が指定される。)
一時表領域
= SQLを実行した際にメモリー上でソートしきれない場合に使用する領域。
通常はメモリーを利用。
表領域の割り当て制限 =
無制限や~MB等の値(クウォータ制限という意味あい。)
割り当てなしを選択するとその表領域に対する使用許可はない。作成もできなくなる。
割り当て制限は必須で、無いと表を作成出来ない。
割り当て制限は書き込める総容量ではなく、ユーザ毎で書き込める容量を指す。
1GBの表でユーザA(800MB)、ユーザB(800MB)の割り当て制限となっているからと
いって、ユーザA・Bを足して1600MB書き込めるわけではない。
あくまでも1GBの総容量の内、早いもの順に各々のユーザが書き込めるというだけである。
また、割り当て制限に達してもすぐにエラーにならない。追加のエクステントが必要に
なった時点である。
アカウントのロック
= ユーザを作成した時点でロック状態か解除状態かを選べる。
・補足として、割り当て制限が設定出来ないのは以下の2つ
一時表領域
UNDO表領域
・DEFAULTプロファイルのパスワード制限
パスワードの有効期間
= 180日
パスワードが期限切れになった後、パスワードを変更するまでの猶予期間
= 7日
ログインの失敗によってアカウントがロックされるまでのログイン失敗回数
= 10回
ログインの失敗によってアカウトがロックされる日数
= 1日
3.ユーザの作成・削除について
EM、SQL*PLUSを使用してユーザを作成/変更/削除できます。
EMでユーザを作成した場合、EMにアクセスするCONNECTロールが自動で付与されます。
(CONNECTロールはデータベースにアクセスする際に必ず必要な権限です。)
ユーザを変更した場合で、仮に表領域の割り当て制限をなしに変更したとすると
既存のデータは残るが、追加でデータ取得する操作はできなくなる。
ユーザを削除した場合、ユーザが所有している表名やデータ、表領域といった項目は削除される。
4.特別な権限の管理
システム権限とオブジェクト権限があります。
システム権限は2つあります。
SYSDBA権限
= 全て変更を可能とする。他のユーザにも権限を付与できる。
データベースの作成や不完全リカバリも行える。
ADMIN OPTION付き権限(SYSOPER権限)も持っている。
SYSOPER権限
= インスタンスの起動・停止。完全リカバリ、ログ・モードの切替が出来る。
ユーザの作成や表領域の作成はできない。
データベースの作成や不完全リカバリも行えない。
オブジェクト権限は他のユーザが所有しているオブジェクトに対して、付与できる権限で
オブジェクトの所有者か管理者ユーザのみが付与できます。
付与する際は以下のような構文となる。
GRANT システム権限 TO ユーザ名 や GRANT オブジェクト権限 ON オブジェクト名 TO ユーザ名
剥奪する際は以下のような構文となる。
REVOKE システム権限 FROM ユーザ名 や REVOKE オブジェクト権限 ON オブジェクト名 FROM ユーザ名
ユーザ名の後ろにADMIN OPTIONを付けると管理者権限を付与できる。
GRANT システム権限 TO ユーザ名 WITH ADMIN OPTION
付与された際にANYが付く場合は、他のユーザにも任意のスキーマを付与できる(他のユーザの表操作が可能)が
ANYが無い場合は自分の表のみしか操作出来なくなります。
5.ロール(グループ)権限の管理
ロールとは
個別のユーザ権限等をグループ化したもので、権限の管理を簡単にするもの。
ロールに取り込めるのは、システム権限、オブジェクト権限、ロール。
ロールの付与した権限は取り消し操作で解除できる。
必ず必須ではいるのはCONNECTロール(EMへ接続する為に必要。CREATE SESSION権限がある)
別途、DBAロールや(ユーザの作成や表領域作成等のほとんどの管理操作が可能。インスタンスの起動停止は不可
デフォルトでSYSユーザやSYSTEMユーザに付与されている。)
RESOURCEロール(開発者用で表領域の割り当て制限を無制限にできる。
CREATE TABLE権限やCREATE PROCEDURE権限がある)。
試験に出ると想定される問題 この分野の出題としては5問
問題1
データベースがオープンしている状態であれば、管理者として利用できる。但し、データベースの起動・停止、リカバリは出来ない。
SYSDBA権限なしという説明の権限を指すのは次の内のどれ?1つ選んでください。。
1.SYSMANユーザ
2.SYSユーザ
3.SYSTEMユーザ
4.DBSNMPユーザ
解答 3
問題2 ORACLE DATABASEにアクセスし、表作成やユーザ作成が可能な強力なユーザは?2つ選べ。
1.SYSユーザ
2.SYSTEMユーザ
3.SH(Sales History)ユーザ
4.HR(Human Resources)ユーザ
解答 1.2
問題3 DEFAULTプロファイルのパスワード制限の内、誤っているのはどれか?
1.パスワードの有効期間
= 180日
2.パスワードが期限切れになった後、パスワードを変更するまでの猶予期間
= 7日
3.ログインの失敗によってアカウントがロックされるまでのログイン失敗回数
= 5回
4.ログインの失敗によってアカウトがロックされる日数
= 1日
解答 3
10回間違うと、アカウントがロックされます。
問題4 システム権限の内、インスタンスの起動・停止。完全リカバリ、ログ・モードの切替が出来る。
ユーザの作成や表領域の作成はできない。データベースの作成や不完全リカバリも行えない。という説明をさす、権限は
次のうちのどれか?
1.SYSDBA権限
2.一般ユーザ権限
3.DEFAULT権限
4.SYSOPER権限
解答 4
問題5 DBAロールを保有しているユーザはどれか?2つ選べ
1.SYSMANユーザ
2.SYSユーザ
3.SYSTEMユーザ
4.DBSNMPユーザ
解答 2.3
問題6 EMでユーザを作成した場合、EMにアクセスする_①_が自動で付与されます。①を埋めよ。
解答 CONNECTロール
問題7 割り当て制限が設定できないはどれか?
1.ユーザが作成した表領域
2.管理者が作成した表領域
3.一時表領域
4.UNDO表領域
解答 3.4
問題8 プロファイルを指定しない場合は何が自動で割り当てられる?
1.ユーザプロファイル
2.管理者で作成した権限のプロファイル
3.DEFAULT
4.プロファイルは作成されない
解答 3
問題9 デフォルト表領域を指定せずにユーザを作成した場合、何が指定される?1つ選べ
1.ユーザの表領域
2.一時表領域
3.データベースのデフォルト表領域
4.UNDO表領域
解答 3
問題10 権限の付与と剥奪で誤っているのはどれ?
1.GRANT システム権限 TO ユーザ名
2.GRANT オブジェクト権限 ON オブジェクト名 TO ユーザ名
3.REVOKE システム権限 FROM ユーザ名
4.REVOKE オブジェクト権限 ON オブジェクト名 TO ユーザ名
解答 4 REVOKEの際はFROMです。
問題11
1000MBの表でユーザA(800MB)、ユーザB(800MB)の割り当て制限を設定した。ユーザA・Bが共に1MBづつ徐々に書き込んでいった際、
1000MBの表の合計容量としては何MBまで書き込めるのか?
1.800MB
2.1000MB
3.500MB
4.200MB
解答 2
表の合計が1000MBとなった時点で書き込めなくなります。ユーザ個別としては800MB制限である為、800MBです。
問題12 SQLを実行した際にメモリー上でソートしきれない場合に使用する領域はどこ?
1.ユーザ表領域
2.メモリー
3.一時表領域
4.管理者用表領域
解答 3
トップページに戻る