[復刻版] Oracle DatabaseのLOBラージオブジェクトのデータ・タイプ・フィールドの概要、価値収集

収集価値のOracleデータベースのLOBラージオブジェクトのデータ・タイプ・フィールドの概要、

グレッグは、その本来の運用・保守は2019年7月11日夜12時02分00秒と
HTTPS:// www.toutiao.com/i6710894326970335757/

 

アウトライン

OracleデータベースLOBラージ・オブジェクト・データ・タイプのフィールドを詳細に説明する今日では、Oracleは、タイプ4種類のCLOB、NCLOB、BLOB、BFILE LOBの合計を提供メイン導入しました。


LOBのコンセプト

ラージ・オブジェクト・データ・タイプOracleデータベースのLOBは、バイナリデータの4000bytes列にわたってそのような最大のルート・ブロック・サイズのOracleのOracleストレージのOSファイル情報のバージョン及びサイズなどの大きなオブジェクトを格納することができます。


LOBカテゴリ

LOBは、内部および外部LOBに分け。内部LOBは、CLOB、BLOB、NCOLBと、を含む外部LOBをBFILE

LOBデータは、内部データベースと支持トランザクション操作(ロールバック、保持点をコミット)に格納され、外部LOBデータは、OSのファイルに格納され、トランザクション操作をサポートしていません

CLOBは、(大文字データが格納されている)、データ文字を大量に格納するために使用され

オーディオ、画像、画像を記憶するためのBLOB(バイナリー・ラージ・データ・ストア)

NCLOB(大文字データを格納された)文字が大量のデータを格納するために使用され、

BFILE(OSストアファイルへのポインタ)は、ムービーファイルを格納するために使用されます。


LOBアプリケーションシナリオ

LOBは、テーブル・タイプに定義されたカラムに加えて使用することができ、また、次の例を参照して、XMLデータ、ORACLE収集タイプを格納するために使用することができます。

表-lobは、定義され; 1)表lobtest(VARCHAR2(20)、bはCLOB、Cブロブ)表領域のユーザーを作成します

2)LOBストレージコレクション型

収集価値のOracleデータベースのLOBラージオブジェクトのデータ・タイプ・フィールドの概要、

 

これは、データVARRAY記憶ロブのタイプの例を上記で定義されました。


LOBセグメント属性

デフォルトでは、ときにLOBフィールドの定義を含む表、自動的に二つのセグメントのそれぞれに対して作成されたOracle LOB、セグメントLOB LOB索引セグメント。各特定のLOBのLOBセグメントに格納された値を、およびLOB索引セグメントでありますこれは、表スペースLOB索引セグメントと、それぞれのLOB .lobセグメントのアドレス値を格納し、テーブルのセグメントに格納されます。

Oracleは、別のセグメントのLOBセグメント属性を提供する。表を作成するLOB表を定義することができ、別のテーブルスペースに格納されている場合。LOBの場合は通常の定義、我々は以下の重要な特性を考慮する必要があります。

チャンク:手動で定義されている場合、LOBデータを格納する専用論理ブロックOracleブロック・サイズ、DB_BLOCK_SIZEのデフォルトのサイズより大きい、32Kを超えない最大DB_BLOCK_SIZEの倍数として定義されなければなりません.. 不合理なチャンクは、ストレージスペースの廃棄物として定義されていませんが、また、パフォーマンスに影響を与えている。定義は、アプリケーション、各データのLOB列の平均サイズを理解する必要があります前に、LOBは無駄なスペースを最小限に抑えるようにします。

収集価値のOracleデータベースのLOBラージオブジェクトのデータ・タイプ・フィールドの概要、

 

行のストレージを有効/無効にする:デフォルトは、分離LOBセグメントが存在しない場合に、行の記憶をイネーブル大きなLOBは、カラムを引き起こし得るときので、もし、テーブル内のデータの各行は、ケース内の同じブロックに格納されています重度の行リンク、LOBセグメント内の行の記憶を無効にするように設定した場合、LOBのセクションとテーブル部が分離された場合は、Oracleは自動的にLOB表セグメント内の4K格納されたデータ、LOBデータ・ストレージよりも大きい4kの場合よりも小さくなります。セグメントテーブルとセグメントLOBが分離場合に関係なく、どのくらいのデータのLOBの、オラクルのLOBは、このように上記出現し、データセグメントのLOBに格納される場合、

列32キロバイト、32キロバイト、10例、ごみ貯蔵スペースの90%に3500無効ストレージ。

PCTVERSION N /保持:一貫性の問題LOBリードセグメントを解決するために使用されるこれら二つの特性。特殊性は、それが自分自身のアップデート古いバージョンを管理するために、アンドゥ/ロールバック・セグメントを使用することはできませんロブ、スペースの通常ロブ一部は更新を確保するために、その表スペースは、独自のアンドゥを管理する場所で分割される中で、原則的にconsistent.lobを読みます新しいデータの新しいチャンクのLOBセグメント分布が古い画像を保持するために、挿入された更新されたデータが複数存在する場合、それは、アンドゥで領域を定義するために使用.pctversion LOBセグメントサイズバージョンの複数を有し、pctverisionはAであります最初の画像は、この割合よりも多くのスペースを使用する場合、ミラーの前にすべてのLOBパーセンテージの定義を格納するために使用される領域の割合は、Oracleが自動的にこの部分のサイズを拡張しない、これらは、鏡の前のスペースを再利用します。もしLOBの更新セグメントのセグメント非常に頻繁に状況下では、LOBセグメントはUNDO_RETENTIONによって、特定の時間をすぐに9iの新しいパラメータを.retentionよく、ミラーの前に更新されたLOBが一定期間保持される場合にのみ、ASSM表領域を使用する場合に使用することができる増加決定したパラメータの決定は、それがテストの適用を決定する必要があり、UNDOモードの一種です。

NOCACHE /キャッシュ/キャッシュを読み取る:LOBは、キャッシュモードで定義され、NOCACHEは、任意のデータをキャッシュしないLOB、キャッシュデータとしてキャッシュが読み書きされ、リードロブ場合にキャッシュデータを読み出しキャッシュ。


LOB SQL環境では、それを操作することができますか?

LOBは、操作をDMLことができ、他のデータ型と同様に使用することができます。

収集価値のOracleデータベースのLOBラージオブジェクトのデータ・タイプ・フィールドの概要、

 

あなたは上記の例、BLOGのBFIELから見ることができますし、直接SQLPLUSには表示されません。


API操作可能なLOB

PL / SQLのDBMS_LOB操作は、Oracle OCIは、プログラミングインターフェース操作LOBを提供する、任意のLOB、BFILEオブジェクトであってもよいです。Javaは、C#は、適切なAPIの操作LOBを提供します。

どのようにCLOBに文字の他のタイプを変換するために、バイナリ型はBLOBに変換しますか?

通过TO_CLOB可以将CHAR,NCHAR,VARCHAR2,NVARCHAR2,NCLOB类型转换成CLOB;

通过TO_LOB可以将LONG RAW转换成BLOB,LONG转换成CLOB;

通过TO_NCLOB可以将CHAR,NCHAR,VARCHAR2,NVARCHAR2,CLOB转换成NCLOB。


LOB对象可以db link远程操作吗?

除了BFILE,CLOB,BLOB可以局部的访问和操作远程LOB对象.目前下列操作是允许的:

  • CREATE TABLE AS SELECT …FROM table@remote;
  • INSERT INTO .. SELECT * FORM table@remote;
  • UPDATE …SET .. = (SELECT ..FROM table@remote);
  • INSERT INTO TABLE@REMOTE(…) AS SELECT * FROM LOCAL_TABLE;
  • UPDATE remote@table SET .. = (SELECT .. FROM local_table);
  • DELETE FROM remote@table WHERE …..

LOB相关的SQL function和DBMS_LOB不允许访问和操作远程的LOB对象。


LOB列可以索引吗?

目前CLOB列支持Oracle Text Index,Domain Index,Function-Base Index,Extensible Index.


LOB支持分区表吗?

可以在分区表使用LOB列,并且还支持exchange partition,move partition,merge partition等操作.


LOB支持Index-organization table吗?

oracle支持在index-organization table中创建clob,blog和bfile列, 但不支持在分区的index-organization table中创建lob列.

おすすめ

転載: www.cnblogs.com/jinanxiaolaohu/p/11621372.html