| Oracle Database SQL言語リファレンス 11g リリース1(11.1) E05750-03 |
|
この章では、様々なSQL文についてアルファベット順に説明します。その他のSQL文については、第11章〜第19章を参照してください。
この章では、次の内容を説明します。
次の項にあるリストは、SQL文の機能の概要について、次のカテゴリに分類して説明しています。
データ定義言語(DDL)文によって、次のタスクを実行できます。
CREATE、ALTERおよびDROPコマンドは、特定のオブジェクトに対して排他的アクセスを必要とします。たとえば、別のユーザーが特定の表でトランザクションをオープンしている場合、ALTER TABLE文は実行できません。
GRANT、REVOKE、ANALYZE、AUDITおよびCOMMENTコマンドは、特定のオブジェクトに対する排他的アクセスを必要としません。たとえば、他のユーザーが表を更新しているときでも、その表を分析できます。
Oracle Databaseは、暗黙的にすべてのDDL文の前後で現在のトランザクションをコミットします。
DDL文の多くは、Oracle Databaseにスキーマ・オブジェクトを再コンパイルまたは再認可させることができます。Oracle Databaseがスキーマ・オブジェクトを再コンパイルまたは再認可する方法、およびDDL文によってそれを実行する環境については、『Oracle Database概要』を参照してください。
DDL文は、DBMS_SQLパッケージを使用したPL/SQLによってサポートされます。
次に、DDL文を示します。
ALTER (ALTER SESSIONおよびALTER SYSTEMを除くALTERで始まるすべての文。「セッション制御文」および「システム制御文」を参照)
ANALYZE
ASSOCIATE STATISTICS
AUDIT
COMMENT
CREATE(CREATEで始まるすべての文)
DISASSOCIATE STATISTICS
DROP(DROPで始まるすべての文)
FLASHBACK(FLASHBACKで始まるすべての文)
GRANT
NOAUDIT
PURGE
RENAME
REVOKE
TRUNCATE
データ操作言語(DML)文は、既存スキーマ・オブジェクトのデータにアクセスし、操作します。次の文は、現在のトランザクションを暗黙的にコミットしません。次に、データ操作言語文を示します。
SELECT文は、DML文の制限された形式であり、データベース内のデータへのアクセスのみが可能です。アクセスしたデータを操作してから問合せの結果を戻すことはできますが、データベースに格納されたデータを操作することはできません。
CALLおよびEXPLAIN PLAN文は、動的に実行されるときにのみPL/SQLでサポートされます。他のすべてのDML文は、PL/SQLで完全にサポートされます。
トランザクション制御文は、DML文で行った変更を管理します。次に、トランザクション制御文を示します。
COMMITおよびROLLBACKコマンドの特定書式以外のトランザクション制御文は、PL/SQLでサポートされます。制限については、「COMMIT」および「ROLLBACK」を参照してください。
セッション制御文は、ユーザー・セッションのプロパティを動的に管理します。次の文は、現在のトランザクションを暗黙的にコミットしません。
PL/SQLは、セッション制御文をサポートしません。次に、セッション制御文を示します。
単一システム制御文ALTER SYSTEMは、Oracle Databaseインスタンスのプロパティを動的に管理します。この文は、現在のトランザクションを暗黙的にコミットしません。また、PL/SQLではサポートされません。
埋込みSQL文は、DDL、DMLおよびトランザクション制御文を手続き型言語プログラム内に入れます。埋込みSQLは、Oracleプリコンパイラでサポートされており、次のマニュアルに記載されています。
この章および第11章〜第19章のすべてのSQL文は、次の項で編成されています。
構文図には、文を構成するキーワードおよびパラメータを示します。
文の基本的な使用方法を説明します。
文の実行に必要な権限と、文を使用する前に実行する手順を示します。特に指定がないかぎり、ご使用のインスタンスでデータベースがオープンされている必要があります。
構文を構成するキーワード、パラメータおよび句の用途について説明します。また、制限事項およびその他の注意事項についても説明します。(この章および第11章〜第19章で使用するキーワードおよびパラメータの表記規則の詳細は、「はじめに」を参照してください。)
文の様々な句およびパラメータの使用方法を示します。
ALTER CLUSTER文を使用すると、クラスタの記憶特性および並列特性を再定義できます。
|
参照:
クラスタの作成については、「CREATE CLUSTER」を参照してください。クラスタからの表の削除については、「DROP CLUSTER」および「DROP TABLE」を参照してください。クラスタへの表の追加については、「CREATE TABLE」の「physical_properties」を参照してください。 |
クラスタが自分のスキーマ内にあるか、またはALTER ANY CLUSTERシステム権限が必要です。
(physical_attributes_clause::=、size_clause::=、allocate_extent_clause::=、deallocate_unused_clause::=、parallel_clause::=を参照)
(storage_clause::=を参照)
(size_clause::=を参照)
(size_clause::=を参照)
クラスタが含まれているスキーマを指定します。schemaを指定しない場合、そのクラスタは自分のスキーマにあるとみなされます。
変更するクラスタの名前を指定します。
クラスタのPCTUSEDパラメータ、PCTFREEパラメータおよびINITRANSパラメータの値を変更します。
クラスタの記憶特性を変更するには、STORAGE句を使用します。
クラスタの記憶域パラメータINITIALおよびMINEXTENTSの値は変更できません。
SIZE句を使用すると、クラスタに割り当てられたデータ・ブロック中に格納されるクラスタ・キーの数を指定できます。
ハッシュ・クラスタではなく、索引クラスタのSIZEパラメータのみを変更できます。
allocate_extent_clauseを指定すると、クラスタの新しいエクステントを明示的に割り当てることができます。
この句で明示的にエクステントを割り当てる場合、Oracle Databaseは、クラスタの記憶域パラメータを評価しません。割り当てられる新しいエクステントの新しいサイズも決定しません(表を作成する際に行います)。したがって、Oracle Databaseがデフォルト値を使用しないようにするには、SIZEを指定してください。
ハッシュ・クラスタではなく、索引クラスタのみに新しいエクステントを割り当てることができます。
deallocate_unused_clause句を使用すると、クラスタの終わりの未使用領域の割当てを明示的に解除し、解放された領域が他のセグメントで使用可能になります。
この句の動作は、CREATE CLUSTER文およびALTER CLUSTER文で同じです。
parallel_clauseを指定すると、クラスタのDMLおよび問合せのデフォルト並列度を変更できます。
clusterの表がLOB型またはユーザー定義オブジェクト型の列を含む場合、clusterでその後に行うINSERT、UPDATEまたはDELETE操作と同様、この文は通知なしに逐次実行されます。
次に、「CREATE CLUSTER」の「例」で作成したクラスタを変更する例を示します。
次の文は、personnelクラスタを変更します。
ALTER CLUSTER personnel SIZE 1024 CACHE;
この結果、各クラスタ・キー値に1024バイトが割り当てられ、CACHE属性が有効になります。データ・ブロックのサイズを2KBと想定した場合、このクラスタ内の今後のデータ・ブロックには、各ブロックに2つのクラスタ・キー(2KBを1024バイトで割った値)が含まれます。
次の文は、languageクラスタから未使用領域の割当てを解除し、後で使用できるように30KBの未使用領域を保持します。
ALTER CLUSTER language DEALLOCATE UNUSED KEEP 30 K;
ALTER DATABASE文を使用すると、既存のデータベースを変更、メンテナンスまたはリカバリできます。
|
参照:
|
ALTER DATABASEシステム権限が必要です。
RECOVER句を指定する場合は、SYSDBAシステム権限が必要です。
(general_recovery::=、managed_standby_recovery::=を参照)
(full_database_recovery::=、partial_database_recovery::=を参照)
|
注意:
|
(create_datafile_clause::=、alter_datafile_clause::=、alter_tempfile_clause::=を参照)
(autoextend_clause::=、size_clause::=を参照)
(autoextend_clause::=、size_clause::=を参照)
(size_clause::=を参照)
(logfile_descriptor::=、add_logfile_clauses::=、drop_logfile_clauses::=、supplemental_db_logging::=を参照)
(redo_log_file_spec::=、logfile_descriptor::=を参照)
(supplemental_id_key_clause::=を参照)
(trace_file_clause::=を参照)
(activate_standby_db_clause::=、maximize_standby_db_clause::=、register_logfile_clause::=、commit_switchover_clause::=、start_standby_clause::=、stop_standby_clause::=、convert_database_clause::=、parallel_clause::=を参照)
(flashback_mode_clause::=、set_time_zone_clause::=を参照)
変更するデータベースの名前を指定します。データベース名にはASCII文字のみが使用できます。データベース名を指定しないと、初期化パラメータDB_NAMEに指定されているデータベースが変更されます。なお、データベースの制御ファイルが初期化パラメータCONTROL_FILESに指定されている場合にのみ、そのデータベースを変更できます。データベース識別子は、Oracle Netのデータベース指定とは関係ありません。
startup_clausesを使用すると、データベースをマウントおよびオープンして、アクセス可能にできます。
MOUNT句を使用すると、データベースをマウントできます。データベースがすでにマウントされている場合、この句は使用できません。
MOUNT STANDBY DATABASEを指定すると、物理スタンバイ・データベースをマウントできます。キーワードSTANDBY DATABASEはオプションです。Oracle Databaseは、マウント対象のデータベースがプライマリ・データベースかスタンバイ・データベースかを自動的に判別します。この文の実行直後、スタンバイ・インスタンスはプライマリ・インスタンスからREDOデータを受信できるようになります。
MOUNT CLONE DATABASEを指定すると、クローン・データベースをマウントできます。
OPEN句を使用すると、データベースを使用可能な状態にできます。データベースをオープンするには、マウントしておく必要があります。
OPENを他のキーワードを指定せずに単独で指定した場合のデフォルトは、プライマリ・データベース、論理スタンバイ・データベースまたはスナップショット・スタンバイ・データベースではOPEN READ WRITE NORESETLOGS、物理スタンバイ・データベースではOPEN READ ONLYです。
OPEN READ WRITEを指定すると、読取り/書込みモードでデータベースがオープンされ、ユーザーはREDOログを生成できるようになります。これは、プライマリ・データベースをオープンするときのデフォルトです。この句は、物理スタンバイ・データベースに対しては指定できません。
現行のログ順序番号を1にリセットし、アーカイブされていないログ(現行のログを含む)をアーカイブして、リカバリ時に適用されなかったREDO情報を今後適用されないように破棄するかどうかを指定します。Oracle Databaseは、この句の設定が必要な次の状況を除き、NORESETLOGSを自動的に使用します。
RESETLOGSを指定する必要があります。
RESETLOGSを、失われていないときはNORESETLOGSを指定する必要があります。
データベースをアップグレードまたはダウングレードする場合にかぎり、これらのOPEN句パラメータを使用します。この句は、Oracle Databaseに対して、アップグレードとダウングレードにそれぞれ必要なシステム・パラメータを動的に変更するように指示します。SQL*PlusのSTARTUP UPGRADEコマンドまたはSTARTUP DOWNGRADEコマンドでも、同じ結果が得られます。
OPEN READ ONLYを指定すると、トランザクションが読取り専用に制限され、ユーザーはREDOログを生成できなくなります。この設定は、物理スタンバイ・データベースをオープンするときのデフォルトです。プライマリ・データベース・サイトからのアーカイブ・ログのコピー中でも、物理スタンバイ・データベースが問合せに使用可能になります。
データベースのオープンには、次の制限事項があります。
READ WRITEモードでオープンされている場合、READ ONLYモードではオープンできません。
READ ONLYモードではオープンできません。
READ ONLYモードでオープンされている間は、表領域をオフラインに切り替えることはできません。ただし、データ・ファイルのオフラインとオンラインの切替えはできます。また、データベースがREAD ONLYモードでオープンされている間は、オフラインのデータ・ファイルおよび表領域をリカバリできます。recovery_clausesを使用すると、バックアップ後の操作を指定できます。これらすべての句では、Oracle Databaseは、現行の制御ファイルが認識しているデータ・ファイルおよびログ・ファイルのインカネーションを使用して、データベースをリカバリします。
general_recovery句を指定すると、データベース、スタンバイ・データベース、または指定した表領域やファイルのメディア・リカバリを制御できます。インスタンスで、データベースがマウント済(オープン状態またはクローズ状態)の場合、関連ファイルが使用中でなければ、この句を使用できます。
一般的なリカバリには、次の制限事項があります。
AUTOMATICを指定すると、リカバリ操作を続けるために必要な新規アーカイブREDOログ・ファイルの名前が自動的に生成されます。LOG_ARCHIVE_DEST_nパラメータが定義されている場合、最初のローカル接続先に対して有効で使用可能なパラメータがスキャンされます。その接続先はLOG_ARCHIVE_FORMATと結合して使用され、ターゲットのREDOログ・ファイル名が生成されます。LOG_ARCHIVE_DEST_nが定義されていない場合は、かわりにLOG_ARCHIVE_DESTパラメータ値が使用されます。
ファイルが検出されると、そのファイルに含まれているREDOが適用されます。ファイルが検出されない場合は、ファイル名の入力を求めるプロンプトが表示されます。この場合、提案として生成されたファイル名が表示されます。
AUTOMATICもLOGFILEも指定しない場合、ファイル名の入力を求めるプロンプトが表示されます。この場合、提案として生成されたファイル名が表示されます。この場合、生成されたファイル名を受け入れるか、または完全修飾されたファイル名に置き換えます。生成されるファイル名とアーカイブ済のファイル名が異なることがわかっている場合、LOGFILE句を使用することによって時間を節約できます。
FROM 'location'を指定すると、アーカイブREDOログ・ファイル・グループを読み取る位置を指定できます。locationには、使用するオペレーティング・システムの表記規則に従って、ファイルの位置を完全に指定する必要があります。このパラメータを指定しないと、そのアーカイブREDOログ・グループは、初期化パラメータLOG_ARCHIVE_DESTまたはLOG_ARCHIVE_DEST_1に指定された位置にあるとみなされます。
full_database_recovery句を指定すると、データベース全体をリカバリできます。
DATABASE句を指定すると、データベース全体をリカバリできます。これはデフォルトです。データベースがクローズされている場合にのみ、このオプションを使用できます。
STANDBY DATABASE句を指定すると、プライマリ・データベースからコピーされたアーカイブREDOログ・ファイルおよび制御ファイルを使用して、物理スタンバイ・データベースを手動でリカバリできます。スタンバイ・データベースは、マウントされているがオープンされていない状態である必要があります。
この句は、オンライン・データ・ファイルのみをリカバリします。
partial_database_recovery句を指定すると、個々の表領域およびデータ・ファイルをリカバリできます。
TABLESPACE句を指定すると、指定した表領域のみをリカバリできます。リカバリの対象となる表領域がオフラインの場合、データベースがオープン状態でもクローズ状態でも、この句を使用できます。
DATAFILE句を指定すると、指定したデータ・ファイルをリカバリできます。リカバリ対象のデータ・ファイルがオフラインの場合、データベースがオープン状態でもクローズ状態でも、この句を使用できます。
データ・ファイルは、名前または番号で識別できます。番号で識別した場合、filenumberは、V$DATAFILE動的パフォーマンス・ビューのFILE#列、またはDBA_DATA_FILESデータ・ディクショナリ・ビューのFILE_ID列の数を表す整数です。
以前のリリースでは、STANDBY TABLESPACEを指定すると、プライマリ・データベースおよび制御ファイルからコピーしたアーカイブREDOログ・ファイルを使用して、スタンバイ・データベース内に損失または破損した表領域を再構成できました。この句は現在非推奨になっています。かわりに、古い表領域をスタンバイ制御ファイルにリカバリする(それ以上の処理は行わない)場合は、文ALTER DATABASE RECOVER MANAGED STANDBY DATABASE UNTIL CHANGE scnを使用します。scnは、V$DATABASEのCURRENT_SCNフィールドに1を加えた値です。
以前のリリースでは、STANDBY DATAFILEを指定すると、プライマリ・データベースおよび制御ファイルからコピーされたアーカイブREDOログ・ファイルを使用して、損失または破損したデータ・ファイルを物理スタンバイ・データベース内で手動で再構成できました。この句は現在非推奨になっています。かわりに、古いデータ・ファイルをスタンバイ制御ファイルにリカバリする(それ以上の処理は行わない)場合は、文ALTER DATABASE RECOVER MANAGED STANDBY DATABASE UNTIL CHANGE scnを使用します。scnは、V$DATABASEのCURRENT_SCNフィールドに1を加えた値です。
LOGFILE 'filename'を指定すると、指定したREDOログ・ファイルを使用して、メディア・リカバリを続行できます。
TEST句を使用すると、試行リカバリを実行できます。試行リカバリは、通常のリカバリ手順に問題があった場合に有効です。REDOストリームを見ると、続いて発生する可能性のある問題を検出することができます。試行リカバリは、通常のリカバリと同様にREDOを適用しますが、ディスクに変更を書き込みません。変更は、試行リカバリの最後にロールバックされます。
この句を使用できるのは、最後のRESETLOGS操作以降に取ったバックアップをリストアする場合のみです。そうでない場合は、エラーが戻ります。
ALLOW integer CORRUPTION句を指定すると、ログ・ファイルが破損した場合に、許容リカバリの続行で許容する破損ブロックの数を指定することができます。
CONTINUEを指定すると、スレッドを使用禁止にするために中断されていた複数インスタンス・リカバリを再開できます。
CONTINUE DEFAULTを指定すると、他に指定されたログ・ファイルがない場合、自動的に生成されたREDOログ・ファイルを使用して、リカバリが再開されます。ファイル名の入力を求めるプロンプトが表示されないこと以外は、AUTOMATICの指定と同じです。
CANCELを指定すると、取消しベースのリカバリを終了できます。
managed_standby_recovery句を使用すると、物理スタンバイ・データベースでのREDO Applyを開始および停止できます。REDO Applyは、プライマリ・データベースから受け取るREDOを継続的に適用することで、スタンバイ・データベースとプライマリ・データベースでのトランザクションの一貫性を確保します。
プライマリ・データベースは、そのREDOデータをスタンバイ・サイトに転送します。REDOデータが、物理スタンバイ・サイトのREDOログ・ファイルに書き込まれると、REDO Applyでそのログ・ファイルを使用できるようになります。managed_standby_recovery句は、スタンバイ・インスタンスにデータベースがマウントされているか、またはスタンバイ・インスタンスが読取り専用でオープンされている場合にのみ使用できます。
この句には、「general_recovery」に記載されている内容と同じ制限が適用されます。
USING CURRENT LOGFILEを指定すると、リアルタイム適用を開始できます。これによって、スタンバイREDOログ・ファイルに書込みが行われると、このファイルからすぐにリカバリが実行されます。このとき、REDOファイルを物理スタンバイ・データベースにアーカイブしておく必要はありません。
DISCONNECTを指定すると、現行のセッションを他のタスクで使用可能にしたまま、REDO Applyをバックグラウンドで実行するよう指示できます。FROM SESSIONキーワードはオプションであり、意味を明確にするためのものです。
NODELAY句は、プライマリ・データベースのLOG_ARCHIVE_DEST_nパラメータのDELAY属性より優先されます。NODELAY句を指定しない場合は、LOG_ARCHIVE_DEST_n設定のDELAY属性に従って、アーカイブREDOログ・ファイルの適用が遅延されます(属性が設定されている場合)。このパラメータにDELAY属性が指定されていない場合、アーカイブREDOログ・ファイルは、すぐにスタンバイ・データベースに適用されます。
リアルタイム適用をUSING CURRENT LOGFILE句とともに指定すると、このスタンバイのプライマリでLOG_ARCHIVE_DEST_nパラメータに対して指定されたDELAY値は無視されます。デフォルトはNODELAYです。
この句を使用すると、特定のシステム変更番号より前のREDOデータをリカバリするようREDO Applyに指示できます。
FINISHを指定すると、フェイルオーバー用に準備されている使用可能なすべてのREDOデータを完全に適用できます。
FINISH句は、プライマリ・データベースに障害が発生した場合にのみ使用してください。この句は、設定済のいずれの遅延間隔より優先され、使用可能なすべてのREDOが即座に適用されます。FINISHコマンドが完了すると、このデータベースをスタンバイ・データベース・ロールで実行することができなくなります。このデータベースは、ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY文を発行してプライマリ・データベースに変換する必要があります。
CANCELを指定すると、REDO Applyをすぐに停止できます。REDO Applyが停止すると、すぐに制御が戻されます。
この句を使用すると、物理スタンバイ・データベースを論理スタンバイ・データベースに変換できます。
データベース名を指定して、新しい論理スタンバイ・データベースを識別します。この文を発行するときにサーバー・パラメータ・ファイル(spfile)を使用する場合は、新しい論理スタンバイ・データベースの情報でファイルが適切に更新されます。spfileを使用しない場合は、データベースのシャットダウン後にDB_NAMEパラメータの名前を設定するように求めるメッセージが発行されます。さらに、この句をスタンバイ・データベースで使用する前に、プライマリ・データベースでDBMS_LOGSTDBY.BUILD PL/SQLプロシージャを起動する必要もあります。
論理スタンバイによって提供されるローリング・アップグレード機能を使用し、さらにプライマリ・データベースおよび物理スタンバイの元の構成に戻す場合は、この句を使用します。この句を使用して作成された論理スタンバイ・データベースでは、スイッチオーバーおよびフェイルオーバーのサポートは制限されます。そのため、この句を使用して汎用論理スタンバイ・データベースを作成しないでください。
以前のリリースの構文には、次の句が記載されていました。これらの句は非推奨になる予定であり、使用する必要はありません。これらの句は使用しないことをお薦めします。
NOPARALLEL句は、非推奨になる予定です。すべてのREDO Applyはパラレル・モードで実行されます。指定されている場合、この句は無視されます。
FINISH句のこれらのオプションの書式は、非推奨になる予定です。ここでは下位互換性のために、これらのセマンティクスについて説明します。
FORCEを指定すると、FINISHプロセスを開始する妨げになる非アクティブなREDO転送セッションを終了できます。
NOWAITを指定すると、リカバリが完了する前に、フォアグラウンド・プロセスに制御が戻ります。
WAIT(デフォルト)を指定すると、リカバリが完了してから、フォアグラウンド・プロセスに制御が戻ります。
指定されている場合、これらの句は無視されます。ターミナル・リカバリはフォアグラウンドで実行され、常にすべてのREDO転送セッションを終了します。そのため、リカバリが完了するまでユーザーに制御は戻りません。
CANCEL句のこれらのオプションの書式は、非推奨になる予定です。ここでは下位互換性のために、これらのセマンティクスについて説明します。
IMMEDIATEキーワードを含めると、現在のREDOログ・ファイルが完全に適用される前に、REDO Applyを停止できます。セッション制御は、REDO Applyが実際に停止した時点で戻ります。
NOWAITキーワードを含めると、CANCEL操作が終了するのを待たずに、セッション制御が戻ります。
指定されている場合、これらの句は無視されます。REDO Applyは常にすぐに取り消され、操作の完了後にのみ制御がセッションに戻されます。
この句を使用すると、データベース内のすべてのデータ・ファイルをオンライン・バックアップ・モード(ホット・バックアップ・モードともいう)にしたり、このモードから戻すことができます。
BEGIN BACKUPを指定すると、データベース内のすべてのデータ・ファイルをオンライン・バックアップ・モードに設定できます。データベースをマウントしてオープンしておく必要があります。また、メディア・リカバリを使用可能にする(データベースをARCHIVELOGモードにする)必要があります。
データベースがオンライン・バックアップ・モードになっている間は、インスタンスの通常停止、個々の表領域のバックアップの開始、表領域のオフラインへの切替え、または表領域の読取り専用設定は実行できません。
この句は、オフラインまたは読取り専用の表領域のデータ・ファイルには影響しません。
END BACKUP指定すると、オンライン・バックアップ・モードの現行のデータベースにあるすべてのデータ・ファイルが、オンライン・バックアップ・モードから戻されます。この操作を実行するとき、データベースはマウント済(オープン状態またはクローズ状態)である必要があります。
システム障害、インスタンス障害、またはSHUTDOWN ABORT操作の後は、オンライン・バックアップ・モードのファイルがシステム・クラッシュ時のファイルと一致するかどうかは識別されません。ファイルに一貫性がある場合、個々のデータ・ファイル、またはすべてのデータ・ファイルをオンライン・バックアップ・モードから戻すことができます。これによって、起動時にファイルのメディア・リカバリを回避できます。
ALTER DATABASE DATAFILE ... END BACKUP文を使用すると、個々のデータ・ファイルをオンライン・バックアップ・モードから戻すことができます。「database_file_clauses」を参照してください。
ALTER TABLESPACE ... END BACKUP文を使用すると、表領域のすべてのデータ・ファイルをオンライン・バックアップ・モードから戻すことができます。
database_file_clausesを指定すると、データ・ファイルおよび一時ファイルを変更できます。インスタンスで、データベースがマウント済(オープン状態またはクローズ状態)の場合、関連ファイルが使用中でなければ、次の句はどれでも使用できます。
RENAME FILE句を使用すると、データ・ファイル、一時ファイルまたはREDOログ・ファイル・メンバーの名前を変更できます。この句を指定する前に、オペレーティング・システムのファイル名の表記規則に従って、各ファイル名を指定してください。
この句は、制御ファイルのファイル名のみを変更します。オペレーティング・システムのファイルの名前は、実際には変更されません。オペレーティング・システムのファイル名は存在したままですが、使用されません。
|
参照:
|
CREATE DATAFILE句を使用すると、元のデータ・ファイルのかわりに新しい空のデータ・ファイルを作成できます。この句を使用すると、バックアップを取らずに失われたデータ・ファイルを再作成できます。filenameまたはfilenumberには、データベースの一部であるファイルまたは以前一部であったファイルを指定します。番号で識別した場合、filenumberは、V$DATAFILE動的パフォーマンス・ビューのFILE#列、またはDBA_DATA_FILESデータ・ディクショナリ・ビューのFILE_ID列の数を表す整数です。
AS NEWを指定すると、データ・ファイル用のデフォルトのファイル・システム位置に、システムが生成するファイル名で、置き換えるファイルと同じサイズのOracle Managed Filesのデータ・ファイルが作成されます。
AS file_specificationを指定すると、新しいデータ・ファイルにファイル名(およびオプションでサイズ)を割り当てることができます。オペレーティング・システムのファイル・システム内の標準データ・ファイルと一時ファイル、または自動ストレージ管理ディスク・グループのファイルを指定するには、file_specificationのdatafile_tempfile_spec書式(「file_specification」を参照)を使用します。
元のファイル(filenameまたはfilenumber)が既存のOracle Managed Filesのデータ・ファイルの場合、Oracle Databaseは新しいファイルを作成した後、元のファイルを削除しようとします。元のファイルが既存のユーザー管理データ・ファイルの場合、Oracle Databaseは元のファイルを削除しません。
AS句を指定しない場合、Oracle Databaseによって、filenameまたはfilenumberに指定したファイルと同じ名前およびサイズのファイルが新しく作成されます。
リカバリ時には、元のデータ・ファイルの作成後に書き込まれたアーカイブREDOログを、失われたデータ・ファイルにかわる新しい空のデータ・ファイルに適用する必要があります。
新しいファイルは、元のファイルの作成時と同じ状態で作成されます。新しいファイルを元のファイルが失われた時点の状態に戻すには、メディア・リカバリを行ってください。
新規データ・ファイルの作成には、次の制限事項があります。
SYSTEM表領域の最初のデータ・ファイルに基づいて新しいファイルを作成することはできません。
CREATE DATAFILE句には、datafile_tempfile_specのautoextend_clauseは指定できません。
参照:
CREATE DATABASE」の「DATAFILE句」を参照してください。
datafile_tempfile_spec)の詳細は、「file_specification」および「新しいデータ・ファイルの作成例:」を参照してください。
DATAFILE句を使用すると、名前または番号で識別するファイルを操作できます。番号で識別した場合、filenumberは、V$DATAFILE動的パフォーマンス・ビューのFILE#列、またはDBA_DATA_FILESデータ・ディクショナリ・ビューのFILE_ID列の数を表す整数です。DATAFILE句を使用すると、次のようにデータベース・ファイルを変更できます。
ONLINEを指定すると、データ・ファイルをオンラインにできます。
OFFLINEを指定すると、データ・ファイルをオフラインにできます。データベースがオープンされている場合、データ・ファイルをオンラインに戻す前に、データ・ファイルのメディア・リカバリを行う必要があります。これは、データ・ファイルがオフラインになる前に、チェックポイントが実行されないためです。
データベースがNOARCHIVELOGモードの場合は、FOR DROP句を指定して、データ・ファイルをオフラインにする必要があります。ただし、この句は、データベースからデータ・ファイルを削除しません。そのため、オペレーティング・システムのコマンドを使用するか、またはデータ・ファイルが存在する表領域を削除する必要があります。削除するまで、データ・ファイルはRECOVERまたはOFFLINEの状態でデータ・ディクショナリに残ります。
データベースがARCHIVELOGモードの場合は、FOR DROP句は無視されます。
RESIZEを指定すると、データ・ファイルのサイズを、指定した絶対サイズ(バイト単位)まで増やしたり減らすことができます。デフォルト値はないため、必ずサイズを指定してください。
増やしたサイズに対して十分なディスク領域がない場合、または減らしたサイズを超えるデータがファイルに含まれる場合、エラー・メッセージが戻されます。
END BACKUPを指定すると、データ・ファイルがオンライン・バックアップ・モードから戻されます。END BACKUP句の詳細は、ALTER DATABASE構文の最上位で説明しています。「END BACKUP句」を参照してください。
TEMPFILE句を使用すると、一時データ・ファイルのサイズを変更できます。また、autoextend_clauseを指定すると、永続データ・ファイルと同じ効果を持たせることができます。データベースは、オープンされている必要があります。一時ファイルは、名前または番号で識別します。番号で識別した場合、filenumberは、V$TEMPFILE動的パフォーマンス・ビューのFILE#列の数を表す整数です。
DROPを指定すると、データベースから一時ファイルを削除できます。表領域はそのまま残ります。
INCLUDING DATAFILESを指定すると、関連付けられたオペレーティング・システム・ファイルは削除され、削除された各ファイルのメッセージがアラート・ログに書き込まれます。同じ結果は、ALTER TABLESPACE ... DROP TEMPFILE文を使用しても得られます。詳細は、「ALTER TABLESPACE」の「DROP句」を参照してください。
autoextend_clauseを使用すると、新規または既存のデータ・ファイルまたは一時ファイルの自動拡張を使用可能または使用禁止にできます。この句の詳細は、「file_specification」を参照してください。
logfile_clausesを指定すると、ログ・ファイルを追加、削除または変更できます。
ARCHIVELOGを指定すると、REDOログ・ファイル・グループを再利用する前に、グループの内容をアーカイブできます。このモードでは、メディア・リカバリができるようになります。この句は、インスタンスを正常に停止したか、またはエラーなしで即時停止した後に、再起動してデータベースをマウントした後にのみ使用します。
MANUALを指定すると、Oracle Databaseによって作成されたREDOログ・ファイルのアーカイブを、ユーザーが制御することができます。この句は、テープに直接アーカイブするユーザーなどに対して、下位互換性を保つために提供されています。MANUALを指定する場合、次のことに注意します。
MAXIMUM PROTECTIONまたはMAXIMUM AVAILABILITYスタンバイ保護モードにすることはできません。
この句を指定しない場合、REDOログ・ファイルは、初期化パラメータLOG_ARCHIVE_DEST_nに指定された宛先に自動的にアーカイブされます。
REDOログ・ファイル・グループを再利用する前に、内容をアーカイブする必要がない場合は、NOARCHIVELOG を指定します。このモードでは、メディア障害後のリカバリはできません。インスタンスでデータベースがマウントされているがオープンされていない場合にのみ、この句を使用します。
この句を使用すると、データベースをFORCE LOGGINGモードにしたり、このモードから戻すことができます。データベースは、マウントまたはオープンされている必要があります。
FORCE LOGGINGモードでは、一時表領域および一時セグメントの変更を除くデータベースのすべての変更が記録されます。この設定は、各表領域で指定するNOLOGGINGまたはFORCE LOGGING設定、および各データベース・オブジェクトで指定するNOLOGGING設定より優先され、これらの設定には影響されません。
FORCE LOGGINGを指定すると、Oracle Databaseは、まだ記録されていない実行中のすべての操作が終了するまで待機します。
ログ・ファイルに対するこの句の機能は、データ・ファイルおよび一時ファイルの場合と同じです。「RENAME FILE句」を参照してください。
CLEAR LOGFILE句を使用すると、オンラインREDOログを再初期化できます。REDOログをアーカイブしないオプションもあります。CLEAR LOGFILEは、REDOログの追加および削除と似ていますが、スレッドに2つ以外ログがない場合や、クローズ状態のスレッドの現行のREDOログ・ファイルに対しても発行できます。
スタンバイ・データベースでは、STANDBY_FILE_MANAGEMENT初期化パラメータがAUTOに設定されており、いずれかのログ・ファイルがOracle Managed Filesである場合、Oracle Databaseによって、制御ファイル内のファイルと同数のOracle Managed Filesのログ・ファイルが作成されます。ログ・ファイル・メンバーは、ログ・ファイルの現行のデフォルト宛先に格納されます。
UNARCHIVEDを指定する必要があります。ARCHIVELOGモードのデータベースでデータ・ファイルをオフラインにする(DROPキーワードを使用せずにALTER DATABASE ... DATAFILE OFFLINEを指定する)場合、およびそのデータ・ファイルをオンラインに戻す前に、消去するアーカイブされていないログがデータ・ファイルのリカバリに必要な場合は、UNRECOVERABLE DATAFILEを指定する必要があります。この場合、CLEAR LOGFILE文の完了後にデータ・ファイルおよび表領域全体を削除する必要があります。メディア・リカバリで必要なログを、CLEAR LOGFILEを使用して消去しないでください。データベースのチェックポイント後のREDOを含むログを消去する必要がある場合は、不完全メディア・リカバリを最初に実行する必要があります。オープンしているスレッドの現行のREDOログは消去できます。クローズしているスレッドの現行のログは、そのスレッド内でログを切り替えれば消去できます。
CLEAR LOGFILE文が、システム障害またはインスタンス障害による割込みを受けると、データベースがハングする場合があります。このような状況になった場合は、データベースの再起動後に、この文を再発行します。ログ・グループのあるメンバーにアクセスしようとした際、I/Oエラーによる障害が発生した場合は、そのメンバーを削除して他のメンバーを追加できます。
この句を使用すると、データベースにREDOログ・ファイル・グループを追加したり、既存のREDOログ・ファイル・グループに新しいメンバーを追加することができます。
ADD LOGFILE句を使用すると、指定したスレッドまたはインスタンスに1つ以上のREDOログ・ファイル・グループが追加され、そのスレッドが割り当てられているインスタンスで、そのグループを使用できるようになります。
ログ・ファイルがオンライン用、スタンバイ・データベース用のどちらに設計されたかを確認するには、V$LOGFILE動的パフォーマンス・ビューのTYPE列を問い合せます。
|
参照:
|
INSTANCE句は、パラレル・モードのReal Application ClustersでOracle Databaseを使用している場合にのみ適用可能です。ログ・ファイルを追加するインスタンス名を指定します。インスタンス名は最大80文字の文字列です。指定したインスタンスにマップするスレッドはOracle Databaseによって自動的に使用されます。指定されたインスタンスにスレッドがマップされていない場合、Oracle Databaseはマップされていない使用可能なスレッドを取得して、そのインスタンスに割り当てます。この句もTHREAD句も指定しない場合、Oracle Databaseは、現行のインスタンスを指定した場合と同じコマンドを実行します。指定されたインスタンスにマップされた現行のスレッドが存在せず、マップされていない使用可能なスレッドも存在しない場合、エラーが戻されます。
GROUP句を指定すると、すべてのスレッドのすべてのグループ間で、REDOログ・ファイル・グループを一意に識別できます。この値は、1からCREATE DATABASE文のMAXLOGFILESに指定された値までの範囲で指定できます。同一のGROUP値を持つREDOログ・ファイル・グループは、複数追加できません。このパラメータを指定しない場合、値が自動的に生成されます。REDOログ・ファイル・グループのGROUP値は、動的パフォーマンス・ビューV$LOGで確認できます。
各redo_log_file_specには、1つ以上のメンバー(コピー)を含むREDOログ・ファイル・グループを指定します。新しいログ・ファイルにファイル名を指定しない場合、「CREATE DATABASE」の「LOGFILE句」に示すルールに従って、Oracle Managed Filesが作成されます。
ADD LOGFILE MEMBER句を使用すると、既存のREDOログ・ファイル・グループに新しいメンバーを追加できます。新しいメンバーをそれぞれ'filename'に指定します。すでにファイルが存在する場合、追加するメンバーはグループ内の他のメンバーと同じサイズである必要があり、REUSEを指定する必要があります。ファイルが存在しない場合、適切なサイズのファイルが作成されます。メディア障害によってグループのすべてのメンバーを失った場合は、そのグループにメンバーを追加することはできません。
STANDBYを指定すると、ログ・ファイル・メンバーが物理スタンバイ・データベースのみで使用可能になります。ただし、このキーワードは必須ではありません。グループintegerがスタンバイ・データベース用に追加された場合は、すべてのメンバーも同様にスタンバイ・データベースのみに使用されます。
次のいずれかの方法で、既存のREDOログ・ファイル・グループを指定できます。
integerにはREDOログ・ファイル・グループを識別するGROUPパラメータの値を指定します。
REDOログ・ファイル・グループのすべてのメンバーを指定します。ご使用のオペレーティング・システムの表記規則に従って、ファイル名を完全に指定する必要があります。
|
参照:
|
この句を使用すると、REDOログ・ファイル・グループまたはREDOログ・ファイル・メンバーを削除できます。
DROP LOGFILE句を使用すると、REDOログ・ファイル・グループのすべてのメンバーを削除できます。この句を使用してOracle Managed Filesを削除する場合、ディスクからもすべてのログ・ファイル・メンバーが削除されます。ADD LOGFILE MEMBER句と同様に、REDOログ・ファイル・グループを指定します。
ALTER SYSTEM SWITCH LOGFILE文を発行する必要があります。
DROP LOGFILE MEMBER句を使用すると、1つ以上のREDOログ・ファイル・メンバーを削除できます。各'filename'には、ご使用のオペレーティング・システムのファイル名の表記規則に従って、メンバーを完全に指定する必要があります。
ALTER SYSTEM SWITCH LOGFILE文を発行する必要があります。詳細は、「ALTER SYSTEM」を参照してください。
DROP LOGFILE句を使用してください。この句を使用すると、ログ・ストリームへのサプリメンタル・データの追加を実行または停止するようにOracle Databaseに指示できます。
ADD SUPPLEMENTAL LOG DATAを指定すると、最小サプリメンタル・ロギングを使用可能にできます。最小サプリメンタル・ロギングに加え、列データ・ロギングを使用可能にする場合、ADD SUPPLEMENTAL LOG supplemental_id_key_clauseを指定します。PL/SQLコールのサプリメンタル・ロギングを使用可能にする場合、ADD SUPPLEMENTAL LOG supplemental_plsql_clauseを指定します。デフォルトでは、最小サプリメンタル・ロギングもサプリメンタル・ロギングも使用できません。
最小サプリメンタル・ロギングによって、LogMiner(およびLogMinerの技術に基づいた製品)には、連鎖行および様々な記憶域構成(クラスタ表など)をサポートするために十分な情報が確保されます。
あるデータベースで生成されたREDOが、別のデータベースでの変更の基となる(マイニングおよび適用される)場合(論理スタンバイ・データベースなど)、ROWIDではなく列データを使用して、影響を受ける行を識別する必要があります。この場合、supplemental_id_key_clauseを指定する必要があります。
サプリメンタル・ロギングが使用可能になっているかどうかを確認するには、V$DATABASEビューの適切な列を問い合せます。
データベースのオープン時にこの文を発行できます。ただし、パフォーマンスに影響するカーソル・キャッシュのすべてのDMLカーソルが、キャッシュが再移入されるまで無効になります。
supplemental_id_clauseの詳細は、「CREATE TABLE」の「supplemental_id_key_clause」を参照してください。
この句を使用すると、サプリメンタル・ロギングを停止できます。
DROP SUPPLEMENTAL LOG DATAを指定すると、更新操作が発生するたびにREDOログ・ストリームに追加の最小ログ情報が置かれることを停止できます。Oracle Databaseがsupplemental_id_key_clauseで指定された列データ・サプリメンタル・ロギングを実行している場合、まずDROP SUPPLEMENTAL LOG supplemental_id_key_clauseで列データ・サプリメンタル・ロギングを停止してから、この句を指定する必要があります。
DROP SUPPLEMENTAL LOG supplemental_id_key_clauseを指定すると、システム生成の補助ログ・グループの一部またはすべてを削除できます。削除する補助ログ・グループがsupplemental_id_key_clauseを使用して追加された場合、この句を指定する必要があります。
DROP SUPPLEMENTAL LOG supplemental_plsql_clauseを指定します。controlfile_clausesを指定すると、制御ファイルを作成またはバックアップできます。
CREATE STANDBY CONTROLFILE句を使用すると、物理または論理スタンバイ・データベースを管理するための制御ファイルを作成できます。ファイルがすでに存在している場合は、REUSEを指定してください。
BACKUP CONTROLFILE句を使用すると、現行の制御ファイルのバックアップを取ることができます。この句を使用するとき、データベースをオープンまたはマウントしておく必要があります。
この句を使用して制御ファイルのバイナリ・バックアップを指定します。ご使用のオペレーティング・システムの表記規則に従って、ファイル名を完全に指定する必要があります。指定したファイルがすでに存在している場合は、REUSEを指定します。
バイナリ・バックアップには、TO TRACEを指定した場合に取得されない情報が含まれています。アーカイブ・ログ履歴、読取り専用およびオフライン表領域のオフライン範囲、バックアップ・セットおよびコピー(Recovery Managerを使用する場合)などです。COMPATIBLE初期化パラメータが10.2以上の場合、バイナリ制御ファイルのバックアップには一時ファイルのエントリが含まれます。
TO TRACEを指定すると、Oracle Databaseでは、制御ファイルの物理バックアップが作成されるかわりに、トレース・ファイルにSQL文が書き込まれます。トレース・ファイルは、DIAGNOSTIC_DEST初期化パラメータによって決まるサブディレクトリに格納されます。CREATE CONTROLFILE文が書き込まれたトレース・ファイルの名前と場所は、アラート・ログで確認できます。V$DIAG_INFO動的パフォーマンス・ビューのNAMEおよびVALUE列を問い合せて、トレース・ファイルのディレクトリを検索することもできます。トレース・ファイルに記述されたSQL文を使用すると、データベースの起動、制御ファイルの再作成、データベースのリカバリやオープンなどの操作を、作成した制御ファイルに基づいて正しく実行できます。ブロック・チェンジ・トラッキングを使用可能にしているときにALTER DATABASE BACKUP CONTROLFILE TO TRACE文を発行すると、生成されるスクリプトには、ブロック・チェンジ・トラッキングを再度使用可能にするコマンドが記述されます。
この文は暗黙的なALTER DATABASE REGISTER LOGFILE文を発行します。アーカイブ・ログ・ファイルが現行のアーカイブ・ログの宛先に存在する場合、この文によって、インカネーション・レコードが作成されます。
制御ファイルのコピーがすべて失われた場合(または、制御ファイルのサイズを変更する場合)は、トレース・ファイルからスクリプト・ファイルに文をコピーし、必要に応じて文を編集できます。
AS filenameを指定すると、標準トレース・ファイルではなくfilenameというファイルにスクリプトを格納できます。
REUSEを指定すると、filenameと呼ばれる既存ファイルを上書きできます。
RESETLOGSは、データベースの起動用としてトレース・ファイルに書き込まれたSQL文が、ALTER DATABASE OPEN RESETLOGSであることを示します。オンライン・ログが使用不可能な場合のみ、この設定は有効です。
NORESETLOGSは、データベースの起動用としてトレース・ファイルに書き込まれたSQL文が、ALTER DATABASE OPEN NORESETLOGSであることを示します。オンライン・ログが使用可能な場合のみ、この設定は有効です。
オンライン・ログの今後の状態が予測できない場合は、RESETLOGSもNORESETLOGSも指定しないでください。この場合、両方のバージョンのスクリプトがトレース・ファイルに入れられるため、スクリプトが必要になった時点で、適切なバージョンを選択できます。
この句を使用すると、スタンバイ・データベースをアクティブにする、または保護モードと非保護モードのいずれかを指定することができます。
ACTIVATE STANDBY DATABASE句を使用すると、スタンバイ・データベースをプライマリ・データベースに変換できます。
PHYSICALを指定すると、物理スタンバイ・データベースをアクティブにできます。これはデフォルトです。
LOGICALを指定すると、論理スタンバイ・データベースをアクティブにできます。論理スタンバイ・データベースが複数ある場合は、すべてのスタンバイ・システムで同じログ・データが使用可能であることを確認する必要があります。
この句は、論理スタンバイ・データベースのみに適用されます。この句は、ターミナル適用を開始するために使用します(ターミナル適用を実行すると、残りのREDOが適用され、論理スタンバイ・データベースがプライマリ・データベースと同じ状態になります)。ターミナル適用が完了すると、データベースは、論理スタンバイからプライマリ・データベースへのスイッチオーバーを完了します。
データの消失があってもデータベースをすぐにリストアする必要がある場合は、この句を指定しないでください。データベースは、ターミナル適用を行わずに、論理スタンバイからプライマリ・データベースへのスイッチオーバーを実行します。
この句を使用すると、データベース環境でのデータの保護レベルを指定できます。この句は、プライマリ・データベースから指定します。この場合、プライマリ・データベースはマウントされている状態で、オープンされていない状態である必要があります。
この設定は、最大保護モードを確立し、最高レベルのデータ保護を実現します。トランザクションのリカバリに必要なすべてのデータが、SYNCログ転送モードを使用するように構成された1つ以上の物理スタンバイ・データベースに書き込まれるまで、そのトランザクションはコミットされません。1つ以上のスタンバイ・データベースにREDOレコードを書き込めない場合、プライマリ・データベースは停止します。このモードでは、データ非消失は保証されますが、プライマリ・データベースのパフォーマンスおよび可用性に最大の影響を与える可能性があります。
この設定は、最大可用性モードを確立し、2番目に高いレベルのデータ保護を実現します。トランザクションのリカバリに必要なすべてのデータが、SYNCログ転送モードを使用するように構成された1つ以上の物理または論理スタンバイ・データベースに書き込まれるまで、そのトランザクションはコミットされません。最大保護モードとは異なり、1つ以上のスタンバイ・データベースにREDOレコードを書き込めない場合でも、プライマリ・データベースは停止しません。障害が修正され、スタンバイ・データベースがプライマリ・データベースと同一になるまで、データ保護レベルは最大パフォーマンス・モードまで下げられます。最大パフォーマンス・モードのプライマリ・データベースに障害が発生しないかぎり、このモードによってデータ非消失が保証されます。最大可用性モードは、プライマリ・データベースの可用性に影響を与えずに、最大レベルのデータ保護を実現します。
この設定は、最大パフォーマンス・モードを確立します。これがデフォルトの設定です。トランザクションのリカバリに必要なデータが、スタンバイ・データベースにすべて書き込まれる前に、トランザクションはコミットされます。そのため、プライマリ・データベースに障害が発生し、プライマリ・データベースからREDOレコードをリカバリできない場合は、一部のトランザクションが失われることがあります。このモードは、プライマリ・データベースのパフォーマンスに影響を与えずに、最大レベルのデータ保護を実現します。
データベースの現行モードを確認するには、V$DATABASE動的パフォーマンス・ビューのPROTECTION_MODE列を問い合せます。
スタンバイ・データベースでREGISTER LOGFILE句を指定すると、障害が発生したプライマリ・データベースからログ・ファイルを手動で登録することができます。オペレーティング・システムのファイル・システム内の標準REDOログ・ファイル、または自動ストレージ管理ディスク・グループのREDOログ・ファイルをリスト表示するには、file_specificationのredo_log_file_spec書式(「file_specification」を参照)を使用します。
ログ・ファイルのインカーネーションが不明である場合、REGISTER LOGFILE句は、インカネーション・レコードをV$DATABASE_INCARNATIONビューに追加します。新しく登録されたログ・ファイルのインカネーションが現行のRECOVERY_TARGET_INCARNATION#よりも高いRESETLOGS_TIMEを保持している場合、REGISTER LOGFILE句は、新しく追加されたインカネーション・レコードに対応するようにRECOVERY_TARGET_INCARNATION#も変更します。
OR REPLACEを指定すると、たとえば位置やファイル指定が変更された場合に、スタンバイ・データベースの既存のアーカイブ・ログ・エントリが更新されます。エントリのシステム変更番号は、正確に一致している必要があります。また、元のエントリは、管理スタンバイ・ログの送信メカニズムによって作成される必要があります。
この句は、Streams環境で便利です。この句によって、指定した1つのLogMinerセッションで、ログ・ファイルを登録できます。
この句を使用すると、Data Guard構成でのデータベース・ロールの遷移を実行できます。
この句は、プライマリ・データベースが論理スタンバイ・データベースになる準備または論理スタンバイ・データベースがプライマリ・データベースになる準備を行います。
PREPARE TO SWITCHOVER TO LOGICAL STANDBYを指定します。
PREPARE TO SWITCHOVER TO PRIMARY DATABASEを指定します。
この句は、プライマリ・データベースをスタンバイ・データベース・ロールに切り替えるか、またはスタンバイ・データベースをプライマリ・データベース・ロールに切り替えます。
COMMIT TO SWITCHOVER TO PHYSICAL STANDBYまたはCOMMIT TO SWITCHOVER TO LOGICAL STANDBYを指定します。
COMMIT TO SWITCHOVER TO PRIMARY DATABASEを指定します。
この句は常にオプションです。この句をCOMMIT TO SWITCHOVER TO PRIMARY句とともに使用することは、非推奨になりました。
この句は、プライマリ・データベースが論理スタンバイ・データベース・ロールに遷移されるときに、PREPARE TO SWITCHOVER句またはCOMMIT TO SWITCHOVER句とともに指定します。この句をCOMMIT TO SWITCHOVER TO PRIMARY句とともに使用することは、非推奨になりました。
この句は、データベース・ロールの遷移を実行する前に、すべてのデータベース・セッションをクローズし、コミットされていないトランザクションをロールバックします。
この句は、データベース・セッションが存在する場合、要求されたロールの遷移が発生しないようにします。これはデフォルトです。
この句を指定すると、ロールの遷移が完了するのを待機してから制御がユーザーに戻されます。
この句を指定すると、ロールの遷移が完了するのを待機しないで制御がユーザーに戻されます。これはデフォルトです。
この句を指定すると、以前に指定したPREPARE TO SWITCHOVER文の影響が無効にされます。
START LOGICAL STANDBY APPLY句を指定すると、論理スタンバイ・データベースへのREDOログの適用を開始できます。この句では、PL/SQLコールのロギング以外に、主キー、一意索引および一意制約のサプリメンタル・ロギングが使用可能になります。
IMMEDIATEを指定します。
NODELAYを指定します。これは、プライマリ・データベースが存在せず、PL/SQLコールの実行が必要になる場合に便利です。
INITIALを指定します。
NEW PRIMARY句が必要となります。
SKIP FAILED [TRANSACTION]を指定します。
FINISHを指定します。プライマリ・データベースが使用できなくなった場合、REDOログ・ファイルのデータを適用できます。
この句を使用すると、ログ適用サービスを停止できます。この句は、物理スタンバイ・データベースではなく、論理スタンバイ・データベースのみに適用されます。STOP句を使用すると、適用が正常に停止されます。
この句を使用すると、データベースを別の形式に変換できます。
CONVERT TO PHYSICAL STANDBYを使用すると、プライマリ・データベースまたはスナップショット・スタンバイ・データベースを物理スタンバイ・データベースへ変換できます。
CONVERT TO SNAPSHOT STANDBYを使用すると、物理スタンバイ・データベースをスナップショット・スタンバイ・データベースへ変換できます。
この句を指定する前に、次の手順を実行します。
データベースは変換後にディスマウントされるため、再起動する必要があります。
データベースのデフォルト設定を変更できます。
ALTER DATABASE文を使用して、データベース・キャラクタ・セットまたは各国語キャラクタ・セットを変更することはできなくなりました。データベース・キャラクタ・セットの移行の詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。
この句を使用すると、以降に作成する表領域のデフォルト・タイプを指定または変更できます。表領域がbigfileかsmallfileかを指定するには、BIGFILEまたはSMALLFILEを指定します。
この句を使用すると、データベースのデフォルトの永続表領域を構築または変更できます。作成済の表領域を指定する必要があります。この操作の完了後、すべての非SYSTEMユーザーに、新しいデフォルトの一時表領域が再度割り当てられます。これらのユーザーがこれ以降作成するすべてのオブジェクトは、デフォルトで、新しいデフォルトの表領域に格納されます。以前に指定したデフォルトの表領域を置き換える場合、以前作成したオブジェクトを古いデフォルトの表領域から新しいデフォルトの表領域に移動した後で、必要に応じて古いデフォルトの表領域を削除することができます。
この句を使用すると、データベースのデフォルトの一時表領域を、新しい表領域または表領域グループに変更できます。
tablespaceを指定すると、データベースの新しいデフォルトの一時表領域を指定できます。この操作の完了後、以前のデフォルトの一時表領域が割り当てられているすべてのユーザーに、新しいデフォルトの一時表領域が再度割り当てられます。その後、必要に応じて以前のデフォルトの一時表領域を削除することができます。
tablespace_group_nameを指定すると、tablespace_group_nameで指定されている表領域グループのすべての表領域を、データベースのデフォルトの一時表領域として指定できます。この操作の完了後、デフォルトの一時表領域を明示的に割り当てられていないユーザーは、tablespace_group_nameに含まれる任意の表領域に一時セグメントを作成できます。以前のデフォルトの一時表領域がデフォルトの一時表領域グループに含まれる場合、以前の一時表領域を削除することはできません。
現行のデフォルトの一時表領域またはデフォルトの一時表領域グループの名前を確認するには、ALL_、DBA-またはUSER_USERSデータ・ディクショナリ・ビューのTEMPORARY_TABLESPACE列を問い合せます。
デフォルトの一時表領域には、次の制限事項があります。
SYSTEM表領域がローカル管理される場合、デフォルトの一時表領域として指定する表領域も、ローカル管理される必要があります。Oracle Real Application Clusters環境において、ENABLE INSTANCEを指定すると、指定したデータベース・インスタンスにマップされたスレッドを使用可能にできます。使用可能にできるスレッドは、2つ以上のREDOログ・ファイル・グループを持つスレッドのみです。また、データベースはオープンされている必要があります。
DISABLE INSTANCEを指定すると、指定したデータベース・インスタンスにマップされたスレッドを使用禁止にできます。インスタンス名は最大80文字の文字列です。指定したインスタンスにマップされているスレッドがない場合、エラーが戻されます。データベースは、オープンされている必要がありますが、指定したスレッドを使用しているインスタンスでデータベースをマウント済の場合は、そのスレッドを使用禁止にできません。
RENAME GLOBAL_NAMEを指定すると、データベースのグローバル名を変更できます。databaseには、データベースの新しい名前を8バイト以内の長さで指定します。オプションのdomainには、ネットワーク階層におけるデータベースの有効な位置を指定します。データベースは、オープンされている必要があります。
ブロック・チェンジ・トラッキング機能を使用すると、Oracle Databaseでは、プライマリ・データベースおよび任意の物理スタンバイ・データベースの両方で、すべてのデータベース更新の物理的な場所を追跡できます。トラッキングを実行する各データベースで、ブロック・チェンジ・トラッキングを使用可能にする必要があります。トラッキング情報は、ブロック・チェンジ・トラッキング・ファイルという別のファイルに保持されます。Oracle Managed Filesを使用している場合、Oracle Databaseは、DB_CREATE_FILE_DESTで指定した場所にブロック・チェンジ・トラッキング・ファイルを自動的に作成します。Oracle Managed Filesを使用していない場合、チェンジ・トラッキング・ファイルの名前を指定する必要があります。Oracle Databaseは、増分バックアップのパフォーマンス向上などの内部タスクのために、チェンジ・トラッキング・データを使用します。ブロック・チェンジ・トラッキングを使用可能にする場合、データベースは、ARCHIVELOGモードまたはNOARCHIVELOGモードで、オープンされているかマウント済である必要があります。
この句を指定すると、ブロック・チェンジ・トラッキングが使用可能になり、Oracle Databaseによってブロック・チェンジ・トラッキング・ファイルが作成されます。
USING FILE 'filename'を指定すると、ブロック・チェンジ・トラッキング・ファイルの名前を(Oracle Databaseが生成するのではなく)自分で指定できます。Oracle Managed Filesを使用していない場合、この句を指定する必要があります。
REUSEを指定すると、同じ名前の既存のブロック・チェンジ・トラッキング・ファイルを上書きできます。
この句を指定すると、Oracle Databaseによるチェンジ・トラッキングを停止し、既存のブロック・チェンジ・トラッキング・ファイルを削除できます。
|
参照:
ブロック・チェンジ・トラッキングの設定の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』および「ブロック・チェンジ・トラッキングを使用可能および使用禁止にする例:」を参照してください。 |
この句を使用すると、データベースをFLASHBACKモードにしたり、そのモードから戻すことができます。この句を指定できるのはデータベースがARCHIVELOGモードであり、データベースのフラッシュ・リカバリ領域をすでに準備している場合のみです。この句は、データベースがマウントされているがオープンされていない場合に指定できます。REDO Applyがアクティブな場合、物理スタンバイ・データベースでこの句は指定できません。
この句を使用すると、データベースはFLASHBACKモードになります。データベースがFLASHBACKモードのとき、Oracle Databaseは、フラッシュ・リカバリ領域に自動的にフラッシュバック・データベース・ログを作成し、これを管理します。その後、SYSDBAシステム権限を持つユーザーは、FLASHBACK DATABASE文を発行できます。
この句を使用すると、データベースはFLASHBACKモードから戻されます。Oracle Databaseは、フラッシュバック・データのロギングを停止し、既存のすべてのフラッシュバック・データベース・ログを削除します。FLASHBACK DATABASEを発行すると、エラーが発生して実行できません。
この句のセマンティクスは、CREATE DATABASE文およびALTER DATABASE文で同じです。この句をALTER DATABASEと併用すると、データベースのタイムゾーンがリセットされます。データベースのタイムゾーンを確認するには、組込み関数DBTIMEZONEを問い合せます(「DBTIMEZONE」を参照)。この句を使用してタイムゾーンを設定または変更した後、新しいタイムゾーンを有効にするためにデータベースを再起動する必要があります。
すべての新しいTIMESTAMP WITH LOCAL TIME ZONEデータは、ディスクに格納されるときにデータベースのタイムゾーンに正規化されます。データベースの既存のデータは、自動的に新しいタイムゾーンに更新されません。したがって、データベースにTIMESTAMP WITH LOCAL TIME ZONEデータが存在する場合、データベースのタイムゾーンをリセットすることはできません。データベースのタイムゾーンをリセットするには、まずTIMESTAMP WITH LOCAL TIME ZONEデータを削除またはエクスポートする必要があります。そのため、データを格納しているデータベースのタイムゾーンを変更しないことをお薦めします。
この句の詳細は、「CREATE DATABASE」の「set_time_zone_clause」を参照してください。
security_clause(GUARD)を使用すると、データベースのデータが変更されないように保護できます。現行のセッションでこの設定を上書きするには、ALTER SESSION DISABLE GUARD文を使用します。詳細は、「ALTER SESSION」を参照してください。
ALLを指定すると、SYS以外のすべてのユーザーが、データベースの内容を変更できなくなります。
STANDBYを指定すると、SYS以外のすべてのユーザーは、論理スタンバイで管理されるデータベース・オブジェクトを変更できなくなります。この設定は、論理スタンバイによってレプリケートされる前に、データをレポート操作によって変更できるようにする場合に便利です。
NONEを指定すると、データベースのすべてのデータについて、通常のセキュリティを設定できます。
次の文は、データベースを読取り専用モードでオープンします。
ALTER DATABASE OPEN READ ONLY;
次の文は、データベースを読み書き両用モードでオープンし、オンラインREDOログを消去します。
ALTER DATABASE OPEN READ WRITE RESETLOGS;
次の文は、パラレル・リカバリ処理を使用して表領域のリカバリを行います。
ALTER DATABASE RECOVER TABLESPACE tbs_03 PARALLEL;
次の文は、2つのメンバーを含むREDOログ・ファイル・グループを追加し、GROUPパラメータの値に3を指定してこのグループを識別します。
ALTER DATABASE ADD LOGFILE GROUP 3 ('diska:log3.log' , 'diskb:log3.log') SIZE 50K;
次の文は、2つのメンバーを含むREDOログ・ファイル・グループをスレッド5(Real Application Clusters環境内)に追加して、このグループにGROUPパラメータ値4を割り当てます。
ALTER DATABASE ADD LOGFILE THREAD 5 GROUP 4 ('diska:log4.log', 'diskb:log4:log');
次の文は、前述の例で追加したREDOログ・ファイル・グループに1つのメンバーを追加します。
ALTER DATABASE ADD LOGFILE MEMBER 'diskc:log3.log' TO GROUP 3;
次の文は、前述の例で追加したREDOログ・ファイル・メンバーの1つを削除します。
ALTER DATABASE DROP LOGFILE MEMBER 'diskb:log3.log';
次の文は、REDOログ・ファイル・グループ3のすべてのメンバーを削除します。
ALTER DATABASE DROP LOGFILE GROUP 3;
次の文は、REDOログ・ファイル・メンバーの名前を変更します。
ALTER DATABASE RENAME FILE 'diskc:log3.log' TO 'diskb:log3.log';
この例では、REDOログ・グループ・メンバーのファイルが、別のファイルに変更されただけです。ファイル名が、実際にdiskc:log3.logからdiskb:log3.logに変更されたわけではありません。この文を発行する前に、オペレーティング・システムでこのファイル名を変更する必要があります。
次の文は、これ以降作成される表領域の種類がデフォルトでbigfile表領域になるように指定します。
ALTER DATABASE SET DEFAULT BIGFILE TABLESPACE;
次の文は、tbs_5(「一時表領域の作成例:」で作成)をデータベースのデフォルトの一時表領域にします。この文は、作成時に何も指定されていない場合にデフォルトの一時表領域を作成するか、既存のデフォルトの一時表領域をtbs_05に置き換えます。
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE tbs_05;
または、表領域グループを使用して、表領域グループをデフォルトの一時表領域に定義することもできます。次の文は、表領域グループtbs_group_01の表領域(「表領域グループへの一時表領域の追加例:」で作成)をデータベースのデフォルトの一時表領域にします。
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE tbs_grp_01;
次の文は、ファイルtbs_f03.dbfを基に、新しいデータ・ファイルtbs_f04.dbfを作成します。新しいデータ・ファイルを作成する前に、既存のデータ・ファイル(またはこのデータ・ファイルが存在する表領域)をオフラインにする必要があります。
ALTER DATABASE CREATE DATAFILE 'tbs_f03.dbf' AS 'tbs_f04.dbf';
次の例では、「データ・ファイルおよび一時ファイルの追加例と削除例:」で作成された一時ファイルtemp02.dbfをオフラインにして、名前を変更します。
ALTER DATABASE TEMPFILE 'temp02.dbf' OFFLINE; ALTER DATABASE RENAME FILE 'temp02.dbf' TO 'temp03.dbf';
一時ファイルの名前を変更する文では、まずファイルtemp03.dbfをオペレーティング・システム上に作成する必要があります。
次の文は、データベースのグローバル名を変更し、データベース名とドメインの両方を指定します。
ALTER DATABASE RENAME GLOBAL_NAME TO demo.world.example.com;
次の文は、ブロック・チェンジ・トラッキングを使用可能にし、tracking_fileというブロック・チェンジ・トラッキング・ファイルを作成(すでに存在する場合は上書き)します。
ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE 'tracking_file' REUSE;
次の文は、ブロック・チェンジ・トラッキングを使用禁止にし、既存のブロック・チェンジ・トラッキング・ファイルを削除します。
ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;
次の文は、データ・ファイルdiskb:tbs_f5.datのサイズを変更します。
ALTER DATABASE DATAFILE 'diskb:tbs_f5.dat' RESIZE 10 M;
次の文は、ログ・ファイルを消去します。
ALTER DATABASE CLEAR LOGFILE 'diskc:log3.log';
次の文は、データベース全体を完全にリカバリし、必要な新しいアーカイブREDOログ・ファイル名を生成します。
ALTER DATABASE RECOVER AUTOMATIC DATABASE;
次の文は、Oracle Databaseが適用するREDOログ・ファイル名を明示的に指定します。
ALTER DATABASE RECOVER LOGFILE 'diskc:log3.log';
次の文は、時間ベースのデータベース・リカバリを実行します。
ALTER DATABASE RECOVER AUTOMATIC UNTIL TIME '2001-10-27:14:00:00';
データベースは、2001年10月27日の午後2時の状態にリカバリされます。
表領域のリカバリ例は、「パラレル・リカバリ処理の使用例:」を参照してください。
ALTER DIMENSION文を使用すると、ディメンションの階層関係またはディメンション属性を変更できます。
ディメンションが自分のスキーマ内にある必要があります。自分のスキーマ内にない場合は、ALTER ANY DIMENSIONシステム権限が必要です。
所有者の権限があれば、ディメンションはいつでも変更されます。
(level_clause::=、hierarchy_clause::=、attribute_clause::=、extended_attribute_clause::=を参照)
次のキーワード、パラメータおよび句の意味は、ALTER DIMENSIONに対してのみ有効です。その他のキーワード、パラメータおよび句には、CREATE DIMENSION文での機能と同じ機能があります。詳細は、「CREATE DIMENSION」を参照してください。
変更するディメンションのスキーマを指定します。schemaを指定しない場合、ディメンションは自分のスキーマ内にあるとみなされます。
ディメンション名を指定します。ディメンションは、すでに存在している必要があります。
ADD句を使用すると、ディメンションにレベル、階層または属性を追加できます。これらの要素の1つを追加しても、既存のマテリアライズド・ビューは無効になりません。
ADD LEVEL句は、他のADD句より前に処理されます。
DROP句を使用すると、ディメンションからレベル、階層または属性を削除できます。指定するすべてのレベル、階層または属性は、すでに存在している必要があります。
1つの属性で、1つのレベルに関連付けられている1つ以上のレベルと列の関係を削除できます。
属性または階層がレベルを参照する場合は、すべての参照している属性および階層を削除するか、またはCASCADEを指定しないかぎり、このレベルを削除することはできません。
CASCADEを指定すると、レベルを参照する属性または階層をレベルとともに削除できます。
RESTRICTを指定すると、属性または階層が参照するレベルを削除しないようにOracle Databaseに指示できます。これはデフォルトです。
COMPILEを指定すると、無効のディメンションを明示的に再コンパイルできます。ADD句またはDROP句が発行されると、ディメンションは自動的にコンパイルされます。ただし、ディメンションが参照するオブジェクトを変更する(たとえば、ディメンションで参照された表を削除した後再作成する)と、ディメンションが無効になるため、これを明示的に再コンパイルする必要があります。
次の例は、サンプル・スキーマshのcustomers_dimディメンションを変更します。
ALTER DIMENSION customers_dim DROP ATTRIBUTE country; ALTER DIMENSION customers_dim ADD LEVEL zone IS customers.cust_postal_code ADD ATTRIBUTE zone DETERMINES (cust_city);
ALTER DISKGROUP文を使用すると、ディスク・グループまたはディスク・グループ内のディスクに対して多数の操作を実行できます。
|
参照:
|
この文を発行するには、SYSDBAシステム権限が必要です。また、この文を発行する自動ストレージ管理インスタンスが起動されている必要があります。変更するディスク・グループはマウントされている必要があります。
SYSOPERロールで実行可能なALTER DISKGROUP操作は、diskgroup_availability_clause、balance_diskgroup_clauseです。
(add_disk_clause::=、drop_disk_clauses::=、resize_disk_clauses::=、disk_online_clause::=、disk_offline_clause::=、rebalance_diskgroup_clause::=、check_diskgroup_clause::=、diskgroup_template_clauses::=、diskgroup_directory_clauses::=、diskgroup_alias_clauses::=、diskgroup_attributes::=、drop_diskgroup_file_clause::=、undrop_disk_clause::=、diskgroup_availability::=を参照)
(size_clause::=を参照)
(size_clause::=を参照)
(qualified_template_clause::=を参照)
変更するディスク・グループの名前を指定します。既存のディスク・グループの名前を確認するには、V$ASM_DISKGROUP動的パフォーマンス・ビューを問い合せます。
この句を使用すると、ディスク・グループに1つ以上のディスクを追加し、新しく追加したディスクの属性を指定できます。この操作を実行すると、自動ストレージ管理によって、自動的にディスク・グループの均衡が再調整されます。
この句を使用して、ディスクの障害グループを変更することはできません。これを行うには、ディスク・グループからディスクを削除した後で、新しい障害グループの一部として、ディスク・グループにディスクを再度追加します。
ディスク・グループの既存のディスク名を確認するには、V$ASM_DISK動的パフォーマンス・ビューを問い合せます。
この句を使用すると、新しく追加したディスクを障害グループに割り当てることができます。この句を省略して、標準または高冗長性ディスク・グループにディスクを追加すると、Oracle Databaseは、新しく追加されたディスクを自動的に障害グループに追加します。障害グループの暗黙的な名前は、オペレーティング・システムに依存しないディスク名と同じです(「NAME句」を参照)。
外部冗長性ディスク・グループを作成している場合、この句は指定できません。
この句のセマンティクスは、CREATE DISKGROUP文およびALTER DISKGROUP文で同じです。この句の詳細は、「CREATE DISKGROUP」の「qualified_disk_clause」を参照してください。
この句を使用すると、ディスク・グループから1つ以上のディスクを削除できます。
DROP DISK句を使用すると、ディスク・グループから1つ以上のディスクを削除し、自動的にディスク・グループの均衡を再調整できます。ディスクを削除すると、自動ストレージ管理によって、ディスクのすべてのデータが再配置され、ディスクをディスク・グループから除外するためにディスク・ヘッダーが消去されます。
DROP DISKS IN FAILGROUP句を使用すると、指定した障害グループからすべてのディスクを削除できます。他の動作は、DROP DISK句と同じです。
これらのキーワードを使用すると、ディスクがディスク・グループから除外されたとみなされるタイミングを指定できます。デフォルト設定であるNOFORCEを使用することをお薦めします。
NOFORCEを指定すると、自動ストレージ管理によって、ディスクのすべてのエクステントが他のディスクに再配置された後で、ディスク・グループからそのディスクが除外され、ディスク・グループの均衡が再調整されます。
注意:
DROP DISK ... NOFORCEを指定すると、ディスクが安全に再利用される前またはディスクがシステムから削除される前に、制御がユーザーに戻ります。ディスクの削除操作が完了したことを確認するには、V$ASM_DISKビューを問い合せて、HEADER_STATUSの値がFORMERであることを確認します。STATEの値がDROPPINGの場合は、ディスクの削除や再利用はしないでください。V$ASM_OPERATIONビューを問い合せると、ディスクの削除によって実行される均衡の再調整に必要な時間の概略がわかります。REBALANCE...WAIT(「rebalance_diskgroup_clause」を参照)も指定すると、均衡の再調整操作が完了しディスクがクリアされるまで、この文は戻りません。ただし、予想外のイベントによって均衡の再調整が失敗することがあるため、V$ASM_DISKのHEADER_STATUS列がFORMERになっていることを必ず確認してください。
FORCEを指定すると、ディスクは、ディスク・グループからすぐに除外されます。次に、他のディスク上の冗長コピーからデータが再構築され、そのデータが他のディスクに再配置されて、ディスク・グループの均衡が再調整されます。FORCE句は、削除するディスクを自動ストレージ管理で読み取れなくなった場合などに便利です。ただし、FORCE句は、NOFORCEによる削除より長い時間がかかり、ファイルの一部の保護が低下することがあります。外部冗長性ディスク・グループにはFORCEを指定できません。自動ストレージ管理では、ディスク上に冗長データが存在しない場合、ディスクを削除する前にそのディスクからデータを読み取る必要があるためです。
FORCEやNOFORCEを指定したかどうかにかかわらず、ディスクを削除する際の均衡の再調整操作には時間がかかります。進捗を監視するには、V$ASM_OPERATION動的パフォーマンス・ビューを問い合せます。均衡の再調整操作の詳細は、「rebalance_diskgroup_clause」を参照してください。
この句を使用すると、ディスク・グループ内の1つ以上のディスクの新しいサイズを指定できます。この句は、オペレーティング・システムによって戻されるサイズや、以前にディスクに指定したサイズを上書きします。
この句を指定すると、ディスク・グループ内のすべてのディスクのサイズ変更操作を実行できます。
この句を指定すると、指定したディスクのみのサイズを変更できます。
この句を指定すると、指定した障害グループ内のすべてのディスクのサイズを変更できます。
ディスクのサイズをKB、MB、GBまたはTB単位で指定します。ディスク容量を超えるサイズは指定できません。ディスク容量よりも小さいサイズを指定した場合、自動ストレージ管理で使用されるディスク容量が制限されます。この句を省略した場合、自動ストレージ管理ではオペレーティング・システムによって戻されたサイズが使用されます。
disk_offline_clauseを使用すると、1つ以上のディスクをオフラインに切り替えることができます。指定したディスクをオフラインに切り替えることによってディスク・グループの冗長性レベルに違反する場合、この句は失敗します。
デフォルトでは、オフラインに切り替えられるとすぐに、ディスクは自動ストレージ管理によって削除されます。timeout_clauseを指定してこの操作を遅らせることにより、ディスクを修復してオンラインに戻すことができます。分単位または時間単位でタイムアウト値を指定できます。単位を指定しない場合、デフォルトは時間です。
この句を複数回指定することによって、タイムアウトの期間を変更できます。指定するたびに、自動ストレージ管理によって、ディスク・グループがマウントされている間、直近のdisk_offline_clauseからの時間が測定されます。自動ストレージ管理によってオフライン・ディスクが削除されるまでの残り時間を知るには、V$ASM_DISKのrepair_timer列を問い合せます。
この句によって、disk_repair_time属性の以前の設定が上書きされます。ディスク・グループの属性の詳細は、表14-1「ディスク・グループの属性」を参照してください。
disk_online_clauseを使用すると、1つ以上のディスクをオンラインにし、ディスク・グループの均衡を再調整できます。WAITおよびNOWAIT句は、ディスク・グループの均衡の手動再調整の場合と同じセマンティクスを持ちます。詳細は、「POWER」および「WAIT | NOWAIT」の説明を参照してください。
この句を使用すると、ディスク・グループからのディスクの削除を取り消すことができます。1つ以上のディスク・グループ内のすべてのディスク(diskgroup_nameを指定)、またはすべてのディスク・グループ内のすべてのディスク(ALLを指定)の保留中の削除を取り消すことができます。
ディスク・グループから完全に削除されたディスクや、完全に削除されたディスク・グループに対しては、この句は無効です。この句を指定すると、実行時間が長い操作が行われます。操作の状態を確認するには、V$ASM_OPERATION動的パフォーマンス・ビューを問い合せます。
この句を使用すると、ディスク・グループ全体に対して操作を実行できます。
この句を使用すると、ディスク・グループの均衡を手動で再調整できます。自動ストレージ管理では、すべてのドライブ間で均等にデータ・ファイルが再分散されます。記憶域構成が変化すると、自動ストレージ管理によって、ファイルが均等に配置され、ディスク・グループの均衡が自動的に再調整されるため、この句が必要なことはほとんどありません。ただし、POWER句を使用して均衡の自動再調整操作の速度を制御する場合、この句は便利です。
POWER句には、0〜11の値を指定します。0を指定すると均衡の再調整操作は停止し、11を指定すると自動ストレージ管理による均衡の再調整は最高速度で実行されます。POWER句に指定する値のデフォルトは、ASM_POWER_LIMIT初期化パラメータの値です。
POWER句を省略すると、自動ストレージ管理による均衡の自動および指定の再調整操作は、ASM_POWER_LIMIT初期化パラメータの値に基づいて実行されます。
この句を使用すると、制御を、均衡の再調整操作のどの段階でユーザーに戻すか指定できます。
WAITを指定すると、ディスクを追加または削除するスクリプトは、ディスク・グループの均衡が再調整されるのを待機してからユーザーに制御を戻します。WAITモードで実行している再調整操作は、明示的に終了させることができます。ただし、その場合、同じ文で完了しているディスクの追加操作や削除操作が元に戻ることはありません。
NOWAITは、文の発行後すぐに制御をユーザーに戻す場合に指定します。これはデフォルトです。
均衡の再調整操作の進捗を監視するには、V$ASM_OPERATION動的パフォーマンス・ビューを問い合せます。
|
参照:
ディスク・グループの均衡の再調整の詳細は、 |
check_diskgroup_clausesを使用すると、自動ストレージ管理ディスク・グループのメタデータの内部一貫性を検証できます。ディスク・グループは、マウントされている必要があります。自動ストレージ管理によってサマリー・エラーが表示され、検出されたエラーの詳細がアラート・ログに書き込まれます。
CHECKキーワードによって、次の処理が実行されます。
この句を使用すると、一貫性チェックで検出されたエラーを修正するかどうかを自動ストレージ管理に指示できます。デフォルトはNOREPAIRです。NOREPAIR設定は、非一貫性が検出された場合には警告を受け取るが、自動ストレージ管理による修正処理を自動的に行わない場合に便利です。
以前のリリースでは、ALL、DISK、DISKS IN FAILGROUPまたはFILEに対してCHECKを指定できました。これらの句は不要になったため、非推奨になる予定です。指定すると、動作は以前のリリースと同じで、アラート・ログにメッセージが追加されます。ただし、これらの句はサポートされなくなる予定であるため、新しいコードには使用しないことをお薦めします。非推奨になる予定の句は、次のとおりです。
ALL: ディスク・グループ内のすべてのディスクとファイルをチェックします。
DISK: ディスク・グループ内の1つ以上の指定したディスクをチェックします。
DISKS IN FAILGROUP: 指定した障害グループ内のすべてのディスクをチェックします。
FILE: ディスク・グループ内の1つ以上の指定したファイルをチェックします。ファイル名の参照書式のいずれかを使用する必要があります。自動ストレージ管理のファイル名の参照書式の詳細は、「ASM_filename」を参照してください。
テンプレートは、属性の名前付きコレクションです。ディスク・グループを作成すると、自動ストレージ管理によって、システムの一連の初期デフォルト・テンプレートがそのディスク・グループに関連付けられます。テンプレートで定義される属性は、そのディスク・グループ内のすべてのファイルに適用されます。次の表に、システムのデフォルト・テンプレートと、様々な種類のファイルに適用される属性を示します。表の後に説明するdiskgroup_template_clausesを使用すると、テンプレートの属性を変更して、新しいテンプレートを作成できます。
ディスク・グループ・ファイルを作成した後は、この句を使用して属性を変更することはできません。これを行うには、Recovery Manager(RMAN)を使用して、新しい属性を持つ新しいファイルにそのファイルをコピーする必要があります。
この句を使用すると、ディスク・グループに1つ以上の名前付きテンプレートを追加できます。既存のテンプレート名を確認するには、V$ASM_TEMPLATE動的パフォーマンス・ビューを問い合せます。
この句を使用すると、システムのデフォルト・ディスク・グループ・テンプレートまたはユーザー定義のディスク・グループ・テンプレートの属性を変更できます。指定した属性のみが変更されます。指定していないプロパティは、現在の値のまま変更されません。
追加または変更するテンプレートの名前を指定します。テンプレート名には、データベース・スキーマ・オブジェクトと同じネーミング規則および制限が適用されます。データベース・オブジェクト名の詳細は、「スキーマ・オブジェクトのネーミング規則」を参照してください。
新しく追加または変更するテンプレートの冗長性レベルを指定します。
MIRROR: このテンプレートが適用されるファイルは、データ・ブロックのミラー化によって保護されます。標準冗長性ディスク・グループでは、プライマリ・エクステントごとに1つのミラー・エクステントが存在します(双方向ミラー化)。高冗長性ディスク・グループでは、プライマリ・エクステントごとに2つのミラー・エクステントが存在します(3方向ミラー化)。外部冗長性ディスク・グループのテンプレートには、MIRRORを指定することはできません。
HIGH: このテンプレートが適用されるファイルは、データ・ブロックのミラー化によって保護されます。標準冗長性および高冗長性ディスク・グループでは、プライマリ・エクステントごとに2つのミラー・エクステントが存在します(3方向ミラー化)。外部冗長性ディスク・グループのテンプレートには、HIGHを指定することはできません。
UNPROTECTED: このテンプレートが適用されるファイルは、自動記憶域管理によってメディア障害から保護されません。システムのアクションまたはユーザー・コマンドによってディスクがオフラインになると、保護されていないファイルが失われる可能性があります。外部冗長性ディスク・グループには、UNPROTECTEDのみが有効な設定です。高冗長性ディスク・グループのテンプレートには、UNPROTECTEDを指定することはできません。標準または高冗長性ディスク・グループでは、保護されていないファイルを使用しないことをお薦めします。
この句を指定しない場合、デフォルト値は、標準冗長性ディスク・グループではMIRROR、高冗長性ディスク・グループではHIGH、外部冗長性ディスク・グループではUNPROTECTEDになります。
このテンプレートが適用されるファイルのストライプ化の方法を指定します。
FINE: このテンプレートが適用されるファイルは、128KB単位でストライプ化されます。
COARSE: このテンプレートが適用されるファイルは、1MB単位でストライプ化されます。これはデフォルト値です。
この句を使用すると、ディスク・グループから1つ以上のテンプレートを削除できます。この句で削除できるのはユーザー定義テンプレートのみであり、システム・デフォルト・テンプレートは削除できません。
自動ストレージ管理ファイル名の別名(「diskgroup_alias_clauses」を参照)を作成する前に、別名が存在する場所の完全なディレクトリ構造を指定する必要があります。diskgroup_directory_clausesを使用すると、そのようなディレクトリ構造を作成および操作できます。
この句を使用すると、階層的に名付けられた別名の新しいディレクトリ・パスを作成できます。ディレクトリの各コンポーネントを区切るには、スラッシュ(/)を使用します。各ディレクトリ・コンポーネントの最大長は48バイトであり、スラッシュ文字を含むことはできません。コンポーネントの最初または最後の文字に空白を使用することはできません。ディレクトリ・パス全体の長さは、256バイトから、このディレクトリに作成する別名(「diskgroup_alias_clauses」を参照)の長さを引いた長さを超えることはできません。
この句を使用すると、階層的に名付けられた別名のディレクトリを削除できます。FORCEが指定されていないかぎり、自動ストレージ管理では、別名の定義を含むディレクトリは削除されません。この句は、システム別名の一部として作成されたディレクトリの削除には無効です。そのようなディレクトリは、V$ASM_ALIAS動的パフォーマンス・ビューのSYSTEM_CREATED列にYという値が示されています。
この句を使用すると、階層的に名付けられた別名のディレクトリ名を変更できます。この句は、システム別名の一部として作成されたディレクトリ名の変更には無効です。そのようなディレクトリは、V$ASM_ALIAS動的パフォーマンス・ビューのSYSTEM_CREATED列にYという値が示されています。
自動ストレージ管理ファイルが暗黙的またはユーザー指定によって作成されると、そのファイルには、ドット付きの数値の組で終わる完全修飾名が割り当てられます(「file_specification」を参照)。diskgroup_alias_clausesを使用すると、自動ストレージ管理ファイル名に、よりわかりやすい別名を作成できます。ドット付きの数値の組で終わる別名は指定できません。このような書式を使用すると、自動ストレージ管理ファイル名と区別できないためです。
この句を指定する前に、まずネーミング規則に従ってディレクトリ構造を作成する必要があります(「diskgroup_directory_clauses」を参照)。別名全体の長さは最大256バイトです(ディレクトリの接頭辞を含む)。別名では大/小文字は区別されませんが、大/小文字の区別は保持されます。
この句を使用すると、自動ストレージ管理ファイル名の別名を作成できます。alias_nameには、ディレクトリのフルパスと別名を指定します。自動ストレージ管理の既存の別名を確認するには、V$ASM_ALIAS動的パフォーマンス・ビューを問い合せます。自動ストレージ管理ファイル名の詳細は、「ASM_filename」を参照してください。
この句を使用すると、ディスク・グループ・ディレクトリから別名を削除できます。各別名には、ディレクトリのフルパスと別名を指定します。別名が参照する元のファイルは変更されません。
この句を使用すると、既存の別名を変更できます。alias_nameには、ディレクトリのフルパスと別名を指定します。
システム生成された別名を削除したり、名前を変更することはできません。別名がシステム生成されたものかどうかを確認するには、V$ASM_ALIAS動的パフォーマンス・ビューのSYSTEM_CREATED列を問い合せます。
この句を使用すると、ディスク・グループの属性を指定できます。表14-1「ディスク・グループの属性」に、この句で設定できる属性を示します。この句の動作の詳細は、「CREATE DISKGROUP」の「ATTRIBUTE句」を参照してください。
この句を使用すると、ディスク・グループからファイルを削除できます。自動ストレージ管理によって、削除するファイルに関連付けられたすべての別名も削除されます。ファイル名の参照書式のいずれかを使用する必要があります。ほとんどの自動ストレージ管理ファイルはOracle Managed Filesであり、不要になると自動的に削除されるため、手動で削除する必要はありません。自動ストレージ管理のファイル名の参照書式の詳細は、「ASM_filename」を参照してください。
この句を使用すると、自動ストレージ管理インスタンスと同じノードで実行されているデータベース・インスタンスに対して、1つ以上のディスク・グループを使用可能または使用禁止にできます。この句は、クラスタ内の他のノードのディスク・グループの状態には影響しません。
MOUNTを指定すると、ローカル自動ストレージ管理インスタンスのディスク・グループをマウントできます。ALL MOUNTを指定すると、ASM_DISKGROUPS初期化パラメータで指定されたすべてのディスク・グループがマウントされます。ファイル操作は、ディスク・グループがマウントされている場合のみ可能です。
これらの句を使用すると、ディスク・グループがマウントされる方式を決定できます。
RESTRICTEDモードでは、ディスク・グループは単一インスタンス排他モードでマウントされます。同じクラスタ内の他のASMインスタンスは、そのディスク・グループをマウントできません。このモードでは、ASMクライアントはディスク・グループを使用できません。
NORMALモードでは、ディスク・グループは共有モードでマウントされます。そのため、他のASMインスタンスおよびクライアントがディスク・グループにアクセスできます。これはデフォルトです。
これらの句を使用すると、ディスク・グループがマウントされる環境を決定できます。
FORCEモードでは、ASMは、ディスク・グループに属するすべてのデバイスを検出できない場合でも、そのディスク・グループをマウントしようとします。この設定は、標準冗長性または高冗長性ディスク・グループのディスマウント中に、そのディスクの一部が使用不可になった場合に役立ちます。MOUNT FORCEが成功した場合、ASMは欠落しているディスクをオフラインにします。ASMがディスク・グループ内のすべてのディスクを検出した場合、MOUNT FORCEは失敗します。そのため、MOUNT FORCE設定は、一部のディスクが使用不可の場合にのみ使用します。それ以外の場合は、NOFORCEを使用します。
標準冗長性および高冗長性ディスク・グループでは、1つの障害グループのディスクが使用不可になる場合があり、MOUNT FORCEは正常に実行されます。また、高冗長性ディスク・グループでは、2つの異なる障害グループの2つのディスクが使用不可になる場合があり、MOUNT FORCEは正常に実行されます。使用不可のディスクのその他の組合せでは、ASMはすべてのユーザー・データまたはメタデータの有効なコピーが使用可能なディスク上にあることを保証できないため、操作は失敗します。
NOFORCEモードでは、ASMは、すべてのメンバー・ディスクが検出されないかぎり、ディスク・グループをマウントしようとしません。これはデフォルトです。DISMOUNTを指定すると、指定したディスク・グループをディスマウントできます。FORCEが指定されていないかぎり、ディスク・グループのいずれかのファイルがオープンされていると、エラーが戻されます。ALL DISMOUNTを指定すると、現在マウントされているすべてのディスク・グループがディスマウントされます。ファイル操作は、ディスク・グループがマウントされている場合のみ可能です。
FORCEを指定すると、ディスク・グループのいずれかのファイルがオープンされていてもディスク・グループをディスマウントするように、自動ストレージ管理に指示できます。
次の例では、dgroup_01というディスク・グループが必要です。ここでは、ASM_DISKSTRINGが$ORACLE_HOME/disks/*に設定されていることを想定しています。また、Oracleユーザーが$ORACLE_HOME/disks/d100への読取り/書込み権限を持っていると想定しています。dgroup_01の作成方法については、「ディスク・グループの作成例:」を参照してください。
次の文は、ディスクd100をディスク・グループdgroup_01に追加します。
ALTER DISKGROUP dgroup_01 ADD DISK '$ORACLE_HOME/disks/d100';
次の文は、ディスクdgroup_01_0000をディスク・グループdgroup_01から削除します。
ALTER DISKGROUP dgroup_01 DROP DISK dgroup_01_0000;
次の文は、ディスク・グループdgroup_01からのディスクの削除を取り消します。
ALTER DISKGROUP dgroup_01 UNDROP DISKS;
次の文は、ディスク・グループdgroup_01のすべてのディスクのサイズを変更します。
ALTER DISKGROUP dgroup_01 RESIZE ALL SIZE 36G;
次の文は、ディスク・グループdgroup_01の均衡を手動で再調整し、自動ストレージ管理による均衡の再調整を最高速度で実行します。
ALTER DISKGROUP dgroup_01 REBALANCE POWER 11 WAIT;
WAITキーワードを指定すると、データベースでは、ディスク・グループの均衡が再調整されるのを待機してからユーザーに制御を戻します。
次の文は、自動ストレージ管理ディスク・グループのメタデータの内部一貫性を検証し、検出されたエラーの修正を自動ストレージ管理に指示します。
ALTER DISKGROUP dgroup_01 CHECK ALL REPAIR;
次の文は、名前付きテンプレートtemplate_01をディスク・グループdgroup_01に追加します。
ALTER DISKGROUP dgroup_01 ADD TEMPLATE template_01 ATTRIBUTES (UNPROTECTED COARSE);
次の文は、システムのデフォルト・ディスク・グループ・テンプレートまたはユーザー定義のディスク・グループ・テンプレートtemplate_01の属性を変更します。
ALTER DISKGROUP dgroup_01 MODIFY TEMPLATE template_01 ATTRIBUTES (FINE);
次の文は、ユーザー定義テンプレートtemplate_01をディスク・グループdgroup_01から削除します。
ALTER DISKGROUP dgroup_01 DROP TEMPLATE template_01;
次の文は、別名が存在する場所のディレクトリ構造を指定します。
ALTER DISKGROUP dgroup_01 ADD DIRECTORY '+dgroup_01/alias_dir';
次の文は、自動ストレージ管理の数値のファイル名を指定してユーザー別名を作成します。
ALTER DISKGROUP dgroup_01 ADD ALIAS '+dgroup_01/alias_dir/datafile.dbf' FOR '+dgroup_01.261.1';
次の文は、ディスク・グループdgroup_01をディスマウントします。この文は、アクティブなファイルが1つ以上ある場合でも、ディスク・グループをディスマウントします。
ALTER DISKGROUP dgroup_01 DISMOUNT FORCE;
次の文は、ディスク・グループdgroup_01をマウントします。
ALTER DISKGROUP dgroup_01 MOUNT;
ALTER FLASHBACK ARCHIVE文を使用すると、次の操作を実行できます。
フラッシュバック・データ・アーカイブの使用方法の詳細は、『Oracle Databaseアドバンスト・アプリケーション開発者ガイド』および「CREATE FLASHBACK ARCHIVE」を参照してください。
参照:
フラッシュバック・データ・アーカイブを変更するには、FLASHBACK ARCHIVE ADMINISTERシステム権限が必要です。フラッシュバック・データ・アーカイブ表領域を追加、変更または削除するには、影響を受ける表領域に対する適切な権限も必要です。
既存のフラッシュバック・データ・アーカイブの名前を指定します。
この句を指定するには、SYSDBAとしてログインしている必要があります。この句を使用すると、このフラッシュバック・データ・アーカイブをシステムのデフォルトのフラッシュバック・データ・アーカイブとして指定できます。CREATE TABLE文またはALTER TABLE文に、フラッシュバック・データ・アーカイブ名を指定しないでflashback_archive_clauseが指定されている場合は、データベースはデフォルトのフラッシュバック・データ・アーカイブを使用して、該当する表のデータを格納します。
この文によって、異なるフラッシュバック・データ・アーカイブのデフォルトとしての以前の指定は上書きされます。
この句を使用すると、フラッシュバック・データ・アーカイブに表領域を追加できます。flashback_archive_quota句を使用して、新規表領域内のフラッシュバック・データ・アーカイブによって使用できる領域の量を指定できます。この句を省略すると、新しく追加された表領域内でフラッシュバック・データ・アーカイブの領域の制限はありません。
この句を使用すると、フラッシュバック・データ・アーカイブによってすでに使用されている表領域の割当て制限を変更できます。
この句を使用すると、フラッシュバック・データ・アーカイブによる使用から表領域を削除できます。フラッシュバック・データ・アーカイブによって使用される最後に残った表領域は削除できません。
削除する表領域にフラッシュバック・アーカイブの保存期間内のデータが含まれている場合は、そのデータも削除されます。そのため、この句を使用して表領域を削除する前に、データを別の表領域に移動する必要があります。
この句を使用すると、フラッシュバック・データ・アーカイブの保存期間を変更できます。
この句を使用すると、フラッシュバック・データ・アーカイブからデータを消去できます。
PURGE ALLを指定すると、フラッシュバック・データ・アーカイブからすべてのデータが削除されます。この履歴情報は、フラッシュバック問合せで指定されたSCNまたはタイムスタンプがUNDO保存期間内である場合にのみ、フラッシュバック問合せを使用して取得できます。
PURGE BEFORE SCNを指定すると、指定したシステム変更番号より前のフラッシュバック・データ・アーカイブからすべてのデータが削除されます。
PURGE BEFORE TIMESTAMPを指定すると、指定したタイムスタンプより前のフラッシュバック・データ・アーカイブからすべてのデータが削除されます。ファンクションはPL/SQLを使用して定義されます。このため、この項では一般的な情報について説明します。構文およびセマンティクスの詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。
ALTER FUNCTION文を使用すると、無効なスタンドアロンのストアド・ファンクションを再コンパイルできます。明示的に再コンパイルすることによって、実行時に暗黙的に再コンパイルする必要がなくなり、また、実行時のコンパイル・エラーとパフォーマンス上のオーバーヘッドもなくなります。
この文を使用して既存のファンクションの宣言や定義を変更することはできません。ファンクションを再宣言または再定義する場合は、OR REPLACE句を指定してCREATE FUNCTION文を使用します。「CREATE FUNCTION」を参照してください。
ファンクションが自分のスキーマ内にある必要があります。自分のスキーマ内にない場合は、ALTER ANY PROCEDUREシステム権限が必要です。
(function_compile_clause: この句の構文の詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。)
ファンクションが含まれているスキーマを指定します。schemaを指定しない場合、ファンクションは自分のスキーマ内にあるとみなされます。
再コンパイルするファンクション名を指定します。
この句の構文とセマンティクスの詳細およびファンクションの作成とコンパイルの詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。
ALTER INDEX文を使用すると、既存の索引を変更または再作成できます。
索引が自分のスキーマ内にある必要があります。自分のスキーマ内にない場合は、ALTER ANY INDEXシステム権限が必要です。
MONITORING USAGE句を実行する場合は、索引は自分のスキーマ内に存在する必要があります。
ドメイン索引を変更する場合は、索引の索引タイプに対してEXECUTEオブジェクト権限が必要です。
スキーマ・オブジェクト権限は、個々の索引パーティションまたはサブパーティションではなく、親索引に付与されている必要があります。
索引パーティションの変更、再作成または分割、索引サブパーティションの変更または再作成を行う場合は、表領域割当て制限が必要です。
(deallocate_unused_clause::=、allocate_extent_clause::=、shrink_clause::=、parallel_clause::=、physical_attributes_clause::=、logging_clause::=、rebuild_clause::=、alter_index_partitioning::=を参照)
(XMLIndex_parametersについては、『Oracle XML DB開発者ガイド』を参照してください。)
(size_clause::=を参照)
(size_clause::=を参照)
(storage_clause::=を参照)
(parallel_clause::=、physical_attributes_clause::=、key_compression::=、logging_clause::=を参照)
(XMLIndex_parametersについては、『Oracle XML DB開発者ガイド』を参照してください。)
(modify_index_default_attrs::=、add_hash_index_partition::=、modify_index_partition::=、rename_index_partition::=、drop_index_partition::=、split_index_partition::=、coalesce_index_partition::=、modify_index_subpartition::=を参照)
(physical_attributes_clause::=、logging_clause::=を参照)
(parallel_clause::=を参照)
(parallel_clause::=を参照)
(deallocate_unused_clause::=、allocate_extent_clause::=、physical_attributes_clause::=、logging_clause::=、key_compression::=を参照)
(parallel_clause::=を参照)
(segment_attributes_clause::=、key_compression::=を参照)
(physical_attributes_clause::=、logging_clause::=を参照)
(allocate_extent_clause::=、deallocate_unused_clause::=を参照)
索引が含まれているスキーマを指定します。schemaを指定しない場合、索引は自分のスキーマ内にあるとみなされます。
変更する索引の名前を指定します。
索引の変更には、次の制限事項があります。
indexがドメイン索引である場合は、PARAMETERS句、RENAME句、rebuild_clause(PARAMETERS句の有無に関係なく)、parallel_clauseまたはUNUSABLE句のみ指定できます。その他のすべての句は無効です。
LOADINGまたはFAILEDのマークが付いているドメイン索引は、変更または名前の変更ができません。索引にFAILEDのマークが付いている場合、REBUILD句のみ指定できます。deallocate_unused_clause句を使用すると、索引の終わりの未使用領域の割当てを明示的に解除し、解放された領域が表領域内の他のセグメントで使用可能になります。
indexがレンジ・パーティションまたはハッシュ・パーティションである場合、各索引パーティションの未使用領域の割当てが解除されます。indexがコンポジット・パーティション表のローカル索引である場合、各索引サブパーティションの未使用領域の割当てが解除されます。
領域の割当て解除には、次の制限事項があります。
この句の詳細は、「deallocate_unused_clause」を参照してください。
KEEP句を使用すると、割当てを解除した後に索引に残す、最高水位標を超えるバイト数を指定できます。残りのエクステント数がMINEXTENTSより少ない場合、MINEXTENTSは現行のエクステント数に設定されます。初期エクステントがINITIALより小さくなると、INITIALは初期エクステントの現行の値に設定されます。KEEPを指定しないと、すべての未使用領域が解放されます。
この句の詳細は、「ALTER TABLE」を参照してください。
allocate_extent_clauseを使用すると、索引の新しいエクステントを明示的に割り当てることができます。ハッシュ・パーティション表のローカル索引に対して、新規エクステントが索引の各パーティションに割り当てられます。
この句は、一時表の索引、レンジ・パーティションまたはコンポジット・パーティション索引に対して指定できません。
この句の詳細は、「allocate_extent_clause」を参照してください。
この句を使用すると、索引セグメントを縮小化できます。ALTER INDEX ... SHRINK SPACE COMPACTを指定することは、ALTER INDEX ... COALESCEを指定することと同じです。
この句の詳細は、「CREATE TABLE」の「shrink_clause」を参照してください。
この句は、ビットマップ結合索引またはファンクション索引に対して指定できません。
PARALLEL句を使用すると、索引の問合せおよびDMLに対するデフォルトの並列度を変更できます。
この句は、一時表の索引に対して指定できません。
この句の詳細は、「CREATE TABLE」の「parallel_clause」を参照してください。
physical_attributes_clauseを使用すると、非パーティション索引、パーティション索引のすべてのパーティションおよびサブパーティション、指定されたパーティション、または指定されたパーティションのすべてのサブパーティションに対するパラメータの値を変更できます。
索引の物理属性には、次の制限事項があります。
PCTUSEDパラメータを指定できません。
PCTFREEパラメータは、rebuild_clause、modify_index_default_attrs句またはsplit_partition_clauseの一部としてのみ指定できます。
storage_clauseを使用すると、非パーティション索引、索引パーティション、またはパーティション索引のすべてのパーティションの記憶域パラメータ、あるいはパーティション索引の記憶域パラメータのデフォルト値を変更できます。この句の詳細は、「storage_clause」を参照してください。
logging_clauseを使用すると、索引のロギング属性を変更できます。REBUILD句も指定すると、この新しい設定は再構築操作に影響します。REBUILD句でロギングに異なる値を指定した場合、索引および再構築操作のロギング属性として指定された最後のロギング値が使用されます。
索引セグメントには、実表の属性と異なるロギング属性、および同じ実表の他の索引セグメントと異なるロギング属性を指定できます。
この句は、一時表の索引に対して指定できません。
これらのキーワードは以前のリリースで非推奨になったもので、それぞれLOGGINGおよびNOLOGGINGに置き換えられています。RECOVERABLEおよびUNRECOVERABLEは、下位互換性のためにサポートされていますが、LOGGINGおよびNOLOGGINGキーワードを使用することをお薦めします。
RECOVERABLEは、パーティション表またはLOBの記憶特性の作成時には無効なキーワードです。UNRECOVERABLEは、パーティション表または索引構成表の作成時には無効なキーワードです。また、CREATE INDEXのAS副問合せ句を使用してのみ指定できます。
rebuild_clauseを使用すると、既存の索引、あるいはパーティションまたはサブパーティションのいずれかを再構築できます。索引にUNUSABLEのマークが付いている場合、正常に再構築するとUSABLEになります。ファンクション索引も使用可能にします。索引の基になるファンクションが存在しない場合、再構築文は正常に実行されません。
索引の再構築には、次の制限事項があります。
INVALIDのマークが付いているビットマップ索引は再構築できません。制約を削除してからそれを再作成する必要があります。
PARTITION句で説明するとおり、各パーティションまたはサブパーティションを再構築する必要があります。
deallocate_unused_clauseとrebuild_clauseを指定することはできません。
ALTER INDEX)またはパーティション(ALTER INDEX ... MODIFY PARTITION)に対して、PCTFREEパラメータ値を変更できません。ALTER INDEX文の他のすべての形式では、PCTFREEを指定できます。
ALTER INDEX ... REBUILD PARTITIONでローカル索引のパーティションを再構築できます。
TABLESPACEのみです。
PARTITION句を使用すると、索引の1つのパーティションを再構築できます。この句は、索引パーティションを別の表領域に移動したり、作成時の物理属性を変更するために使用できます。
ブロック・サイズが異なる表領域のパーティション化されたデータベース・エンティティの記憶域には、制限事項があります。これらの制限事項については、『Oracle Database VLDBおよびパーティショニング・ガイド』を参照してください。
この句は、コンポジット・パーティション表のローカル索引に対して指定できません。かわりに、REBUILD SUBPARTITION句を使用してください。
SUBPARTITION句を使用すると、索引の1つのサブパーティションを再構築できます。この句を使用して、索引サブパーティションを他の表領域に移動することもできます。TABLESPACEを指定しないと、サブパーティションは同じ表領域に再構築されます。
ブロック・サイズが異なる表領域のパーティション化されたデータベース・エンティティの記憶域には、制限事項があります。これらの制限事項については、『Oracle Database VLDBおよびパーティショニング・ガイド』を参照してください。
索引のサブパーティションの変更には、次の制限事項があります。
索引ブロックのバイトを逆順に格納するかどうかを示します。
REVERSEを指定すると、索引の再構築時に、索引ブロックのバイトが逆順で格納され、ROWIDが除外されます。
NOREVERSEを指定すると、索引の再構築時に、逆順にせずに索引ブロックのバイトが格納されます。NOREVERSEキーワードを指定せずにREVERSE索引を再構築すると、再構築された索引は、逆キーの索引になります。
逆索引には、次の制限事項があります。
parallel_clauseを使用すると、索引の再構築をパラレル化できます。
再構築された索引、索引パーティションまたは索引サブパーティションが格納される表領域を指定します。デフォルトは、再構築の前に索引またはパーティションが格納されていた表領域です。
COMPRESSを指定すると、キー列値の繰返し項目を排除するキー圧縮が使用可能になります。integerを使用して、接頭辞の長さ(圧縮する接頭辞列数)を指定します。
Oracle Databaseでは、索引(一意でない索引または2列以上の一意索引)が圧縮されます。パーティション索引の圧縮を使用する場合、索引では圧縮が索引レベルで有効になっている必要があります。
NOCOMPRESSを指定すると、キー圧縮が使用禁止になります。これはデフォルトです。
COMPRESSは、ビットマップ索引に対して指定できません。
ONLINEを指定すると、表またはパーティションのDML操作を索引の再構築中に可能にするかどうかを指定できます。
オンライン索引には、次の制限事項があります。
ONLINEを指定し、続いてパラレルDML文を発行すると、Oracle Databaseはエラーを戻します。
ONLINEを指定できません。
ALTER INDEX ... REBUILD操作をログに記録するかどうかを指定します。
この句の詳細は、「logging_clause」を参照してください。
この句は、トップレベルのALTER INDEX文のドメイン索引およびrebuild_clauseで使用される場合のドメイン索引およびXMLIndex索引に対してのみ有効です。
PARAMETERS句によって、未解析のまま適切なODCI索引タイプ・ルーチンに渡されたパラメータ文字列が指定されます。
PARAMETERS句によって、XMLIndex実装を定義するパラメータ文字列が指定されます。
パラメータ文字列の最大長は1,000文字です。
索引全体を変更または再構築する場合、文字列は索引レベルのパラメータを参照する必要があります。索引のパーティションを再構築する場合、文字列はパーティション・レベルのパラメータを参照する必要があります。
indexにUNUSABLEのマークが付いている場合、パラメータを変更するのみではUSABLEにはなりません。UNUSABLEのマークが付いた索引を使用可能にするには、その索引を再構築する必要があります。
Oracle Textがインストール済の場合、Oracle Text固有のパラメータを使用するOracle Textのドメイン索引を再構築することができます。パラメータの詳細は、『Oracle Textリファレンス』を参照してください。
PARAMETERS句には、次の制限事項があります。
indexにIN_PROGRESSまたはFAILEDのマークが付いておらず、IN_PROGRESSのマークが付いた索引パーティションが存在せず、変更対象のパーティションにFAILEDのマークが付いていない場合にのみ、索引パーティションを変更できます。
参照:
XMLIndex_parameters_clauseの構文およびセマンティクスを含むXMLIndexの詳細は、『Oracle XML DB開発者ガイド』を参照してください。
この句は、ドメイン索引に対してのみ有効です。この句を使用すると、無効なドメイン索引を明示的に再コンパイルできます。この句は、主に、システム管理されたドメイン索引をサポートするように基礎となる索引タイプが変更され、その結果として既存のドメイン索引がINVALIDとマークされた場合に有効です。これにより、このALTER INDEX文によって、ドメイン索引はユーザー管理されたドメイン索引からシステム管理されたドメイン索引に移行されます。
|
参照:
システム管理されたドメイン索引の作成の詳細は、「 |
ENABLEは、索引が使用するユーザー定義ファンクションが削除または置換されたために使用禁止になったファンクション索引のみに適用されます。次の条件が該当する場合、この句によって、このような索引が使用可能になります。
ENABLEと同じ文には、ALTER INDEXの他の句を指定できません。
DISABLEは、ファンクション索引のみに適用されます。この句を使用してファンクション索引を使用禁止にします。たとえば、ファンクションの本体を処理する場合に、これを行います。その後、ENABLEキーワードを使用して、索引を再構築、または別のALTER INDEX文を指定できます。
索引、索引パーティションまたは索引サブパーティションにUNUSABLEのマークを付けるには、UNUSABLEを指定します。使用禁止の索引を使用可能にする場合、再構築するか、または削除して再作成する必要があります。1つのパーティションにUNUSABLEのマークが付いている場合も、同じ索引の他のパーティションは有効です。その索引を必要とする文が使用禁止のパーティションにアクセスしない場合、その文を実行できます。また、使用禁止のパーティションは、分割または名前を変更してから再構築できます。詳細は、「CREATE INDEX ... UNUSABLE」を参照してください。
この句は、一時表の索引に対して指定できません。
この句を使用すると、オプティマイザで索引を参照可能にするかどうかを指定できます。この句の詳細は、CREATE INDEXの「VISIBLE | INVISIBLE」を参照してください。
この句を指定すると、索引の名前を変更できます。new_index_nameは単一の識別子で、スキーマ名は含まれません。
ドメイン索引の場合、indexおよびindexのパーティションにIN_PROGRESSまたはFAILEDのマークが付いていると無効になります。
COALESCEを指定すると、ブロックを再利用するために、索引ブロックの内容を空きブロックにマージできます(可能な場合)。
索引ブロックの結合には、次の制限事項があります。
ALTER TABLEのCOALESCE句を使用します。
参照:
この句を使用すると、索引の使用を監視するかどうかを決定できます。
MONITORING USAGEを指定すると、索引の監視が開始されます。まず、索引の使用に関する既存の情報が削除され、ALTER INDEX ... NOMONITORING USAGE文が次に実行されるまで、索引の使用が監視されます。
NOMONITORING USAGEを指定すると、索引の監視を終了できます。
このALTER INDEX ... NOMONITORING USAGE文が発行された後、索引が使用されたかどうかを調べるには、V$OBJECT_USAGE動的パフォーマンス・ビューのUSED列を問い合せます。
UPDATE BLOCK REFERENCES句は、索引構成表の通常のドメイン索引に対してのみ有効です。この句を指定すると、主キーによって識別されるブロックの適切なデータベース・アドレスとともに索引行の一部として格納され、失効したと推測されるすべてのデータ・ブロック・アドレスを更新することができます。
ドメイン索引では、AlterIndexUpdBlockRefsに設定されたalter_optionパラメータでODCIIndexAlterルーチンが実行されます。このルーチンはカートリッジ・コードを使用可能にし、失効したと推測される索引のデータ・ブロック・アドレスを更新します。
この句をALTER INDEXの他の句と組み合せることはできません。
ALTER INDEX文のパーティション化句は、パーティション索引に対してのみ有効です。
ブロック・サイズが異なる表領域のパーティション化されたデータベース・エンティティの記憶域には、制限事項があります。これらの制限事項については、『Oracle Database VLDBおよびパーティショニング・ガイド』を参照してください。
索引のパーティション変更には、次の制限事項があります。
ALTER INDEX文にまとめることはできますが(RENAMEおよびREBUILDは除く)、パーティション操作を、他のパーティション操作またはベース索引に対する操作と組み合せることはできません。
パーティション索引のデフォルト属性に新しい値を指定します。
ハッシュ・パーティション・グローバル索引またはハッシュ・パーティション表の索引の属性には、TABLESPACEのみを指定できます。
索引の新規パーティション、または索引パーティションのサブパーティションに対して、デフォルトの表領域を指定します。
パーティション索引または索引パーティションのデフォルトのロギング属性を指定します。
この句の詳細は、「logging_clause」を参照してください。
FOR PARTITION句を使用すると、コンポジット・パーティション表にあるローカル索引のパーティションのサブパーティションに対して、デフォルトの属性を指定できます。
リスト・パーティションに対してFOR PARTITIONを指定することはできません。
この句を使用すると、ハッシュ・パーティション・グローバル索引にパーティションを追加できます。Oracle Databaseは、ハッシュ・パーティションを追加し、ハッシュ・ファンクションによって索引の既存のハッシュ・パーティションから再ハッシュされた索引エントリをそのハッシュ・パーティションに移入します。パーティション名を省略すると、SYS_Pnの形式でパーティション名が割り当てられます。TABLESPACE句を省略すると、その索引に対して指定された表領域にパーティションが配置されます。索引の表領域が指定されていない場合、パーティションは、ユーザーのデフォルトの表領域(指定されている場合)またはシステムのデフォルトの表領域に配置されます。
modify_index_partition句を使用すると、索引パーティションpartitionまたはそのサブパーティションの実物理属性、ロギング属性または記憶特性を変更できます。ハッシュ・パーティション・グローバル索引の場合、この句に指定できる副次句はUNUSABLEのみです。
この句を指定すると、ブロックを再利用するために、索引パーティション・ブロックの内容を空きブロックにマージできます(可能な場合)。
UPDATE BLOCK REFERENCES句は、索引構成表の通常の索引に対してのみ有効です。この句を使用すると、2次索引パーティションに格納されている、失効したと推測されるすべてのデータ・ブロック・アドレスを更新することができます。
この句には、次の制限事項があります。
physical_attributes_clauseを指定することはできません。
ALTER INDEXの他の句とともに、UPDATE BLOCK REFERENCESを指定することはできません。索引パーティションに対するこの句の機能は、索引全体の場合と同じです。詳細は、「UNUSABLE」を参照してください。
この句は、コンポジット・パーティション索引に対してのみ有効です。この句を使用すると、パーティションおよびそのパーティションのすべてのサブパーティションの圧縮属性を変更できます。Oracle Databaseは、パーティション内の各索引サブパーティションにUNUSABLEのマークを付けます。その後、これらのサブパーティションを再構築する必要があります。パーティションにキー圧縮を指定するには、まず表にキー圧縮を指定しておく必要があります。この句は、パーティション・レベルでのみ指定できます。個々のサブパーティションの圧縮属性は変更できません。
非コンポジット索引パーティションにもこの句を指定できます。ただし、非コンポジット・パーティションには、再構築と圧縮属性の設定を1つの手順で行うrebuild_clauseを使用する方が効率的です。
rename_index_partition句を使用すると、索引パーティションまたは索引サブパーティションの名前をnew_nameに変更できます。
索引パーティションの名前の変更には、次の制限事項があります。
indexにIN_PROGRESSまたはFAILEDのマークを付けることはできません。また、パーティションにIN_PROGRESS、名前を変更するパーティションにFAILEDのマークを付けることはできません。drop_index_partition句を使用すると、グローバル・パーティション索引からパーティションとその中のデータを削除できます。グローバル索引のパーティションを削除する場合、その索引の次のパーティションにUNUSABLEのマークが付けられます。グローバル索引の最上位のパーティションは削除できません。
split_index_partition句を使用すると、レンジ・パーティション・グローバル索引のパーティションを2つのパーティションに分割し、新しいパーティションを索引に追加できます。この句は、ハッシュ・パーティション・グローバル索引に対しては無効です。かわりに、add_hash_index_partition句を使用してください。
UNUSABLEのマークが付いたパーティションを分割すると、2つのパーティションが生成されますが、その両方にUNUSABLEのマークが付けられます。このようなパーティションは、使用前に再構築する必要があります。
使用可能なパーティションを分割した場合、索引データが入っている2つのパーティションが生成されます。両方の新規パーティションは使用可能です。
split_partition_1に新しい上限(境界は含まない)を指定します。value_listの値は、partition_name_oldの分割前のパーティション境界より小さく、その次の最小のパーティション(そのようなパーティションがある場合)のパーティション境界より大きい値である必要があります。
分割の結果、生成される2つのパーティションの名前と物理属性を任意に指定します。
この句は、ハッシュ・パーティション・グローバル索引に対してのみ有効です。索引パーティションの数が1つ減少します。結合するパーティションは、ハッシュ・ファンクションの要件に基づいて選択されます。この句を使用するのは、選択されたパーティションの索引エントリを残りのパーティションのいずれかに分散した後で、その選択されたパーティションを削除する場合です。
modify_index_subpartition句を使用すると、コンポジット・パーティション表にあるローカル索引のサブパーティションに対する領域のUNUSABLEのマーク付け、割当てまたは割当て解除が可能になります。このようなサブパーティションの他のすべての属性は、パーティション・レベルのデフォルトの属性から継承されます。
次の文は、索引ブロックのバイトが逆順に格納されるように、索引ord_customer_ix(「索引の作成例:」で作成)を再構築します。
ALTER INDEX ord_customer_ix REBUILD REVERSE;
次の文は、パラレル実行プロセスを使用して、既存の索引のスキャンおよび新しい索引の構築を行い、既存の索引から索引を再構築します。
ALTER INDEX ord_customer_ix REBUILD PARALLEL;
次の文は、同じ索引に将来追加されるデータ・ブロックが、5つの初期トランザクション・エントリと100KBの増分エクステントを使用するように、索引oe.cust_lname_ixを変更します。
/* Unless you change the default tablespace of sample user oe, or specify different tablespace storage for the index, this example fails because the default tablespace originally assigned to oe is locally managed. */ ALTER INDEX oe.cust_lname_ix INITRANS 5 STORAGE (NEXT 100K);
索引oe.cust_lname_ixがパーティション化されている場合、この文は将来追加される索引のパーティションのデフォルト属性も変更します。将来追加されるパーティションでは、5つの初期トランザクション・エントリと100KBの増分エクステントが使用されます。
次の文は、索引upper_ix(「ファンクション索引の作成例:」で作成)に対するスキャンがパラレル化されるように、索引のパラレル属性を設定します。
ALTER INDEX upper_ix PARALLEL;
次の文は、索引の名前を変更します。
ALTER INDEX upper_ix RENAME TO upper_name_ix;
次の例は、cost_ix索引(「レンジ・パーティション・グローバル索引の作成例:」で作成)を使用します。この索引のパーティションp1は、「索引パーティションの削除例:」で削除されています。最初の文は、索引パーティションp2にUNUSABLEのマークを付けます。
ALTER INDEX cost_ix MODIFY PARTITION p2 UNUSABLE;
次の文は、索引cost_ix全体にUNUSABLEのマークを付けます。
ALTER INDEX cost_ix UNUSABLE;
次の文は、cost_ix索引のパーティションp2およびp3を再構築し、索引をもう一度使用可能にします。パーティションp3の再構築はログに記録されません。
ALTER INDEX cost_ix REBUILD PARTITION p2; ALTER INDEX cost_ix REBUILD PARTITION p3 NOLOGGING;
次の文は、パーティションp3のエクステントの最大数を変更し、ロギング属性を変更します。
/* This example will fail if the tablespace in which partition p3 resides is locally managed. */ ALTER INDEX cost_ix MODIFY PARTITION p3 STORAGE(MAXEXTENTS 30) LOGGING;
次の文は、cost_ix索引(「レンジ・パーティション・グローバル索引の作成例:」で作成)の索引パーティションの名前を変更します。
ALTER INDEX cost_ix RENAME PARTITION p3 TO p3_Q3;
次の文は、索引cost_ixのパーティションp2(「レンジ・パーティション・グローバル索引の作成例:」で作成)をp2aとp2bに分割します。
ALTER INDEX cost_ix SPLIT PARTITION p2 AT (1500) INTO ( PARTITION p2a TABLESPACE tbs_01 LOGGING, PARTITION p2b TABLESPACE tbs_02);
次の文は、cost_ix索引から索引パーティションp1を削除します。
ALTER INDEX cost_ix DROP PARTITION p1;
次の文は、ローカル・パーティション索引prod_idx(「ハッシュ・パーティション表の索引の作成例:」で作成)のデフォルトの属性を変更します。将来追加されるパーティションでは、5つの初期トランザクション・エントリと100KBの増分エクステントが使用されます。
ALTER INDEX prod_idx MODIFY DEFAULT ATTRIBUTES INITRANS 5 STORAGE (NEXT 100K);
ALTER INDEXTYPE文を使用すると、索引タイプの演算子を追加または削除したり、実装タイプを変更したり、索引タイプのプロパティを変更することができます。
索引タイプが自分のスキーマ内にある必要があります。自分のスキーマ内にない場合は、ALTER ANY INDEXTYPEシステム権限が必要です。
新しい演算子を追加する場合は、その演算子に対するEXECUTEオブジェクト権限が必要です。
実装タイプを変更する場合は、新しい実装タイプに対するEXECUTEオブジェクト権限が必要です。
(using_type_clause::=、storage_table_clauseを参照)
(array_DML_clause::=を参照)
索引タイプが存在するスキーマ名を指定します。schemaを指定しない場合、索引タイプは自分のスキーマ内にあるとみなされます。
変更する索引タイプの名前を指定します。
ADDまたはDROP句を使用すると、演算子を追加または削除できます。
削除には特別な権限は必要ありません。
schemaには、演算子を含むスキーマを指定します。schemaを指定しない場合、その演算子は自分のスキーマにあるとみなされます。
operatorには、索引タイプによってサポートされる演算子の名前を指定します。この句に指定するすべての演算子は有効な演算子である必要があります。
parameter_typeには、演算子へのパラメータ・タイプを指定します。
USING句を使用すると、索引タイプを実装する新しいタイプを指定できます。
この句を使用すると、ODCIIndexInsertメソッドで配列インタフェースをサポートする索引タイプを変更できます。
索引付けする列のデータ型がユーザー定義のオブジェクト型である場合、この句を指定して、Oracleがtypeの列値を保持するために使用するVARRAYのvarray_typeを識別する必要があります。索引タイプで型のリストがサポートされている場合、対応するVARRAY型のリストを指定できます。typeまたはvarray_typeでschemaを省略した場合、型が自分のスキーマ内に定義されているとみなされます。
索引付けする列のデータ型が組込みシステム型である場合、その索引タイプに指定されたVARRAY型は、システムで定義されたODCI型よりも優先されます。
この句を使用すると、索引タイプを明示的に再コンパイルできます。通常、索引タイプは自動的に再コンパイルされるため、この句は一部のアップグレード操作の後でのみ指定する必要があります。
この句では、索引タイプを変更する場合に、索引タイプを作成するときと同じ動作になります。詳細は、「CREATE INDEXTYPE」の「storage_table_clause」を参照してください。
この句では、索引タイプを変更する場合に、索引タイプを作成するときと同じ動作になります。詳細は、「CREATE INDEXTYPE」の句「WITH LOCAL RANGE PARTITION」を参照してください。
次の例は、position_indextype索引タイプ(「索引タイプの作成例:」で作成)をコンパイルします。
ALTER INDEXTYPE position_indextype COMPILE;
ALTER JAVA文を使用すると、Javaクラス・スキーマ・オブジェクトの変換、またはJavaソース・スキーマ・オブジェクトのコンパイルを強制実行できます (Java名に対するすべての外部参照を他のクラスと対応付ける前に、Javaクラスのメソッドをコールすることはできません)。
Javaソースまたはクラスが自分のスキーマ内にある必要があります。自分のスキーマ内にない場合は、ALTER ANY PROCEDUREシステム権限が必要です。さらに、Javaクラスに対するEXECUTEオブジェクト権限も必要です。
ALTER JAVA SOURCEを使用すると、Javaソース・スキーマ・オブジェクトをコンパイルできます。
ALTER JAVA CLASSを使用すると、Javaソース・スキーマ・オブジェクトを変換できます。
以前作成したJavaクラスまたはソース・スキーマ・オブジェクトを指定します。小文字、または大文字と小文字を組み合せた名前を付けるには、二重引用符を使用してください。
RESOLVER句を使用すると、Javaクラスまたはソースが作成されたときに指定したマッピング・ペアを使用して、完全に指定された参照用のJava名に対するスキーマの検索方法を指定できます。
RESOLVEおよびCOMPILEは、同義のキーワードです。これらの句を使用すると、プライマリJavaクラス・スキーマ・オブジェクトの変換を指定できます。
invoker_rights_clauseを使用すると、クラスを定義したユーザーのスキーマ内で、そのユーザーの権限を使用してクラスのメソッドを実行するか、または、CURRENT_USERのスキーマ内で、そのユーザーの権限を使用してクラスのメソッドを実行するかを指定できます。
また、この句は、問合せ、DML操作、およびその型のメンバー・ファンクションおよびプロシージャ内の動的SQL文の外部名の変換方法も定義します。
CURRENT_USERを指定すると、クラスのメソッドがCURRENT_USER権限で実行されることを指定できます。この句はデフォルトで、実行者権限クラスを作成します。
また、この句は、問合せ、DML操作、および動的SQL文の外部名をCURRENT_USERのスキーマで変換することも指定します。他のすべての文における外部名は、メソッドを含むスキーマで変換します。
DEFINERを指定すると、クラスを定義したユーザーの権限を使用してそのクラスのメソッドを実行できます。
さらに、メソッドのあるスキーマ内で外部名を変換するかどうかを指定します。
次の文は、Javaクラスを強制変換します。
ALTER JAVA CLASS "Agent" RESOLVER (("/usr/bin/bfile_dir/*" pm)(* public)) RESOLVE;
|
![]() Copyright © 1996, 2008, Oracle Corporation. All Rights Reserved. |
|