Oracle JDBC カタログ
Apache Doris JDBC カタログは、標準のJDBCインターフェースを介してOracleデータベースへの接続をサポートします。このドキュメントでは、Oracleデータベース接続の設定方法について説明します。
JDBC カタログの概要については、以下を参照してください: JDBC カタログ 概要
使用上の注意
Oracleデータベースに接続するには、以下が必要です
-
Oracle 19c、18c、12c、11g、または10g。
-
Oracleデータベース用のJDBCドライバー。Ojdbc8以上のバージョンのOracle JDBCドライバーは、Maven Repositoryからダウンロードできます。
-
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は、そのUserがOracleでアクセス可能なTableに対応します。マッピング関係は以下の通りです:
| Doris | Oracle |
|---|---|
| Catalog | Database |
| Database | User |
| Table | Table |
カラム型マッピング
| Oracle Type | Doris Type | 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を再起動してください。