Oracle JDBCカタログ
Apache Doris JDBC Catalogは、標準のJDBCインターフェースを介してOracleデータベースへの接続をサポートしています。このドキュメントでは、Oracleデータベース接続の設定方法について説明します。
JDBC Catalogの概要については、次を参照してください:JDBC カタログ 概要
使用上の注意
Oracleデータベースに接続するには、以下が必要です
-
Oracle 19c、18c、12c、11g、または10g。
-
Oracleデータベース用のJDBCドライバー。これはMaven RepositoryからOjdbc8以上のバージョンのOracle JDBCドライバーをダウンロードできます。
-
Apache DorisのFEおよびBEノードとOracleサーバー間のネットワーク接続。デフォルトのポートは1521です。Oracle RACでONSが有効になっている場合は、ポート6200も必要です。
Oracleへの接続
CREATE CATALOG oracle_catalog PROPERTIES (
'type' = 'jdbc',
'user' = 'username',
'password'='pwd',
'jdbc_url' = 'jdbc:oracle:thin:@example.net:1521:orcl',
'driver_url' = 'ojdbc8.jar',
'driver_class' = 'oracle.jdbc.driver.OracleDriver'
)
jdbc_urlは、JDBCドライバに渡される接続情報とパラメータを定義します。Oracle JDBC Thinドライバを使用する場合、URLの構文はOracleの設定によって異なる場合があります。例えば、Oracle SIDまたはOracleサービス名に接続する場合、接続URLは異なります。詳細については、Oracle Database JDBC Driver Documentationを参照してください。上記のサンプルURLは、orclという名前のOracle SIDに接続します。
階層マッピング
Oracleをマッピングする際、Apache DorisのDatabaseはOracleのUserに対応します。そして、Apache DorisのDatabase下のTableは、そのOracleのUserがアクセス可能なTableに対応します。マッピング関係は以下のとおりです:
| Doris | Oracle |
|---|---|
| カタログ | Database |
| Database | User |
| Table | Table |
カラム型マッピング
| Oracle タイプ | Doris タイプ | Comment |
|---|---|---|
| number(P) / number(P, 0) | tinyint/smallint/int/bigint/largeint | DorisはPのサイズに基づいて対応する型を選択します:P < 3: TINYINT; P < 5: SMALLINT; P < 10: INT; P < 19: BIGINT; P > 19: LARGEINT |
| number(P, S), if (S > 0 && P > S) | decimal(P, S) | |
| number(P, S), if (S > 0 && P < S) | decimal(S, S) | |
| number(P, S), if (S < 0) | tinyint/smallint/int/bigint/largeint | S < 0の場合、DorisはPを`P + |
| number | Dorisは現在、PとSが指定されていないnumber型をサポートしていません | |
| decimal(P, S) | decimal(P, S) | |
| float/real | double | |
| date | date | |
| timestamp | datetime(S) | |
| char/nchar | string | |
| varchar2/nvarchar2 | string | |
| long/raw/long raw/internal | string | |
| BLOB | varbinary | Catalogのenable.mapping.varbinaryプロパティによって制御されます(4.0.2以降でサポート)。デフォルトはfalseで、stringにマッピングされます;trueの場合、varbinary型にマッピングされます。 |
| other | UNSUPPORTED |
よくある問題
-
Oracle Catalogの作成またはクエリ時に
ONS configuration failedが発生するbe.confのJAVA_OPTSに-Doracle.jdbc.fanEnabled=falseを追加し、ドライバをhttps://repo1.maven.org/maven2/com/oracle/database/jdbc/ojdbc8/19.23.0.0/ojdbc8-19.23.0.0.jarにアップグレードしてください
-
Oracle Catalogの作成またはクエリ時に
Non supported character set (add orai18n.jar in your classpath): ZHS16GBK例外が発生するorai18n.jarをダウンロードし、各FEとBEの
custom_lib/ディレクトリ(存在しない場合は手動で作成)に配置し、各FEとBEを再起動してください。