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_P
n
の形式でパーティション名が割り当てられます。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. |
|