2009年1月24日土曜日

Silver DBA 10g (1Z0-042J)その13

<ユーザの管理>

□新規ユーザ作成
  ・CREATE USER ユーザ名
   IDENTIFIED 認証方式
   [DEFAULT TABLESPACE 表領域]
   [TEMPORARY TABLESPACE 一時表領域名]
   [QUOTA サイズ ON 表領域]
   [PASSWORD EXPIRE]→
→SQL*Plusで最初にログインした時に
                                  パスワードの変更を要求される指定
   [ACCOUNT ロック状態]
   [PROFILE プロファイル];

□ユーザが作成するオブジェクトの格納表領域の優先順位
  ①ユーザがオブジェクトを作成するときにTABLESPACE句で指定した表領域
  ②ユーザ作成時にDEFAULT TABLESPACE句で指定された表領域
  ③データベースのDEFAULT TABLESPACEに指定されている表領域
  ④SYSTEM表領域

□ユーザが使用する一時表領域の優先順位
  ①ユーザ作成時にTEMPORARY TABLESPACE句で指定した表領域
  ②データベースのDEFAULT TEMPORALY TABLESPACEに指定されている表領域
  ③SYSTEM表領域

□DBA_USERSビューによるパスワードの確認
  ・select username ,password from dba_users;

□ユーザが表領域を作成するためには!!
  ・CREATE TABLEシステム権限が付与されている
  ・表を格納する表領域に対するクォータが与えられている
   (表領域に対するクォータはデフォルトではすべての表領域に対して0となっている)

□CONNECTロールに付与されている権限
権限               |説明
-----------------------------------|---------------------------------------
ALTER SESSION       |セッションのパラメータを変更できる
CREATE CLUSTER     |クラスタセグメントを作成できる
CREATE DATABASE LINK|データベースリンクを作成できる
CREATE SEQUENCE    |順序オブジェクトを作成できる
CREATE SESSION      |セッションを確立できる
CREATE SYNONYM    |シノニム(別名オブジェクト)を作成できる
CREATE TABLE       |表を作成できる
CREATE VIEW        |ビューを作成できる

  ●ロールに付与されている権限の確認
   ・SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'CONNECT'

□ユーザプロファイル
  ・ユーザのリソースやパスワードの制限を設け名前をつけたもの
  ・CREATE PROFILE プロファイル名 LIMIT
   パスワード制限のパラメータ指定
   リソース制限のパラメータ指定
  
 [パスワード制限のパラメータ]
 ・FAILED_LOGIN_ATTEMPTS:アカウントがロックされるまでのログイン執行回数を指定
 ・PASSWORD_LIFE_TIME:同じパスワードを使用できる期間(日数
を指定
 ・PASSWORD_REUSE_TIME:同じパスワードを再利用できるまでの期間(日数)を指定
 ・PASSWORD_REUSE_MAX:同じパスワードを再利用できるまでの変更回数を指定
 ・PASSWORD_LOCK_TIME:FAILED_LOGIN_ATTEMPTS制限によりロックされたアカウントをロック
  する期間(日数)を指定
 ・PASSWORD_GRACE_TIME:PASSWORD_LIFE_TIMEで指定した期間の経過後、変更が促されてから
  パスワードを変更せずにログインが許可される期間(日数
 ・PASSWORD_VERIFY_FUNCTION:パスワードの複雑さを検証するファンクション名を指定

 [リソース制限パラメータ]・・・セッションレベルとコールレベルの2種類がある
 ●セッションレベル・・・各セッションに対する制限を設定する。
              制限を超えた場合、現行トランザクションをロールバックし、セッションが切断される
 ●コールレベル・・・・・各SQL文のコールに対する制限を設定する。
              制限を超えた場合、実行中のSQL文が取り消され、現行トランザクションとセッション
              はそのまま保持される
 ・SESSIONS_PER_USER:1ユーザあたりの同時セッション数を指定
 ・CPU_PER_SESSION:1セッションあたりの合計CPU時間(1/100秒)を指定
 ・CONNECT_TIME:セッションの連続接続時間()を指定
 ・IDLE_TIME:セッションのアイドル時間()を指定
 ・LOGICAL_READS_PER_SESSION:1セッションあたりの読み込みブロック数を指定
 ・COMPOSITE_LIMIT:1セッションあたりで複数リソースを組み合わせたコストを指定
   セッションあたりのCPU時間
   セッションあたりの読み込みブロック数
   接続時間
   プライベートSGA
 ・CPU_PER_CALL:1コールあたりの合計CPU時間(1/100秒)を指定
 ・LOGICAL_READS_PER_CALL:1コールあたりの読み込みブロック数を指定

□プロファイルの削除
  ・DROP PROFILE プロファイル名 [CASCADE]
  ・CASCADEオプションを指定し、すでにユーザに割り当てられているプロファイルを削除する
   ユーザにはDEFAULTプロファイルが自動で割り当てられる

  ・プロファイルの確認
   SELECT PROFILE FROM DBA_USERS

  ※プロファイルを使用したリソース制限を行うためにはRESOURCE_LIMIT初期化パラメータ
    TRUEにする必要がある。RESOURCE_LIMIT初期化パラメータがFALSEの場合、
    プロファイルの制限は無効になります。

□スキーマオブジェクト
  ・データベースリンク
  ・データベーストリガー
  ・索引
  ・順序
  ・ストアドファンクション、プロシージャおよびパッケージ
  ・シノニム
  ・表および索引構成表
  ・ビュー
-----------------
  いかのオブジェクトはスキーマオブジェクトではない
  ・プロファイル
  ・ロール
  ・表領域
  ・ユーザ

□権限
 ●システム権限
  ・ユーザがデータベースに対して特定の操作を可能にするために管理者が付与する権限
  <例>CREATE TABLE
       CREATE USER
       SELECT ANY TABLE
       UNLIMITED TABLESPACE
  ・GRANT システム権限名 TO ユーザ名[WITH ADMIN OPTION];
  ※WITH ADMIN OPTIONを使用して権限を付与されたユーザは、その権限を他のユーザに付与できる
  ※SYSTEMユーザ→(権限A付与:
WITH ADMIN OPTION)→DEMOUSER
    DEMOUSER→
(権限A付与)→HR
    DEMOUSERから権限A削除 でもHRには権限Aは付与されたまま

 ●オブジェクト権限
  ・特定のオブジェクトに対してアクセスを許可するときに付与する権限
  <例>SELECT
       INSERT
       UPDATE
       DELETE
       EXECUTE
  ・GRANT オブジェクト権限名 ON オブジェクト名 TO ユーザ名 [WITH GRANT OPTION]
  ※WITH GRANT OPTIONを使用して権限を付与されたユーザは、その権限を他のユーザに付与できる
  ※SYSTEMユーザ→(権限B付与:WITH GRANT OPTION)→DEMOUSER
    DEMOUSER→
(権限B付与)→HR
    DEMOUSERから権限B削除 HRからも権限Bが削除される

□システム権限の取り消しコマンド
  ・REVOKE システム権限名 FROM ユーザ名;

□オブジェクト権限の取り消しコマンド
  ・REVOKE オブジェクト権限名 ON オブジェクト名 FROM ユーザ名;

□ユーザがオブジェクトを作成するためには下記いずれかの方法で使用可能な領域サイズを
  割り当てる必要がある
 ●クォータサイズの指定
  ・CREATE USER文もしくはALTER USER文によりQUOTAを指定する
  ・SELECT TABLESPACE_NAME,BYTES FROM USER_TS_QUOTASでユーザに割り当てられているクォータサイズを
   確認できる
 ●UNLIMITED TABLESPACE権限の付与
  ・
UNLIMITED TABLESPACE権限が付与されている場合、クォータの設定に関わらず全ての表領域に対して
   無制限で領域が使用可能
  ・SELECT * FROM SESSION_PRIVSで現行セッションの権限を確認できる

□ユーザのデフォルトロールの変更方法
  ・ALTER USER ユーザ名 DEFAULT ROLE ロール名;
  ※デフォルトロール以外は、SETコマンドで使用可能にする必要がある

□定義済みのユーザー
SYS :データベースの管理ユーザー。データディクショナリの実表やビューを所有する
SYSTEM:データベースの管理ユーザー。ツールや製品で使用される内部表などを所有する
SYSMAN:OEM(Oracle Enterprise Manager)の管理ユーザー。OEMに接続して管理作業を行う
DBSNMP:OEMの内部ユーザー。データベースを管理する際、内部的に接続して操作を行う



0 件のコメント: