ヘッダーをスキップ
Oracle® OLAP DMLリファレンス
11gリリース2 (11.2)
B61346-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

AWコマンド

AWコマンドの構文は、実行するタスクによって異なります。


AW ALIASLIST
AW ATTACH
AW CREATE
AW DELETE
AW DETACH
AW FREEZE
AW LIST
AW PURGE CACHE
AW ROLLBACK TO FREEZE
AW SEGMENTSIZE
AW THAW
AW TRUNCATE

使用上の注意

AW文実行時におけるプログラム実行トリガー

アナリティック・ワークスペースにTRIGGER_AWというプログラムが存在する場合、そのワークスペースに対してAW文を実行すると、そのプログラムは自動的に実行されます。詳細は、「トリガー・プログラム」およびTRIGGER_AWプログラムを参照してください。

AW ATTACH文が実行されると、Oracle OLAPは、他のプログラムについても同様に調べます。詳細は、「起動プログラム」を参照してください。

AW文に関連するオプション

「アナリティック・ワークスペースのオプション」に、アナリティック・ワークスペースを作成またはアタッチする前にリセットできるオプションを示します。

EXPRESSワークスペース

OLAPオプションを使用してデータベースをインストールした場合、EXPRESSワークスペースは必ず読取り専用モードでセッションにアタッチされます。このワークスペースは、Oracle OLAPによる内部使用を目的としているため、ワークスペース・リスト内の先頭または唯一のワークスペースである場合でも、自動的に現行のワークスペースになることはありません。EXPRESSワークスペースを明示的にアタッチすることによって現行のワークスペースにできますが、この方法はお薦めできません。EXPRESSワークスペースはデタッチできません。


AW ALIASLIST

AW ALIASLISTコマンドは、指定したアタッチ済ワークスペースに対して、1つ以上のワークスペースの別名を割り当てるか削除するコマンドですが、ワークスペースを指定しなかった場合は、現行のワークスペースが処理の対象になります。ALIASは1つ以上の別名を割り当てることを示し、UNALIASは1つ以上の別名を削除することを示します。アナリティック・ワークスペースをデタッチすると、デタッチしたワークスペースのすべての別名は自動的に削除されます。

構文

AW ALIASLIST [workspace] {ALIAS|UNALIAS} alias1, alias2, ...

パラメータ

workspace

アナリティック・ワークスペースの名前。使用するキーワードに応じて、アナリティック・ワークスペースの名前または別名のいずれかを指定できます。

ALIAS

指定したアタッチ済ワークスペースに対して、1つ以上のワークスペースの別名を割り当てますが、ワークスペースが指定されていない場合は、現行のワークスペースに対して別名を割り当てます。ALIASは1つ以上の別名を割り当てることを示し、UNALIASは1つ以上の別名を削除することを示します。

アナリティック・ワークスペースをデタッチすると、デタッチしたワークスペースのすべての別名は自動的に削除されます。そのため、アタッチされていないワークスペースをアタッチするたびに、別名を再度割り当てる必要があります。

UNALIAS

指定したアタッチ済ワークスペースに割り当てられた1つ以上のワークスペースの別名を削除します。ワークスペースが指定されていない場合は、現行のワークスペースに割り当てられた別名を削除します。

alias1
alias2

アナリティック・ワークスペースの別名。別名には次の制約があります。

  • 長さは1文字以上、26文字以下です。すべての文字は、データベースのキャラクタ・セットに含まれる文字、数字またはアンダースコアを使用する必要があります。

  • 数字は先頭に使用できません。(予約語は、RESERVEDを使用して確認できます。)

例9-49 別名の割当て

次の文によって、scottというユーザーが作成したdemoワークスペースの別名としてsdemoが割り当てられます。現行のユーザーはscottではないため、ワークスペースをフルネームで指定します。

AW ALIASLIST scott.demo ALIAS sdemo

次の文では、scottという名前のユーザーによって、同じワークスペースの別名としてmydemoが割り当てられます。

AW ALIASLIST demo ALIAS mydemo

AW ATTACH

AW ATTACHコマンドは、セッションにアナリティック・ワークスペースをアタッチします。Oracle OLAPでは、指定したワークスペースが現行のワークスペースになります。以前にアタッチされたワークスペースはアタッチ済ワークスペースのリストの下方向に移動し、これによって新規の現行のワークスペースのための場所がリストの先頭に作成されます。要求したアナリティック・ワークスペースのキャッシュされたバージョンが存在する場合は、そのキャッシュされたバージョンが、アタッチ済ワークスペースのリストに戻されますが、もちろんこれは、要求したアナリティック・ワークスペースの現行バージョンがキャッシュされたバージョンよりも新しい場合に限られます。

複数のワークスペースをアタッチすると、アタッチしたすべてのワークスペースのコードおよびデータはセッション中に使用できます。現行のワークスペースはワークスペース・リストの先頭に置かれ、セッションで利用するためにOracle OLAPによって保持されます。


注意:

AW ATTACH文が実行されると、これによって複数のプログラムが起動する場合があります。詳細は、「起動プログラム」を参照してください。

構文

AW ATTACH workspace  -

     [ONATTACH [progname]|NOONATTACH] -

     [RO [THAW] ] | RW | RWX | MULTI [THAW]] [WAIT | NOWAIT] ] -

     [AUTOGO [progname]|NOAUTOGO] -

     [AFTER workspace|BEFORE workspace|LAST|FIRST] -

     [PASSWORD password]

パラメータ

workspace

アナリティック・ワークスペースの名前。まだアタッチしていないアナリティック・ワークスペースをATTACHキーワードを使用してアタッチする場合は、該当するワークスペース名を指定する必要があります。これは、AW ALIAS LISTを使用して割り当てられている別名がないためです。ただし、すでにアタッチされたワークスペースにATTACHキーワードを使用する場合(ワークスペース・リストでの位置を変更するためなど)は、AW ALIAS LISTを使用して別名を割り当てた上で、その別名を使用できます。

ONATTACH [progname]

(デフォルト)prognameを指定しない場合は、アタッチされたワークスペースにONATTACDHというプログラムが存在すれば、そのプログラムがONATTACH句によって自動的に実行されます。NOONATTACHを指定しない場合も同じ結果になります。

NOONATTACH

NOONATTACHを指定すると、ワークスペースにONATTACHというプログラムが存在する場合でも、Oracle OLAPによってそのプログラムは実行されません。

AUTOGO [progname]

(デフォルト)prognameを指定しない場合は、アタッチされたワークスペースにAUTOGOというプログラムが存在すれば、そのプログラムがAUTOGO句によって自動的に実行されます。NOAUTOGOを指定しない場合も同じ結果になります。

prognameを指定すると、アタッチしたプログラムに指定したプログラムがAUTOGO句によって自動的に実行されます。

NOAUTOGO

NOAUTOGOを指定すると、ワークスペースにAUTOGOというプログラムが存在する場合でも、Oracle OLAPによってそのプログラムは実行されません。

RO

(デフォルト)ワークスペースが読取り専用アクセス権モードでアタッチされることを指定します。ユーザーはワークスペースのデータに独自の変更を加えることによって、what-if分析を実行できますが、これらの変更をコミットすることはできません。

読取り専用でアタッチされているアナリティック・ワークスペースには、複数のセッションから同時にアクセスできます。読取り専用アタッチ・モードは、読取り/書込みアクセス権モードおよびマルチライタ・アクセス権モードと互換性があります。ユーザーは、他のユーザーが読取り/書込みアクセス権モードとマルチライタ・アクセス権モードのいずれかでアナリティック・ワークスペースをアタッチした場合、読取り専用モードでアナリティック・ワークスペースをアタッチできます。さらに、他のユーザーが読取り専用モードでアナリティック・ワークスペースをアタッチしている場合、ユーザーは読取り/書込み排他モードでアナリティック・ワークスペースをアタッチできません。読取り専用アクセスでアナリティック・ワークスペースをアタッチすると、PERMIT_READというプログラムがワークスペース内に存在する場合は、Oracle OLAPによってそのプログラムが実行されます。

THAW

NOTHAWキーワードを指定せずにAW FREEZEコマンドを使用して固定されたアナリティック・ワークスペースの現行ビューをOracle OLAPでアタッチするように指定します。

RW

ワークスペースが読取り/書込みアクセス権モードでアタッチされることを指定します。読取り/書込みモードで同時にアナリティック・ワークスペースを開くことができるのは1ユーザーのみです。ユーザーはワークスペースに対する変更をすべてコミットするか、変更しないことをコミットする必要があります。

読取り/書込み非排他でアタッチされているアナリティック・ワークスペースには、複数のセッションから同時にアクセスできます。読取り/書込み非排他アタッチ・モードは、読取り専用アクセス権モードとのみ互換性があります。ユーザーは、他のユーザーが読取り専用モードでアナリティック・ワークスペースをアタッチした場合、読取り/書込みモードでアナリティック・ワークスペースをアタッチできますが、他のユーザーが読取り専用以外のモードでアタッチした場合は、読取り/書込みモードでアナリティック・ワークスペースをアタッチできません。同様に、他のユーザーが読取り/書込み非排他モードでアナリティック・ワークスペースをアタッチしている場合、ユーザーは読取り専用以外のモードでアナリティック・ワークスペースをアタッチできません。読取り/書込みアクセスでアナリティック・ワークスペースをアタッチすると、PERMIT_WRITEというプログラムがワークスペース内に存在する場合は、Oracle OLAPによってそのプログラムが実行されます。

RWX

ワークスペースが読取り/書込み排他アクセス権モードでアタッチされることを指定します。読取り/書込み排他モードでアナリティック・ワークスペースを開くことができるのは一度に1ユーザーのみです。ユーザーはワークスペースに対する変更をすべてコミットするか、変更しないことをコミットする必要があります。

読取り/書込み排他モードでアタッチされているアナリティック・ワークスペースは、その他のセッションからはアクセスできません。読取り/書込み排他アタッチ・モードは、他のアクセス権モードとの互換性がありません。他のユーザーがいずれかのモードでアナリティック・ワークスペースをアタッチしている場合、ユーザーは読取り/書込み排他モードでアナリティック・ワークスペースをアタッチできません。さらに、他のユーザーが読取り/書込み排他モードでアナリティック・ワークスペースをアタッチしている場合、ユーザーはそれ以外のモードでアナリティック・ワークスペースをアタッチできません。読取り/書込みアクセスでアナリティック・ワークスペースをアタッチすると、PERMIT_WRITEというプログラムがワークスペース内に存在する場合は、Oracle OLAPによってそのプログラムが実行されます。

MULTI

ワークスペースがマルチライタ・アクセス権モードでアタッチされることを指定します。マルチライタ・モードでアタッチされているアナリティック・ワークスペースには、複数のセッションから同時にアクセスできます。マルチライタ・モードでは、変数、リレーション、値セットおよびディメンションの個々に対してアタッチ・モード(読取り専用または読取り/書込み)を指定することでアナリティック・ワークスペースを制御しているので、ユーザーは同じアナリティック・ワークスペースを同時に変更できます。

マルチライタ・アタッチ・モードは、読取り専用モードおよびマルチライタ・モードとのみ互換性があります。他のユーザーが読取り/書込みモードまたは排他モードのいずれかでアナリティック・ワークスペースをアタッチしている場合、ユーザーはマルチライタ・モードでアナリティック・ワークスペースをアタッチできません。さらに、他のユーザーがマルチライタ・モードでアナリティック・ワークスペースをアタッチしている場合、ユーザーは読取り/書込みモードまたは排他モードでアナリティック・ワークスペースをアタッチできません。

WAIT
NOWAIT

読取り/書込み排他アクセス権モードで使用するアナリティック・ワークスペースへのアクセスを要求した場合、または読取り/書込み非排他アクセス権モードで使用しているアナリティック・ワークスペースへの読取り/書込みアクセスを要求した場合、Oracle OLAPがアナリティック・ワークスペースへのアクセスが可能になるまで待機するかどうかを指定します。NOWAIT(デフォルト)を指定すると、Oracle OLAPはワークスペースが使用できないことを示すエラー・メッセージを生成します。WAITを指定すると、Oracle OLAPはワークスペースにアクセスできるようになるまで待機します。アクセスするまでOracle OLAPが待機する秒数は、Oracle OLAPのAWWAITTIMEオプションによって異なります。

FIRST

(デフォルト)アタッチしているワークスペースをワークスペース・リスト内の現行のワークスペースにします。

LAST

対象のワークスペースを、ワークスペース・リストにある現行のワークスペースの後からEXPRESSワークスペースの前までの間に置きます。アタッチされている他のワークスペースがEXPRESSワークスペースの前に存在する場合、指定したワークスペースはその後にアタッチされます。EXPRESSワークスペースの前にワークスペースが存在しない場合、LASTを指定すると指定したワークスペースが現行のワークスペースになります。LASTでは、EXPRESSワークスペースの後のワークスペースは無視されます。

AFTER workspace
BEFORE workspace

新規にアタッチされたワークスペースのワークスペース・リストにおける位置を、アタッチされているアナリティック・ワークスペースを基準にして指定できます。EXPRESSワークスペースの後にアナリティック・ワークスペースをアタッチする場合は、LASTではなくAFTERを使用します。BEFOREを指定してワークスペースを先頭に置くと、そのワークスペースが現行のワークスペースになります。

プログラム内に指定されているプログラム名またはオブジェクト名がOracle OLAPによって検索される場合、ワークスペースの検索順序は、ワークスペース・リストの順序によって決まります。

PASSWORD password

アタッチされるワークスペースへのアクセス権を付与または拒否するために、起動プログラムで確認されるパスワードを指定します。「起動プログラム」を参照してください。

使用上の注意

アタッチ済ワークスペースでのATTACHの使用

AW ATTACH workspace文を使用してアタッチ済ワークスペースを再アタッチした場合は、Oracle OLAPはワークスペースの新しいコピーを作業メモリーに移動しません。そのかわりに、Oracle OLAPでは次のアクションが実行されます。

  1. 対象のワークスペースが現行のワークスペースになります。

  2. AUTOGOキーワードを指定している場合は、AUTOGOプログラムが実行されます。

ただし、セッション中にデータを変更した場合は、アクティブ・ワークスペースを再アタッチしても変更内容は破棄されません。さらに、ワークスペースの現行の別名は変更されません

マルチライタ・モードでアタッチされたアナリティック・ワークスペースの管理

マルチライタ・モードのオブジェクトの管理には、次のコマンドを使用します。

  • ACQUIRE -- 変更内容を更新してコミットできるように、指定のオブジェクトを取得および再同期化(オプション)します。

  • RELEASE -- 指定した変数、リレーション、値セットまたはディメンションのアクセス権モードを読取り/書込み(取得)アクセスから読取り専用アクセスに変更します。

  • RESYNC -- 指定された読取り専用オブジェクトに対するプライベートな変更を削除し、表示可能な最新の世代のデータを取得します。

  • REVERT: 指定したオブジェクトについて、最後に更新、再同期化(RESYNC文を使用)、またはACQUIREのRESYNC句で取得されてから行われたすべての変更、あるいはアナリティック・ワークスペースがアタッチされてから行われたすべての変更を削除します。

次の点に注意してください。

  • 読取り/書込みモードでオブジェクトを取得できるのは一度に1ユーザーのみです。オブジェクトは、最初に読取り専用モードで取得した後、別のユーザーが読取り専用モードで同じオブジェクトを取得していなければ、そのオブジェクトを先に解放することなく読取り/書込みモードで取得できます。ただし、他のユーザーが読取り専用モードでオブジェクトを取得している場合、そのユーザーがオブジェクトを解放しないかぎり、同じオブジェクトを読取り/書込みモードで取得することはできません。指定したオブジェクトが他のユーザーにより取得された場合か、指定したオブジェクトの読取り専用世代がそのオブジェクトの最新の世代ではない場合、取得が失敗します。

  • 同時にコンポジット・ディメンションを共有しているすべての変数、値セットおよびリレーションを再同期化する必要があります。

  • オブジェクトを再同期化する場合、一部のオブジェクトのみを新しい世代にプロモートすることによって、データの論理的一貫性が失われないように、異なるオブジェクト間の論理的関係に留意する必要があります。

  • コンポジット・ディメンションを共有するオブジェクトは別々に再同期化できます。ただし、これらの再同期化されていないオブジェクトはすべて、変更されていないか取得済である必要があります。

  • ディメンションのいずれかがすでに取得および変更された場合は、変数を更新できません。

  • ディメンションをメンテナンスするには、先に取得する必要があります。

  • ディメンションは、解放されると、自動的に回復されます。

  • 更新済のオブジェクトを解放しても、そのトランザクションをコミットまたはロールバックするまで、他のユーザーはそのオブジェクトを取得できません。what-if変更をさらに進め、後で取得済のすべての変数を更新する場合に、更新済オブジェクトをコミット前に解放するのには役立ちます。

  • ディメンション値を追加してからディメンションを元に戻すと、そのディメンションによってディメンション化された変数の領域割当てが最適ではなくなる場合があるためお薦めしません。

  • メンテナンス済の取得済ディメンションによって取得済変数がディメンション化されている場合、そのディメンションを更新または解放するまでその変数を更新できません。

  • ディメンション値は削除できません。

固定されたアナリティック・ワークスペースのアタッチ

アナリティック・ワークスペースをいったん固定すると、THAWキーワードを指定して現行ビューがアタッチされるように要求しないかぎり、ROおよびMULTIでアナリティック・ワークスペースをアタッチした場合に、そのワークスペースの固定されたビューがアタッチされます。(RWまたはRWでアタッチした場合は、常に最新の世代がアタッチされます。)

現行ビューをアタッチする際、中間のコミットで複数手順の作成がある場合、アナリティック・ワークスペースの状態が一貫性を保てない場合があります。たとえば、アナリティック・ワークスペースに2つの変数actualおよびbudgetがあるとします。また、actual変数を設定して、UPDATEおよびCOMMITコマンドを発行したとします。この時点で、actualにのみデータが存在することになります。

読取りマルチライタ・モードで固定されたアナリティック・ワークスペースをアタッチする際、マルチライタのコマンド(RESYNCおよびACQUIRE)を使用すると、AW FREEZEにNOTHAWキーワードを指定しているかどうかに関係なく、最新バージョンのデータを取得できます。

ワークスペース名と別名の競合

スキーマに存在するアナリティック・ワークスペースは、名前が割り当てた別名と同じである場合にはアタッチできません。同様に、スキーマに存在するアタッチ済ワークスペースの名前と重複する別名を割り当てることはできません。さらに、2つのアタッチ済ワークスペースに同じ別名を割り当てることはできません。

AW DELETE文では、アタッチされていないアナリティック・ワークスペースに、割り当てた別名と同じ名前を指定すると、その名前が別名と解釈され、エラーが通知されます。

例9-50 起動プログラム

次のような定義を持つPERMIT_READPERMIT_WRITEONATTACHMYATTACHおよびAUTOGOという5つのプログラムがあるawtestというアナリティック・ワークスペースを作成したとします。

DEFINE PERMIT_READ PROGRAM BOOLEAN
PROGRAM
SHOW 'permit_read program executing'
AW LIST
RETURN YES
END
 
DEFINE PERMIT_WRITE PROGRAM BOOLEAN
PROGRAM
SHOW 'permit_write program executing'
AW LIST
RETURN YES
END
 
DEFINE ONATTACH PROGRAM BOOLEAN
PROGRAM
SHOW 'onattach program executing'
AW LIST
RETURN YES
END
 
DEFINE MYATTACH PROGRAM BOOLEAN
PROGRAM
SHOW 'myattach program executing'
AW LIST
RETURN YES
END
 
DEFINE AUTOGO PROGRAM 
PROGRAM
SHOW 'autogo program executing'
AW LIST
END
 

awtestをアタッチするときに実行されるプログラムは、次に示すように、AW ATTACH文に指定したアタッチ・モードおよびキーワードによって異なります。

  • 次の文を使用して読取り/書込みモードでawtestをアタッチした場合

    AW DETACH awtest
    AW ATTACH awtest RW
    

    最初にPERMIT_WRITEプログラムが実行され、次にONATTACHプログラムが実行されます。

  • 次の文を使用して読取り専用モードでawtestをアタッチした場合

    AW DETACH axuserwtest
    AW ATTACH awtest NOONATTACH RO
    

    PERMIT_READプログラムのみが実行されます。

  • 次の文を使用して読取り専用モードでawtestをアタッチした場合

    AW DETACH awtest
    AW ATTACH awtest RO
    

    最初にPERMIT_READプログラムが実行され、次にONATTACHプログラムが実行されます。

  • 次の文を使用して読取り専用モードでawtestをアタッチした場合

    AW DETACH awtest
    AW ATTACH awtest ONATTACH myattach RO
    

    最初にPERMIT_READプログラムが実行され、次にMYATTACHプログラムが実行されます。

  • 次の文を使用してマルチライタ・モードでawtestをアタッチした場合

    AW DETACH awtest
    AW ATTACH awtest MULTI
    

    最初にPERMIT_WRITEプログラムが実行され、次にONATTACHプログラムが実行されます。

  • 次の文を使用して読取り専用モードでawtestをアタッチした場合

    AW DETACH awtest
    AW ATTACH awtest AUTOGO
    

    最初にPERMIT_WRITEプログラムが実行されます。次に、ONATTACHプログラムが実行されます。最後に、AUTOGOプログラムが実行されます。

例9-51 ONATTACHプログラムによるアナリティック・ワークスペースのアタッチ

売上データのワークスペースとして、expensesrevenueの2つがあるとします。analysisという3番目のワークスペースがあり、ここには、データを分析するためのプログラムが含まれています。analysisワークスペースには、他の2つのワークスペースをアタッチするための次のようなONATTACHプログラムが含まれています。

DEFINE onattach PROGRAM
PROGRAM
AW ATTACH expenses RW AFTER analysis 
AW ATTACH revenues RW AFTER analysis 
END

ONATTACHプログラムを実行するには、次の文によってanalysisワークスペースをアタッチします。

AW ATTACH analysis 

AW LIST文を発行すると、3つのアナリティック・ワークスペースすべてがアタッチされたことが、次の出力によって確認できます。

ANALYSIS  R/W CHANGED   XUSER.ANALYSIS
REVENUE   R/W UNCHANGED XUSER.REVENUES
EXPENSES  R/W UNCHANGED XUSER.EXPENSES
EXPRESS   R/O UNCHANGED SYS.EXPRESS

AW CREATE

AW CREATEコマンドは、新規のワークスペースを作成し、セッションにおける現行のワークスペースにするコマンドです。

Oracle OLAPでは、アナリティック・ワークスペースを作成するための手順の一部として、COMMITが自動的に実行されます。以前にアタッチされたワークスペースはアタッチ済ワークスペースのリストの下方向に移動し、これによって新規のワークスペースのための場所がリストの先頭に作成されます。

また、現行のアナリティック・ワークスペースにおいて、別のアナリティック・ワークスペースが作成される場合、TRIGGER_AWという名前のプログラムが存在すれば、そのTRIGGER_AWプログラムが実行されます。


注意:

アナリティック・ワークスペースを作成するには、「アナリティック・ワークスペースの作成および削除に必要な権限」で概説する適切なSQL GRANT権限が必要です。

構文

AW CREATE workspace [position] [UNPARTITIONED|PARTITIONS n] -

     [TABLESPACE tblspname [SEGMENTSIZE n [K, M, or G]]]

ワークスペース・リストでのワークスペースの位置を指定する場合、positionは次のいずれかの値になります。(デフォルトはFIRSTです。)

AFTER workspace
BEFORE workspace
LAST
FIRST

パラメータ

workspace

アナリティック・ワークスペースの名前。ワークスペースの名前には次の制約があります。

  • 長さは1文字以上、26文字以下です。すべての文字は、データベースのキャラクタ・セットに含まれる文字、数字またはアンダースコアを使用する必要があります。

  • 数字は先頭に使用できません。(予約語は、RESERVEDを使用して確認できます。)

FIRST

(デフォルト)アタッチしているワークスペースが現行のワークスペースになります。

LAST

対象のワークスペースを、現行のワークスペースの後からEXPRESSワークスペースの前までの間に置きます。アタッチされている他のワークスペースがEXPRESSワークスペースの前に存在する場合、指定したワークスペースはその後にアタッチされます。EXPRESSワークスペースの前にワークスペースが存在しない場合、LASTを指定すると指定したワークスペースが現行のワークスペースになります。LASTでは、EXPRESSワークスペースの後のワークスペースは無視されます。

AFTER
BEFORE

新規にアタッチされたワークスペースの位置を、すでにアタッチされているアナリティック・ワークスペースを基準にして指定します。EXPRESSワークスペースの後にアナリティック・ワークスペースをアタッチする場合は、LASTではなくAFTERを使用します。BEFOREを指定してワークスペースを先頭に置くと、そのワークスペースが現行のワークスペースになります。

プログラム内に指定されているプログラム名またはオブジェクト名がOracle OLAPによって検索される場合、ワークスペースの検索順序は、ワークスペース・リストの順序によって決まります。

UNPARTITIONED

アナリティック・ワークスペースであるリレーショナル表がパーティション化された表ではないことを指定します。

PARTITIONS n

アナリティック・ワークスペースであるリレーショナル表が、n個のパーティションを持つパーティション化されたハッシュ表であることを指定します。nの値として0(ゼロ)を指定した場合は、UNPARTITIONEDを指定した場合と同じ結果になります。nのデフォルト値は8です。

TABLESPACE  tblspname

アナリティック・ワークスペースが作成されるOracle Database表領域の名前を指定します。


ヒント:

オラクル社では、このために用意された表領域にワークスペースを作成する場合、TABLESPACE引数を使用することをお薦めします。使用する表領域については、DBAに問い合せてください。

SEGMENTSIZE n [K, M, or G]

この引数をCREATEキーワードで使用すると、作成するワークスペースの各セグメントの最大サイズが設定されます。KMGのいずれも指定しない場合、nに対して指定する値はバイトとして解釈されます。値nの後にKMGのいずれかを指定すると、この値はそれぞれKB、MB、GBとして解釈されます。

使用上の注意

アナリティック・ワークスペースのアクセス権

アナリティック・ワークスペースに対して追加可能なセキュリティには、次のようないくつかのレベルがあります。

  • SQL GRANT文を使用するリレーショナル表レベル。

  • 別々のアタッチ・モードと起動プログラムを使用したアナリティック・ワークスペース・レベルおよびワークスペース・オブジェクト・レベル。AW ATTACHコマンドおよび「起動プログラム」を参照してください。

例9-52 アナリティック・ワークスペースの作成と始動

AWコマンドでCREATEキーワードを使用すると、新規のワークスペースを作成および始動できます。

AW CREATE mywork

AW DELETE

AW DELETEコマンドは、デタッチされたアナリティック・ワークスペースをデータベースから削除します。Oracle OLAPでは、アナリティック・ワークスペースを削除するための手順の一部としてCOMMITが自動的に実行されることに注意してください。DELETEキーワードは、ワークスペースをアタッチしているユーザーがいないときにのみ正常に実行されます。


注意:

また、現行のアナリティック・ワークスペースにおいて、別のアナリティック・ワークスペースが削除される場合、TRIGGER_AWという名前のプログラムが存在すれば、そのTRIGGER_AWプログラムが実行されます。


関連項目:

AW DETACHAW TRUNCATE

構文

AW DELETE workspace

パラメータ

workspace

アナリティック・ワークスペースの名前。名前を指定する必要があり、別名は指定できません。

使用上の注意

アタッチされていないワークスペースの削除

アタッチされていないワークスペースの名前が割り当てられた別名と同じ場合、このワークスペースを削除しようとすると、Oracle OLAPは、この名前を別名と解釈し、エラーを通知します。

例9-53 アナリティック・ワークスペースの削除

AWコマンドでDELETEキーワードを使用すると、アナリティック・ワークスペースを削除できます。

AW DELETE mywork

AW DETACH

AW DETACHコマンドは、ワークスペース・リストからアナリティック・ワークスペースを削除するコマンドです。先頭のワークスペースを削除すると、2番目のワークスペースが現行のワークスペースになります(そのワークスペースがEXPRESSワークスペースの場合は除く)。アナリティック・ワークスペースをデタッチすると、UPDATEが発行される前に変更された内容はデータベースで保持され、次のCOMMITによって永続化されます。UPDATEの発行後に変更が行われた場合、その内容は廃棄されます。


注意:

アナリティック・ワークスペースにTRIGGER_AWというプログラムが存在する場合、AW DETACH文を実行すると、そのプログラムが自動的に実行されます。

構文

AW DETACH [CACHE|NOCACHE] workspace

パラメータ

CACHE

アタッチ以降、アナリティック・ワークスペースが変更されていない場合、そのアナリティック・ワークスペースをキャッシュするよう指定します。(デフォルト)

NOCACHE

アタッチ以降、アナリティック・ワークスペースが変更されていない場合でも、そのアナリティック・ワークスペースをキャッシュしないよう指定します。


注意:

同じセッションで次にワークスペースをアタッチするときに、Oracle OLAPによってPermission、OnAttachまたはAutogoのプログラムが実行されるようにする場合は、アナリティック・ワークスペースをデタッチするときにNOCACHEを指定する必要があります。

workspace

アナリティック・ワークスペースの名前。使用するキーワードに応じて、アナリティック・ワークスペースの名前または別名のいずれかを指定できます。

使用上の注意

アナリティック・ワークスペースが変更されているかどうかの判断

次の文は、アタッチ以降、アナリティック・ワークスペースが変更されているかどうかを示します。

  • CHANGEDキーワードを指定したAWファンクション

  • AW LIST。アタッチされていないアナリティック・ワークスペースを示します。

キャッシュ・サイズ

デフォルトで、キャッシュされたアナリティック・ワークスペースのリストは2つです。つまり、キャッシュ・リストに一度に含まれるアナリティック・ワークスペースはデフォルトで2つのみで、新しいワークスペースをキャッシュ・リストに追加すると、前のワークスペースが削除されます。たとえば、mywk1mywk2の順序で、この2つのアナリティック・ワークスペースをデタッチしたとします。ここで、mywk3にAW DETACH CACHEコマンドを発行します。すると、キャッシュおよびキャッシュ・リストからmywk1が削除され、mywk3がキャッシュされて、キャッシュ・リストのmywk2の後に追加されます。


注意:

メモリー競合が著しい場合、Oracle OLAPではキャッシュを空にしてメモリーを解放することがあります。

キャッシュ・サイズの変更は、イベント番号37372を使用して実行できますが、ここで、levelは、保持するアナリティック・ワークスペースの数です。キャッシュを完全に無効にするには、levelに1024を指定します。ベータ版では未確定であり、標準的な開発者にとって有効な情報かどうか確認する必要があります。

アナリティック・ワークスペースをデタッチするときに実行されるプログラム

アナリティック・ワークスペースがデタッチされると、次のプログラムが実行されます。

  • デタッチするアナリティック・ワークスペース内にONDETACHという名前のプログラムが存在する場合は、そのONDETACHプログラムが実行されます。

  • 現行のアナリティック・ワークスペースにおいて、別のアナリティック・ワークスペースがデタッチされる場合、TRIGGER_AWという名前のプログラムが存在すれば、そのTRIGGER_AWプログラムが実行されます。

例9-54 アナリティック・ワークスペースのデタッチ

AWコマンドでDETACHキーワードを使用すると、アナリティック・ワークスペースをデタッチできます。

AW DETACH expense 

AW FREEZE

AW FREEZEコマンドは、現行トランザクションがある場合、そのトランザクションをコミットし、現在のアナリティック・ワークスペースが、そのワークスペースのデフォルトのアタッチ・バージョンであることを指定するフラグを設定するコマンドです。このコマンドの実行後、読取り専用モードまたは読取りマルチライタ・モードでこのワークスペースをアタッチする要求を行うと、このフラグ付き世代のアナリティック・ワークスペースがOracle OLAPによってアタッチされます。


注意:

このコマンドを実行するには、書込みモードでアナリティック・ワークスペースにアタッチされている必要があります。

構文

AW FREEZE [NOTHAW]

パラメータ

NOTHAW

後でワークスペースをアタッチする際に、AW ATTACHでTHAWキーワードを指定できないように指定します。


注意:

アナリティック・ワークスペースをいったん固定すると、AW ATTACHコマンドでTHAWキーワードを指定しないかぎり、読取り専用モードまたは読取りマルチライタ・モードでアナリティック・ワークスペースをアタッチした場合に、固定されたビューのアナリティック・ワークスペースがアタッチされます。

使用上の注意

アナリティック・ワークスペースの固定

アナリティック・ワークスペースを固定する際は、次の点に注意してください。

  • 一度に固定できるアナリティック・ワークスペースの世代は1つのみです。

  • 現在固定されているアナリティック・ワークスペースを再度固定するには、最初にAW THAWコマンドを使用し、その固定を解除する必要があります。


AW LIST

AW LISTコマンドは、アクティブ・ワークスペースのリストを、その更新ステータスとともに現行の出力ファイルに送信するコマンドです。

構文

AW LIST

使用上の注意

AW LISTによって生成される出力

現行のワークスペースが存在しない場合を除き、リスト内の最初のワークスペースが現行のワークスペースです。更新ステータスであるCHANGEDまたはUNCHANGEDの意味は、ワークスペースが読取り/書込みアクセスまたは読取り専用アクセスのどちらかでアタッチされているか、ワークスペースが他のユーザーと共有されているかどうかによって異なります。更新ステータスは、AW LISTによって次のように表示されます。

  • 読取り/書込みモードでの非共有ワークスペース -- ワークスペースのアタッチ以降または前回の更新以降に変更を行った場合、更新ステータスはCHANGEDになります。

  • 読取り専用モードでの非共有ワークスペース -- ワークスペースは更新できないため、更新ステータスは常にUNCHANGEDになります。

  • 読取り/書込みモードでの共有または非共有ワークスペース -- ワークスペースのアタッチ以降または前回の更新以降に変更を行った場合、更新ステータスはCHANGEDになります。

  • 読取り専用モードでの共有ワークスペース -- 最後にアクセスした後に他のユーザーが更新した場合、更新ステータスはCHANGEDになります。新規のオブジェクトまたはデータにアクセスするには、他のユーザーが自分の変更をコミットした後にワークスペースをデタッチし、再アタッチする必要があります。ワークスペースをアタッチしたままにしている場合、ワークスペース・ビューは変更されません。

現行のワークスペース

現行のワークスペースの名前は、ワークスペース・リストの先頭にあり、AW(NAME)ファンクションによって返された名前です。(詳細は、AWファンクションを参照してください。)NAMEディメンションに存在するのは、現行のワークスペースのオブジェクトのみです。AWDESCRIBEやLISTBYなどのプログラムは、現行のワークスペースに存在するオブジェクトのみを表示します。アナリティック・ワークスペースがアクティブではあるが現行ではない場合、ワークスペースのデータの変更と更新、ワークスペースのプログラムの編集と実行、およびワークスペースのオブジェクトの変更を実行できます。

OLAP Worksheetを使用してOracle OLAPに接続した直後だとします。AW LIST文を発行すると、EXPRESSがアタッチされている唯一のアナリティック・ワークスペースであることを示します。

AW LIST
EXPRESS   R/O UNCHANGED SYS.EXPRESS
 

ここで、アナリティック・ワークスペースを作成し、別のAW LIST文を発行します。EXPRESSアナリティック・ワークスペースと新規に作成したアナリティック・ワークスペースが両方ともアタッチされていることがわかります。

AW CREATE myaw
AW LIST
MYAW      R/W UNCHANGED MYNAME.MYAW
EXPRESS   R/O UNCHANGED SYS.EXPRESS
 

AW PURGE CACHE

AW PURGE CACHEコマンドは、現在キャッシュ内にあるすべてのアナリティック・ワークスペースをデタッチするコマンドです。

構文

AW PURGE CACHE


AW ROLLBACK TO FREEZE

AW ROLLBACK TO FREEZEは、直近のAW FREEZEコマンド実行により作成されたアナリティック・ワークスペースを現行のワークスペースにするためのコマンドです。

構文

AW ROLLBACK TO FREEZE


AW SEGMENTSIZE

AW SEGMENTSIZEコマンドは、複数のセグメントに対してアナリティック・ワークスペースを設定するコマンドです。

構文

AW SEGMENTSIZE [K, M, or G] [workspace]

パラメータ

workspace

アナリティック・ワークスペースの名前。使用するキーワードに応じて、アナリティック・ワークスペースの名前または別名のいずれかを指定できます。

SEGMENTSIZE [K, M, or G] [workspace]

指定したワークスペースに対して各セグメントの最大サイズを設定します。ワークスペースが指定されていない場合は、現行のワークスペースが対象になります。

現行のワークスペースがすでに複数のセグメントを持っている場合、SEGMENTSIZEの設定は最新のセグメントにのみ反映され、それより前のセグメントには反映されません。前のセグメントは、各セグメントの作成時にSEGMENTSIZEの設定で決定された様々なサイズになる場合があります。KMGのいずれも指定しない場合、nに対して指定する値はバイトとして解釈されます。値nの後にKMGのいずれかを指定すると、この値はそれぞれKB、MB、GBと解釈されます。


AW THAW

AW THAWコマンドは、現在のトランザクションが存在する場合はそのトランザクションをコミットし、前のAW FREEZEコマンドを取り消すコマンドです。

構文

AW THAW


AW TRUNCATE

既存のアナリティック・ワークスペースからオブジェクトおよびデータをすべて削除します。アナリティック・ワークスペースで使用されている表領域もすべて割当てが解放されます。AW TRUNCATEを使用してデータを削除する方が、AW DELETEを使用してアナリティック・ワークスペースを削除するよりも効率的であり、データ以外に削除される対象も少なくなります。たとえば、AW TRUNCATEを使用してデータを削除した場合、削除前に付与されていたオブジェクト権限はすべて保持されます。

表の削除に関する詳細は、『Oracle Database SQL言語リファレンス』のTRUNCATE TABLEに関する説明を参照してください。


注意:

所有しないスキーマにあるアナリティック・ワークスペースを削除するには、「アナリティック・ワークスペースの作成および削除に必要な権限」で概説する適切なSQL GRANT権限が必要です。

構文

AW TRUNCATE workspace

パラメータ

workspace

アナリティック・ワークスペースの名前。名前を指定する必要があり、別名は指定できません。

例9-55 アナリティック・ワークスペースの全データの削除

AWコマンドでTRUNCATEキーワードを使用すると、アナリティック・ワークスペース内のオブジェクトおよびデータをすべて削除できます。

AW TRUNCATE mywork