ヘッダーをスキップ
Oracle OLAP DMLリファレンス
11g リリース1(11.1)
E05732-02
  目次へ
目次
索引へ
索引

戻る
戻る
 
次へ
次へ
 

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文字以下で、データベースのキャラクタ・セットに含まれる文字、数字またはアンダースコアを使用します。

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

例9-48 別名の割当て

次の文によって、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] [WAIT|NOWAIT] -

     [AUTOGO [progname]|NOAUTOGO] -

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

     [PASSWORD password]

引数

workspace

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

ONATTACH [progname]

ONATTACHプログラムは、ワークスペースを次のように起動すると自動的に実行されます。

  • ONATTACHキーワードを指定するときにキーワードの後にプログラム名を指定しないと、Oracle OLAPでは、ONATTACHというプログラムがワークスペース内で検索され、存在した場合はそのプログラムが実行されます。この構文によって、プログラムが明確になります。ONATTACHを指定しない場合も同じ結果になります。

  • ONATTACHキーワードを指定するときにキーワードの後にプログラム名を指定すると、Oracle OLAPでは、その名前の付いたプログラムがワークスペース内で検索されます。該当するプログラムが存在する場合は、Oracle OLAPによって、そのプログラムが実行されます。ワークスペースにONATTACHというプログラムが存在する場合も同じ結果になります。詳細は、「アナリティック・ワークスペースをアタッチするときに実行されるプログラム」を参照してください。

NOONATTACH

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

AUTOGO progname

prognameを指定しない場合は、アタッチされたワークスペースにAUTOGOというプログラムが存在すれば、そのプログラムがAUTOGO句によって自動的に実行されます。prognameを指定すると、アタッチしたプログラムに指定したプログラムがAUTOGO句によって自動的に実行されます。詳細は、「アナリティック・ワークスペースをアタッチするときに実行されるプログラム」を参照してください。

NOAUTOGO

(デフォルト)NOAUTOGOを指定することによって、AUTOGOプログラムが存在しないことを明示します。この構文によって、プログラムが明確になります。AUTOGO prognameを指定しない場合も同じ結果になります。

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

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

注意

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

アナリティック・ワークスペースをアタッチすると、Oracle OLAPでは、次の順序で各プログラムが検索され、実行されます(存在する場合)。

  1. 権限プログラム。Oracle OLAPによって検索され実行されるプログラムは、AW ATTACH文に指定したアタッチ・モードによって異なります。

    • 読取り専用モードでアナリティック・ワークスペースのアタッチを要求すると、Oracle OLAPはPERMIT_READというプログラムを確認します。

    • マルチライタ・モードまたは読取り/書込みモードでアナリティック・ワークスペースのアタッチを要求すると、Oracle OLAPはPERMIT_WRITEというプログラムを確認します。

  2. ONATTACHプログラム。次のいずれかの状況でAW ATTACH文を使用してアナリティック・ワークスペースをアタッチしたときにOracle OLAPによって検索および実行されるプログラム。

    • ONATTACHというプログラムを含むアナリティック・ワークスペースをアタッチし、かつAW文にNOONATTACHキーワードを指定しなかった場合、またはAW文にプログラム名を指定しないONATTACH句を記述した場合は、ONATTACHプログラムが実行されます。

    • プログラム名を指定するONATTACH句をAW文に含めると、Oracle OLAPは指定した名前のプログラムをワークスペース内で検索します。このプログラムが存在する場合は、Oracle OLAPによって実行されます。

  3. AUTOGOプログラム。AUTOGO句を指定したAW ATTACH文を使用してアナリティック・ワークスペースをアタッチしたときにOracle OLAPによって検索および実行されるプログラム。

  4. TRIGGER_AWプログラム。AWコマンドを実行するとOracle OLAPが名前で確認する作成したトリガー・プログラム。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

例9-49 起動プログラム

次のような定義を持つ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-50 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] -

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

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

AFTER workspace
BEFORE workspace
LAST
FIRST

引数

workspace

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

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

  • 数字は先頭に使用できません。またDMLの予約語は使用できません(予約語は、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です。

SEGMENTSIZE n [K, M, or G]

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

TABLESPACE  tblspname

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


ヒント:

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

注意

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

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

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

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

AW CREATE mywork

AW DELETE

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


注意:

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

構文

AW DELETE workspace

引数

workspace

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

注意

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

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

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

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

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

workspace

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

注意

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

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

キャッシュ・サイズ

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


注意:

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

キャッシュ・サイズは、イベント番号37372を使用して変更できます。ここで、levelは、保持するアナリティック・ワークスペースの数です。キャッシュを完全に無効にするには、levelに1024を指定します。

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

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

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

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

AW DETACH expense

AW FREEZE

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


注意:

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

構文

AW FREEZE [NOTHAW]

引数

NOTHAW

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


注意:

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

注意

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

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


AW LIST

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

構文

AW LIST

注意

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

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

現行のワークスペース

現行のワークスペースの名前は、ワークスペース・リストの先頭にあり、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文の項を参照してください。


注意:

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

構文

AW TRUNCATE workspace

引数

workspace

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

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

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

AW TRUNCATE mywork