Oracle Connector¶
Oracle コネクタを使用すると、外部 Oracle データベースでテーブルのクエリと作成を行うことができます。これは、Oracle と Hive のような異なるシステム間、または 2 つの異なる Oracle インスタンス間のデータの結合に使用できます。
設定¶
Oracle コネクタを設定するには、etc/catalog に、たとえば oracle.properties という名前のカタログプロパティファイルを作成して、Oracle コネクタを oracle カタログとしてマウントします。設定に合わせて接続プロパティを置き換えて、次の内容でファイルを作成します。
connector.name=oracle
# The correct syntax of the connection-url varies by Oracle version and
# configuration. The following example URL connects to an Oracle SID named
# "orcl".
# In some situations, the connection-url has to include the user and password.
# example: connection-url=jdbc:oracle:thin:user/password@example.net:1521:orcl
#
connection-url=jdbc:oracle:thin:@example.net:1521:orcl
connection-user=root
connection-password=secret
connection-url は、接続情報と JDBC ドライバに渡すパラメータを定義します。Oracle コネクタは Oracle JDBC Thin ドライバを使用し、URL の構文は Oracle の設定によって異なる場合があります。たとえば、Oracle SID に接続する場合と、Oracle サービス名に接続する場合では、接続 URL が異なります。Oracle Database JDBC ドライバのドキュメント を参照してください。
connection-user と connection-password は通常必須であり、接続のユーザー資格情報(多くの場合、サービスユーザー)を決定します。
複数のOracleサーバー¶
必要な数のカタログを持つことができます。そのため、追加の Oracle サーバーがある場合は、別の名前(.properties で終わるようにする)で etc/catalog に別のプロパティファイルを追加するだけです。たとえば、プロパティファイルに sales.properties という名前を付けると、Presto は設定されたコネクタを使用して sales という名前のカタログを作成します。
一般的な設定プロパティ¶
| プロパティ名 | 説明 | デフォルト | 
|---|---|---|
| 
 | JDBC ドライバのユーザー名を値とする  | |
| 
 | JDBC ドライバのユーザーパスワードを値とする  | |
| 
 | データセット名とテーブル名を大文字と小文字を区別せずに照合します。 | 
 | 
| 
 | リモートデータセット名とテーブル名をキャッシュする期間。キャッシュを無効にするには  | 
 | 
Oracle のクエリ¶
Oracle コネクタは、すべての Oracle *データベース* のスキーマを提供します。利用可能な Oracle データベースを確認するには、SHOW SCHEMAS を実行します。
SHOW SCHEMAS FROM oracle;
web という名前の Oracle データベースがある場合、このデータベース内のテーブルを表示するには、SHOW TABLES FROM web を実行します。
SHOW TABLES FROM oracle.web;
web データベースの clicks テーブルの列のリストを表示するには、次のいずれかを使用します。
DESCRIBE oracle.web.clicks;
SHOW COLUMNS FROM oracle.web.clicks;
最後に、web データベースの clicks テーブルにアクセスできます。
SELECT * FROM oracle.web.clicks;
カタログプロパティファイルに異なる名前を使用した場合は、上記の例で oracle の代わりにそのカタログ名を使用します。
Oracle コネクタの制限事項¶
次の SQL ステートメントはまだサポートされていません。