このトピックでは、Oracle データベースから OceanBase Database の Oracle テナントへのデータ移行中にサポートされるデータ型変換ペアについて説明します。
サポートされるデータ型
Oracle データベース | OceanBase Database の Oracle テナント | 説明 |
INTEGER | NUMBER(38,0) | |
INT | NUMBER(38,0) | |
SMALLINT | NUMBER(38,0) | |
BINARY_FLOAT | BINARY_FLOAT | バイナリ精度の浮動小数点数。32 桁の単精度浮動小数点数のデータ型です。このデータ型は、Oracle データベースと OceanBase Database の Oracle テナントで一貫性があります。 |
BINARY_DOUBLE | BINARY_DOUBLE | バイナリ精度の浮動小数点数。64 桁の倍精度浮動小数点数のデータ型です。このデータ型は、Oracle データベースと OceanBase Database の Oracle テナントで一貫性があります。 |
DECIMAL(p,s) | NUMBER(p,s) | |
DEC(p,s) | NUMBER(p,s) | |
NUMERIC(p,s) | NUMBER(p,s) | |
REAL(p,s) | NUMBER(p,s) | |
FLOAT (p) | FLOAT (p) | NUMBER データ型のサブタイプです。バイナリ精度の範囲: [1,126]。FLOAT は浮動小数点数を示すものではありません。 このデータ型は、Oracle データベースと OceanBase Database の Oracle テナントで一貫性があります。 |
NUMBER[(p,s)] | NUMBER(p,s) | OceanBase Database の Oracle テナントでは、このデータ型は、10 進精度の可変長固定小数点数または浮動小数点数を格納します。浮動小数点数のデータ型の場合、NUMBER データ型には p パラメーターと s パラメーターは含まれません。 Oracle データベースでは、p の範囲は 1 ~ 38、s の範囲は -84 ~ 127 です。 |
NCHAR(size) | NCHAR(size) | size パラメーターの値の範囲は [1, 2000] です。デフォルト値と最小値は 1 です。ストレージサイズは size バイトの 2 倍です。 |
CHAR (size [BYTE | CHAR]) | CHAR (size [BYTE | CHAR]) | size パラメーターの値の範囲は [1, 2000] です。デフォルト値と最小値は 1 です。ストレージサイズは size バイトまたは文字数です。 |
CHARACTER(n) | CHAR(n) | |
NVARCHAR2(size) | NVARCHAR2(size) | size パラメーターの値の範囲は [1, 32767] です。バイトストレージサイズは、入力された文字数の 2 倍です。 |
VARCHAR2(size [BYTE | CHAR]) | VARCHAR2(size [BYTE | CHAR]) | size パラメーターの値の範囲は [1, 32767] です。ストレージサイズは、size バイトまたは文字数ではなく、入力されたバイトまたは文字の実際の長さです。 |
VARCHAR(size) | VARCHAR2(size) | |
RAW(size) | RAW(size) | OceanBase Database の Oracle テナントでは、このデータ型はデータをバイト単位で格納します。RAW 列の最大長は 2,000 バイトです。RAW PL 変数には、最大 32,767 バイトのデータを格納できます。 Oracle データベースでは、RAW データベース列には最大 2,000 バイトのデータを格納できます。 |
LONG | CLOB | OceanBase Database の Oracle テナントでは、CLOB には最大 48 MB のデータを格納できます。 Oracle データベースでは、LONG 値の最大長は 2^31 - 1 バイト、つまり 2 ギガバイトです。 |
LONG RAW | BLOB | OceanBase Database の Oracle テナントでは、BLOB は最大 48 MB のバイナリデータを格納します。 OceanBase Database の Oracle テナントでは、BLOB には最大 48 MB のバイナリデータを格納できます。 Oracle データベースでは、LONG RAW 値の最大長は 2^31 - 1 バイト、つまり 2 ギガバイトです。 |
ROWID | ROWID | テーブル内の行の一意のアドレス。Base64 文字列として表されます。 |
UROWID | UROWID | インデックス構成テーブル内の行の論理アドレス。Base64 文字列として表されます。 |
TIMESTAMP (fractional_seconds_precision) | TIMESTAMP (fractional_seconds_precision) | OceanBase Database の Oracle テナントでは、精度と範囲は scale パラメーターの値によって決まります。値の範囲: [0,9]。デフォルト値: 6。最小値 0 はタイムスタンプが秒単位まで正確であることを示し、最大値 9 はタイムスタンプがナノ秒単位まで正確であることを示し、デフォルト値 6 はタイムスタンプがマイクロ秒単位まで正確であることを示します。 Oracle データベースでは、サイズは精度に応じて 7 バイトまたは 11 バイトです。 |
TIMESTAMP [(fractional_seconds_precision)] WITH TIME ZONE | TIMESTAMP [(fractional_seconds_precision)] WITH TIME ZONE | OceanBase Database の Oracle テナントでは、精度と範囲は scale パラメーターの値によって決まります。値の範囲: [0,9]。デフォルト値: 6。最小値 0 はタイムスタンプが秒単位まで正確であることを示し、最大値 9 はタイムスタンプがナノ秒単位まで正確であることを示し、デフォルト値 6 はタイムスタンプがマイクロ秒単位まで正確であることを示します。 Oracle データベースでは、サイズは 13 バイトで固定です。 |
TIMESTAMP [(fractional_seconds_precision)] WITH LOCAL TIME ZONE | TIMESTAMP[(fractional_seconds_precision)] WITH LOCAL TIME ZONE | |
DATE | DATE | OceanBase Database の Oracle テナントでは、値の範囲は [0001-01-01 00:00:00, 9999-12-31 23:59:59] です。 Oracle データベースでは、有効な日付範囲は [紀元前 4712 年 1 月 1 日、紀元 9999 年 12 月 31 日] です。サイズは 7 バイトで固定です。 |
INTERVAL YEAR [(year_precision)] TO MONTH | INTERVAL YEAR [(year_precision)] TO MONTH | 5 バイト |
INTERVAL DAY [(day_precision)] TO SECOND [(fractional_seconds_precision)] | INTERVAL DAY [(day_precision)] TO SECOND [(fractional_seconds_precision)] | 11 バイト |
BLOB | BLOB | |
CLOB | CLOB | |
NCLOB | CLOB |
サポートされていないデータ型
Oracle データベース | OceanBase Database の Oracle テナント |
TIMESTAMP_UNCONSTRAINED | - |
TIMESTAMP_TZ_UNCONSTRAINED | - |
TIMESTAMP_LTZ_UNCONSTRAINED | - |
YMINTERVAL_UNCONSTRAINED | - |
DSINTERVAL_UNCONSTRAINED | - |
YEAR | - |
MONTH | - |
DAY | - |
HOUR | - |
MINUTE | - |
SECOND | - |
TIMEZONE_HOUR | - |
TIMEZONE_MINUTE | - |
TIMEZONE_REGION | - |
TIMEZONE_ABBR | - |