接続用の Looker ホストの設定
すべての Oracle ADWC 接続には SSL および証明書認証が必要です。Looker を Oracle ADWC インスタンスに接続するには、Oracle ウォレット ファイルをダウンロードして Looker サーバーにインストールする必要があります。お客様がホストする Looker ユーザーの場合、Looker サーバーにアクセスできるシステム管理者が必要になります。Looker ホストのユーザーである場合は、Looker サポートにご連絡ください。
Looker サーバーに Oracle ウォレットをインストールするには:
ローカル パソコンに Oracle ウォレットをダウンロードします。
Wallet_databasename.zip
のような名前の zip ファイルが作成されます。Looker サーバーで、ウォレットの zip ファイルを格納するディレクトリを作成します。
mkdir /home/looker/looker/credentials
- ウォレットの zip ファイルをローカル コンピュータから Looker サーバーにコピーします。この例では、
scp
を使用してファイルを/home/looker/looker/credentials
に配置しています。
scp Wallet_databasename.zip username@remotehost:/home/looker/looker/credentials
- ウォレットの zip ファイルを解凍します。この例では、
unzip
コマンドを使用しています。
cd /home/looker/looker/credentials
unzip Wallet_databasename.zip
ls
コマンドを使用してウォレットの内容を確認します。次のファイルを用意します。ls cwallet.sso keystore.jks sqlnet.ora truststore.jks ewallet.p12 ojdbc.properties tnsnames.ora ``` Looker connects to Oracle ADWC using Oracle Wallets with the [JDBC Thin Driver 18.3](https://docs.oracle.com/en/cloud/paas/autonomous-data-warehouse-cloud/user/connect-jdbc-thin-wallet.html#GUID-20656D84-4D79-4EE9-B55F-333053948966). For this, you will need the Transparent Network Substrate (TNS) Alias of the Oracle ADWC Service level for your database and the PATH to your Oracle wallet files.
データベースの TNS エイリアスを取得するには、次のコマンドを実行します。
cat tnsnames.ora
3 つの TNS エイリアス(dbname_high
、dbname_medium
、dbname_low
)から選択できます。これらのエイリアスは、さまざまなレベルのサービスに対応しています。このファイルには、プロトコル、ホスト、ポート、サービス名、SSL 情報が含まれます。この例では、dbname_medium
を使用します。
Looker ユーザーの作成
まず、指定された Looker ユーザーを作成します。
-- connect / as sysdba;
CREATE USER LOOKER IDENTIFIED BY <password>
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP;
次に、新しい Looker ユーザーがセッションを作成できるようにします。
GRANT CREATE SESSION TO LOOKER;
最後に、Looker からアクセスする予定のデータテーブルに対する適切な SELECT
権限を Looker ユーザーに付与します。今後、追加のテーブルにアクセスする場合は、その新しいテーブルにも SELECT
を付与する必要があります。
GRANT SELECT ON -- <all tables that will be used by looker>;
Looker がすべてのテーブルを認識できるようにする
Looker は、最初に Oracle で統計情報を収集しないとテーブル(特に空のテーブル)を識別できない場合があります。生成された LookML または SQL Runner に目的のテーブルが表示されない場合は、次のコマンドを実行します。
EXEC DBMS_STATS.GATHER_DATABASE_STATS;
別の方法については、Oracle のドキュメントをご覧ください。
メイン データベース オブジェクトの設定
Oracle DBA は、Oracle 上で次のオブジェクトと権限を設定する必要があります。次のコマンドは、V$SESSION
と V$SQL
の類義語として LOOKER_SESSION
と LOOKER_SQL
を作成します。
root ユーザーとして次のコマンドを実行して、この設定を完了します。これらの例では、Looker ユーザー名が LOOKER
であることを前提としています。
CREATE OR REPLACE VIEW LOOKER_SQL
AS
SELECT
sql.SQL_ID,
sql.SQL_TEXT
FROM
V$SQL sql,
v$session sess
WHERE
sess.SQL_ADDRESS = sql.ADDRESS AND
sess.username='LOOKER';
CREATE OR REPLACE SYNONYM LOOKER.LOOKER_SQL FOR LOOKER_SQL;
GRANT SELECT ON LOOKER.LOOKER_SQL TO LOOKER;
-- Pay special attention to the comments below:
-- the following view will be different for clustered Oracle deployments
CREATE OR REPLACE VIEW LOOKER_SESSION
AS
SELECT
SID,
USERNAME,
TYPE,
STATUS,
SQL_ID,
-- If using a single node Oracle ADWC deployment
"SERIAL#",
-- If using a clustered Oracle ADWC deployment
(SERIAL# || ',' || INST_ID) AS "SERIAL#",
AUDSID
-- If using a single node Oracle ADWC deployment
FROM V$SESSION
-- If using a clustered Oracle ADWC deployment
FROM GV$SESSION
WHERE
USERNAME='LOOKER';
CREATE OR REPLACE SYNONYM LOOKER.LOOKER_SESSION FOR LOOKER_SESSION;
GRANT SELECT ON LOOKER.LOOKER_SESSION TO LOOKER;
対称集計の設定
Oracle DBA が LOOKER_HASH
関数を設定して、対称集計を有効にする必要があります。LOOKER_HASH
関数は、Oracle の dbms_crypto.hash
関数の類義語です。また、関連する類義語や権限も作成する必要があります。次のコマンドは、Looker ユーザー名が LOOKER
であることを前提としています。
CREATE OR REPLACE FUNCTION LOOKER_HASH(bytes raw, prec number)
RETURN raw AS
BEGIN
return(dbms_crypto.HASH(bytes, prec));
END;
CREATE OR REPLACE SYNONYM LOOKER.LOOKER_HASH FOR LOOKER_HASH;
GRANT EXECUTE ON LOOKER.LOOKER_HASH TO LOOKER;
GRANT EXECUTE ON SYS.LOOKER_HASH TO LOOKER;
Oracle データベースの構成に応じて、
SYS
接頭辞をSYSDBA
、ADMIN
、または不要にできます。
永続的な派生テーブルの設定
永続的な派生テーブルを有効にするには、Looker ユーザーに UNLIMITED TABLESPACE
権限と CREATE TABLE
権限を付与します。次のコマンドは、Looker ユーザー名が LOOKER
であることを前提としています。
GRANT UNLIMITED TABLESPACE TO LOOKER;
GRANT CREATE TABLE TO LOOKER;
クエリの強制終了の設定
クエリ強制終了を設定するには、Oracle DBA で ALTER SYSTEM KILL SESSION
の類義語として LOOKER_KILL_QUERY
プロシージャを作成する必要があります。これを行うには、次のコマンドを実行します。
CREATE OR REPLACE PROCEDURE LOOKER_KILL_QUERY(p_sid in varchar2,
p_serial# in varchar2)
IS
cursor_name pls_integer default dbms_sql.open_cursor;
ignore pls_integer;
BEGIN
SELECT
COUNT(*) INTO IGNORE
-- If using a single node Oracle ADWC deployment
FROM V$SESSION
-- If using a clustered Oracle ADWC deployment
FROM GV$SESSION
WHERE
username = USER
AND sid = p_sid
-- If using a single node Oracle ADWC deployment
AND serial# = p_serial#;
-- If using a clustered Oracle ADWC deployment
AND (SERIAL# || ',' || INST_ID) = p_serial#;
IF (ignore = 1)
THEN
dbms_sql.parse(cursor_name,
'ALTER SYSTEM KILL SESSION '''
|| p_sid || ',' || p_serial# || '''',
dbms_sql.native);
ignore := dbms_sql.execute(cursor_name);
ELSE
raise_application_error(-20001,
'You do not own session ''' ||
p_sid || ',' || p_serial# ||
'''');
END IF;
END;
また、DBA は、以下の関連コマンドも実行する必要があります。
CREATE OR REPLACE SYNONYM LOOKER.LOOKER_KILL_QUERY FOR SYS.LOOKER_KILL_QUERY;
GRANT EXECUTE ON SYS.LOOKER_KILL_QUERY TO LOOKER;
Oracle データベースの構成に応じて、
SYS
接頭辞をSYSDBA
、ADMIN
、または不要にできます。
接続の追加
Looker の [Admin] セクションで [Connections] を選択し、[Add Connection] をクリックします。
接続の詳細を入力します。これらの設定の多くはデータベース言語に共通するものであり、Looker のデータベースへの接続に関するドキュメント ページで説明しています。以下の設定は、Oracle ADWC または上述の [接続設定] ページの例に固有のものです。
- Dialect: Oracle ADWC。
- TNS を使用する: 透過的ネットワーク基板(TNS)接続を有効にします。
- ホスト: ホスト名または TNS エイリアス。この例では
dbname_medium
です。 - ポート: デフォルトのままにします。Looker は
tnsnames.ora
ファイルからポートを検索します。 - サービス名: 空白のままにします。Looker は
tnsnames.ora
ファイルのサービス名を検索します。 - ユーザー名: データベースのユーザー名または PDT が有効になっている場合は一時データベース。
- パスワード: データベース ユーザーのパスワード。
- 永続的な派生テーブル: 永続派生テーブルを有効にするには、このチェックボックスをオンにします。追加の PDT フィールドと [PDT Override] 列が表示されます。
- 一時データベース: Oracle ではユーザーはスキーマであるため、データベース ユーザー名として指定する必要があります。この例では、一時スキーマ値
LOOKER
を使用します。 - その他のパラメータ: Looker サーバー上の Oracle ウォレットへの PATH。この例では、
/home/looker/looker/credentials
です。- Looker ホスト型のレガシー デプロイでは、この値は
/home/lookerops/looker/credentials
になります。 - 次世代ホスティングの Looker ホスト型デプロイでは、この値は
/app/credentials
になります。
- Looker ホスト型のレガシー デプロイでは、この値は
- SSL と SSL 認証の確認: この項目は無視してかまいません。Looker では常に、Oracle ADWC とともに SSL が使用されます。
[Test Settings] をクリックすると、Looker は次のような JDBC 文字列を作成します。
jdbc:oracle:thin:@dbname_medium?TNS_ADMIN=/home/looker/looker/credentials
機能のサポート
一部の機能については、Lookerでサポートするには、データベースダイアレクトが同じ機能に対応している必要があります。
Looker の最新リリースでは、クラウド上の Oracle Autonomous Data Warehouse で次の Looker 機能がサポートされています。
次のステップ
データベースの構成が完了したら、Looker からデータベースに接続します。