Oracle JDBCカタログ
Apache Doris JDBC Catalogは、標準のJDBCインターフェースを介してOracleデータベースへの接続をサポートします。このドキュメントでは、Oracleデータベース接続の設定方法について説明します。
JDBC Catalogの概要については、以下を参照してください: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は、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を再起動してください。