2 Oracle Spatial Studioの管理

Oracle Spatial Studioの管理には、管理ユーザー以外のユーザーが空間データを使用する前に実行する必要のある特定のアクションがあります。Spatial Studioの管理ユーザーである場合は、次のことを行う必要があります。

  • Oracle Technical Resources (以前はOracle Technology Networkと呼ばれていました)からOracle Spatial Studioアプリケーションをダウンロードしてインストールします。
  • Spatial Studioスキーマ(つまり、Spatial Studioのメタデータを保持するスキーマ)用のデータベース・スキーマをセットアップします。

    Spatial Studioスキーマは、Spatial Studioのメタデータを追加する既存のデータベース・スキーマ、またはSpatial Studioのみに使用される新たに作成されたスキーマのいずれかです。

  • 新しくインストールしたSpatial Studioアプリケーションを構成します。

    インストールおよび構成アクションが完了したら、ユーザーはデータベースに接続し、Spatial Studioを起動してその機能を使用できます。

ノート:

Spatial Studioアプリケーションは、次のいずれかの形式でダウンロードできます。
  • クイック・スタート: デスクトップ上でSpatial Studio Webアプリケーションを起動するために必要なものが含まれるzipファイルにパッケージ化された、すぐに実行できるスタンドアロン・アプリケーション。(ただし、このキットにはJavaキットがバンドルされていないため、JDK 8 64-bit、update 181以降をデスクトップにインストールする必要があります。)

    クイック・スタートは、個人および開発での使用に適しています。

  • WLSに最適化されたEAR (エンタープライズ・アプリケーション・アーカイブ)ファイル:この.earファイルは、組織のWLSまたはミドルウェア管理者によって管理されている既存のWebLogic Serverドメインにデプロイできます。

    これは、複数のエンド・ユーザーが同じSpatial Studio Webアプリケーションにアクセスする場合に推奨されるインストールおよびデプロイの方法です。

特定のユーザーまたはデータベース・ユーザーは、管理ユーザーと非管理ユーザーの両方になるか、管理ユーザーまたは非管理ユーザーのいずれかのみになることができます。

2.1 Spatial Studioの前提条件と推奨事項

この項では、Spatial Studioを使用するために適用される前提条件および推奨事項について説明します。

Spatial Studioを使用してアクションを実行するためにユーザーが接続するデータベースに、Oracle Spatialをインストールする必要があります。(Oracle Locatorをインストールするだけでは不十分です。)

次の追加要件および推奨事項が適用されます。
  • Javaバージョン: Java 8 (64-bit、update 181以降)またはJDK 11 (64-bit)。
  • Oracle Database 12.2以上これはSpatial Studioメタデータ・スキーマにも、Spatial Studioユーザーによって使用されるすべてのデータベース接続にも適用されます。
  • Oracle WebLogic Server 12.2.1.3 以上
  • Spatial Studioのメタデータ・スキーマのセットアップに記載されている権限はすべて、Spatial Studioを操作する各データベース・ユーザーに必要です。
  • Spatial Studioで作業する各データベース・ユーザーのデフォルト表領域の割当て制限。ALTER USER文の形式: ALTER USER [username] QUOTA [quota value] ON [default tablespace name];

    たとえば、デフォルト表領域usersを持つtest_userという名前のユーザーの場合は、次のようになります。

    ALTER USER test_user QUOTA unlimited ON users;
  • Spatial Studioリポジトリ・スキーマのデフォルト表領域では、圧縮を使用しないでください。

2.2 Spatial Studioのダウンロードおよびインストール

各ユーザーがSpatial Studioを使用して空間データに対して技術的に興味深い作業を実行する前に、Spatial Studioをダウンロードしてインストールする必要があります。

https://www.oracle.com/database/technologies/spatial-studio/get-started.htmlにアクセスし、Spatial Studioのダウンロードおよびインストールの詳細を確認してください。

2.2.1 Spatial Studioクイック・スタートのインストールおよび構成

クイック・スタートは、使用を開始するための簡単な方法であり、個人および開発での使用に適しています。

クイック・スタートは、Spatial Studioの使用を開始するために必要なものがすべて含まれる1つのzipにパッケージ化されています。ただし、Java 8 (64-bit、update 181以降)および独自のデータベース・スキーマは除きます。

使用を開始するための一般的なステップを次に示します。

  1. クイック・スタートzipアーカイブOracleSpatialStudio_qs.zipをダウンロードします。
  2. 解凍すると、Oracle_Spatial_Studioというディレクトリが作成されます。
  3. JAVA_HOME環境変数がシステムに存在し、Java SE Development Kit 8u181 (64-bit)以上の完全なJDKインストール環境を指していることを確認します。JDK 11も使用できます。
  4. ポート8080および4040が他の(Web)アプリケーションによって使用されていないことを確認します。(別のポートを使用するようにSpatial Studioに指定できますが、8080および4040がデフォルトです。)ポート8080はhttp://プロトコルで使用し、ポート4040はhttps://プロトコル用です。

    デフォルトでは、httpsを使用するアクセスのみがSpatial Studioで許可されます。

  5. コマンド・ウィンドウ(Windows)またはターミナル(LinuxまたはMac)から、Oracle_Spatial_Studioディレクトリに移動(cd)します。このディレクトリには、複数の.batファイルまたは.shファイルが格納されています。
  6. start.shまたはstart.batを使用して、アプリケーションを起動します。(LinuxまたはMacでは、まずコマンドchmod u+x *.shを実行して、.shファイルを実行可能にする必要がある場合があります)

    ターミナルまたはコマンド・ウィンドウは開いたままにします。

  7. ブラウザでURL (https://localhost:4040/spatialstudio)に移動します。

    デフォルトの管理ユーザーのログイン資格証明は、admin/welcome1です。すぐにパスワードを変更することをお薦めします。

    管理ユーザーと2つの組込み通常ユーザーのパスワードはすべて、暗号化された形式で格納されています。Spatial Studioユーザーの(暗号化された)パスワードを変更する方法については、クイック・スタートのREADMEファイルを参照してください。このREADMEファイルには、クイック・スタートの起動および再起動に関する情報も含まれます。

ノート:

クイック・スタートを使用する場合は、次の考慮事項が適用されます。

  • デフォルトのポートは4040ですが、Oracle_Spatial_Studioconf/server.jsonファイルを編集すると変更できます。変更を加えた後は、アプリケーションを再起動する必要があります。(HTTPポートの値をデフォルトの8080から変更した場合も同様です。)
  • クイック・スタートには、adminmanagerauthorconsumerおよびlimitedという名前の複数の事前定義済のWebユーザー・ログイン・アカウントが用意されています。これらのユーザーとそのログイン・パスワードは、conf/jetty-realm.properties構成ファイルに定義されています。ダウンロードしたクイック・スタート・キットを解凍した後、すぐにパスワードを変更する必要があります。

    クイック・スタートは個人での使用が意図されているため、エンド・ユーザー・アカウントのパスワードは暗号化されません。ただし、Spatial Studioメタデータ・スキーマへのログイン、データベース・スキーマへのユーザー作成の接続などのその他すべてのパスワードは、常に高度に暗号化されます

  • アプリケーションを停止する場合は、2番目のターミナルまたはコマンド・ウィンドウを開いて、同じOracle_Spatial_Studioフォルダに移動し、stop.batまたはstop.shスクリプトを実行する方法をお薦めします。

2.2.2 WebLogic ServerドメインへのSpatial Studioのインストール

Spatial Studioは、WebLogic Serverドメインにデプロイできます。複数のエンド・ユーザーが同じSpatial Studioアプリケーションにアクセスする場合は、この方式をお薦めします。

ノート:

複数のエンド・ユーザーのWebLogic ServerでSpatial Studioをホストするには、WebLogic Serverのライセンスが必要です。

Spatial StudioをWebLogic Serverにデプロイするための全般的な方法は、他のJava EE EARアプリケーションをデプロイする方法と同じです。最も簡単な方法は、WebLogic Serverの管理コンソールを使用して次のステップを実行することです。すべてのステップまたはほとんどのステップで、WLSインストール・アプリケーション・ウィザードで提供されるデフォルト値を受け入れることができます。

  1. Oracle Technical ResourcesまたはeDeliveryからStudio EARアーカイブをダウンロードし、ローカル・システムに保存します。
  2. 対象となるWLSドメインの管理コンソールにログインします。
  3. 左側の「デプロイ」リンクをクリックします。
  4. 次の図に示すように、「デプロイメント」セクションの下の「インストール」ボタンをクリックします(ご使用のWLSのインスタンスでは、正確な内容が異なる場合があります)。

    図2-1 Spatial Studioのデプロイ時のWLS管理コンソール

    図2-1の説明が続きます
    「図2-1 Spatial Studioのデプロイ時のWLS管理コンソール」の説明
  5. 次のページで、前にダウンロードしたSpatial Studio EARファイルを選択し、(ライブラリとしてではなく)アプリケーションとしてインストールします。
  6. 残りのステップをクリックして進めます(適切なターゲット・サーバーの選択を含む)。内容を正確に理解している場合を除き、すべての場合にデフォルトのオプションを受け入れる必要があります。最後に、「保存」をクリックしてデプロイメントを完了します。
  7. WLSが本番モードで実行されている場合は、デプロイメントをアクティブにするために、変更をアクティブにする必要があることがあります。
  8. 新しくデプロイしたSpatial Studioアプリケーションがアクティブとしてマークされていることを確認します。マークされていない場合は、WLS管理コンソールから明示的に起動する必要があることがあります。
  9. 管理対象サーバーのURLを/spatialstudioコンテキスト・ルートとともに使用して、Studioアプリケーションにアクセスします。たとえば、http://mycompany.com:7002/spatialstudioです
2.2.2.1 Spatial Studio管理ユーザーによる一般的なWLS管理の防止

Spatial Studio管理ユーザーがWebLogic Serverの他の一般的な管理操作を実行できないようにする場合は、このトピックの手順に従います。

Spatial Studioアプリケーションは、デフォルトで、WebLogicのすべての管理対象管理ユーザー(WebLogicの管理者グループのユーザー)に対してSpatial Studioアプリケーションへのログインを許可し、Spatial Studioアプリケーション内で管理ロールを保持しているとみなします。

ただし、一部のシナリオでは、Spatial Studioアプリケーションのみを管理するユーザーにWebLogic Serverの管理アカウント情報を組織が提供しないことにする場合があります。そのような場合、WLSシステム管理者は、デフォルトのWLSセキュリティ・レルムにID値がSGTech_SystemAdminの新しいWLSグループを作成できます。次に、新しいユーザーを作成するか、既存の非WLS管理ユーザーをこのグループに割り当てます。それ以降、このユーザーは、ログインするたびにSpatial Studioの管理ロールを保持しているとみなされますが、一般的なWLSサーバーの管理を行うことはできません。

すべてのWLS管理対象ユーザーは、デフォルトでSpatial Studioにログインできますが、接続、データセット、プロジェクトなどの独自のSpatial Studioオブジェクトへのアクセスのみに制限されます。Spatial Studioの管理ユーザーには、すべてのユーザーが作成したすべてのSpatial Studioオブジェクトへの完全なアクセス権があります。

2.2.3 Oracle Cloud MarketplaceからのSpatial Studioのインストール

Oracle Cloud MarketplaceからOracle CloudにSpatial Studioをプロビジョニングできます。

次のリソースは、Cloud MarketplaceからSpatial Studioをデプロイするのに役立ちます。

2.3 Spatial Studioのメタデータ・スキーマのセットアップ

Spatial Studioスキーマ用のデータベース・スキーマをセットアップする必要があります。このスキーマには、Spatial Studioアプリケーションで使用されるメタデータが保持されます。

Spatial Studioスキーマは、Spatial Studioのメタデータを追加する既存のデータベース・スキーマ、またはSpatial Studioのみに使用される新たに作成されたスキーマのいずれかです。推奨される方法は、Spatial Studioのみで使用される新しいデータベース・ユーザーを作成することです。Spatial Studioスキーマのデータベース・ユーザーは、次の権限を保持している必要があります。

  • CONNECT
  • CREATE PROCEDURE
  • CREATE SEQUENCE
  • CREATE SESSION
  • CREATE SYNONYM
  • CREATE TABLE
  • CREATE TRIGGER
  • CREATE TYPE
  • CREATE VIEW

ノート:

CREATE TRIGGER権限は、GeoRasterデータをスキーマに格納して表示する場合にのみ必要です。

たとえば、DBA権限を持つユーザーとして接続する場合は次のようにします。

SQL> create user SPATIAL_STUDIO identified by <password>;
SQL> grant connect, create procedure, create sequence, create session, create synonym, create table, create trigger, create type, create view to SPATIAL_STUDIO; 

Spatial Studioアプリケーションを初めて実行すると、現在のユーザーのオペレーティング・システム・ホーム・フォルダの下の.sgtechという名前のフォルダに構成ファイルが生成されます。構成ファイルは、sgtech_config.jsonという名前です。これはSpatial Studioアプリケーションが接続の詳細を取得してメタデータ・スキーマに格納する場所です。

メタデータ・スキーマへの接続が確立されると、Spatial Studioアプリケーションは、必要な表およびその他のデータベース・オブジェクトがすでに存在するかどうか、およびそれらのバージョンが最新のSpatial Studioアプリケーション・ソフトウェアを使用した最新の状態であるかどうかを自動的にチェックします。これらの表が見つからない場合、または表を移行する必要がある場合は、Spatial Studioアプリケーションが必要なSQLスクリプトを実行してそれらを作成または移行します。ユーザーが介入する必要はありません。

Spatial Studioスキーマには、次の表およびビューが含まれています。

  • SGTECH_OBJECT: Spatial Studioのすべてのドメイン・オブジェクトを格納します。
  • SGTECH_SYS_TYPE: Spatial Studioの既知のタイプのドメイン・オブジェクトをすべて定義します。
  • SGTECH_SYS_JSON_SCHEMA: JSONデータ・スキーマを格納します。
  • SGTECH_TASK_QUEUE: Spatial Studioの長時間実行されるジョブを格納します。
  • SGTECH_TASK_BROKER: Spatial Studioのジョブ・ブローカを格納します。

ノート:

Spatial Studioの表やビュー、またはその中のデータを追加、削除、編集しないでください。これらはSpatial Studioによって自動的に保守されるため、Oracle Supportから指示されないかぎり、ユーザーは変更しないでください。

2.4 Spatial Studioのデータベース・ユーザーの接続要件

この項では、データベース・ユーザーがSpatial Studioを操作するための接続要件について説明します。

個々のユーザーは、Spatial Studioを実行する権限を与えられているデータベース・ユーザーとして接続する必要があります。Spatial Studio管理者は、データベース・ユーザーに対してアクセスを有効にできます。

Spatial Studioへのアクセス専用の新しいデータベース・ユーザーを作成するか、既存のデータベース・ユーザーを変更してSpatial Studioへのアクセスを有効にするか、これらの方法を組み合せて使用できます。

すべてのデータベース・ユーザーに最小限の権限セットが必要です。また、Spatial Studioを使用する各データベース・ユーザーには、デフォルト表領域に対する割当て制限が必要です。権限および割当て制限の要件については、Spatial Studioの前提条件と推奨事項を参照してください。

2.5 sgtech_config.jsonファイルを使用した構成の変更

この項では、sgtech_config.jsonファイルの重要なプロパティの構成について説明します。

デフォルトでは、Spatial Studioはほとんどの重要な構成情報を保存するためにsgtech_config.jsonという名前のJSONファイルを(まだ存在していない場合)作成して使用します。

通常、このファイルはオペレーティング・システム・ユーザーのホーム・ディレクトリの.sgtechという名前のサブフォルダにあります。Studio EARをWebLogicドメインにデプロイしたか、クイック・スタートのみを使用している場合は、これが当てはまります。

次のトピックでは、システム管理者が認識する必要がある構成ファイルの重要なプロパティについて説明します。

2.5.1 HTTPS-ONLYアクセスの許可

sgtech_config.json構成ファイルの最上位レベルのプロパティの1つは、https_onlyです。この値がtrue (デフォルト)に設定されている場合、Oracle Spatial Studioはすべての受信リクエストをアクティブにモニターし、SSLを使用して行われたリクエストのみを許可します。通常のhttp://リクエストは拒否されます。

このため、http://localhost:8080/spatialstudioなどのhttp:// URLを使用してSpatial Studioアプリケーションにアクセスしようとする場合に、https_onlyの値にtrueが設定されていると、ログインできません。実際、ブラウザからアクセスできるページ・リソースがないため、ログイン・ページ自体が表示されません。同様に、HTTPSを使用してアクセスしないかぎり、すべてのRESTfulリクエストはブロックされます。

使用している環境(WebLogic Serverなど)でhttpアクセスのみがサポートされる場合は、https_onlyの値をfalseに変更し、Spatial Studioアプリケーション、またはSpatial StudioがデプロイされているJavaEEコンテナを必ず再起動します。

2.5.2 Spatial Studioメタデータ・スキーマへの接続

Spatial Studioは、SGTECH_OBJECTなどの一連のメタデータ表にアクセスできる必要があります。これらの表は全体として、Spatial Studioアプリケーションのリポジトリとみなされます。これらの表をホストするデータベース・スキーマは、Spatial Studioのメタデータ・スキーマまたはリポジトリ・スキーマとみなされます。

sgtech_config.jsonファイルのmetadata_schemaセクションに接続の詳細が含まれている場合、Spatial Studioは起動時の最初のステップとしてこのメタデータ・スキーマへの接続を確立できる必要があります。

緊急時には、このセクションを手動で編集して、接続詳細を変更または修正することもできます。ただし、構文エラーによってSpatial Studioが動作を停止したり、再起動に失敗する可能性があるため、このファイルを編集するときは常に注意してください。

sgtech_config.jsonファイル(のmetadata_schemaセクション)にリポジトリ・スキーマ接続の詳細を手動で入力する場合は、CONTAINERまたはSPATAL_STUDIOのどちらで物理JDBC接続を管理するかを最初に指定する必要があります。

“metadata_schema” : {
    “connection_manager”: “CONTAINER”
}

または

“metadata_schema” : {
    “connection_manager”: “SPATIAL_STUDIO”
}

connection_managerCONTAINERを設定すると、Spatial Studioのリポジトリ・スキーマへのJDBC接続は、Jetty (クイック・スタートの場合)またはWebLogic Serverにすでに作成したJava EEデータ・ソースを使用して管理されることになります。たとえば、WLSドメインにjdbc/studioMetadataというデータ・ソースがあり、Studioでこのデータ・ソースを使用してターゲット・スキーマに接続する場合、sgtech_config.jsonの関連セクションは次のようになります。

“metadata_schema” {
“connection_manager” : “CONTAINER”,
"container_managed":{
        “jndi_datasource_name” : “jdbc/studioMetadata”
}
}

ノート:

Spatial Studioリリース19.2以降では、Spatial Studioアプリケーションにコンテナ管理の接続の詳細を入力できないため、サポートされている唯一の方法はsgtech_config.jsonファイルを手動で編集することです。

ただし、Spatial Studioでそのメタデータ・スキーマへの物理接続を管理する場合は、connection_managerSPATIAL_STUDIOを設定し、JDBC接続の詳細の完全なセットを指定します。この詳細は、スキーマがOracle Autonomousデータベース(接続を確立するにはデータベースWalletが必要となります)に存在するか、通常のオンプレミスのデータベースに存在するかによって異なります。sgtech_config.jsonファイル内のインライン・コメントで詳細を確認できますが、Spatial Studioに管理ユーザーとしてログオンし、リポジトリ・スキーマの接続の詳細を対話形式で指定することをお薦めします。そのような詳細は、Spatial Studioが接続を検証した後に、sgtech_config.jsonに自動的に保存されます。

2.5.3 メタデータ・オブジェクトのキャッシュ

実行時に、ユーザーが接続、データセットおよびプロジェクトを作成すると、Spatial Studioは、データセットの定義やそのすべての列の定義、すべてのビジュアライゼーションの完全なレイアウトを含むプロジェクトの定義などの大量のメタデータ(Spatial Studioのドメイン・オブジェクトとも呼ばれます)を作成、変更および格納します。

すべてのメタデータ・オブジェクトは、メタデータ表SGTECH_OBJECTに永続的に格納されますが、データベースに頻繁にアクセスする必要がある場合(プロジェクトを開くとき、データセットのプロパティを表示するときなど)は、パフォーマンスが低下する可能性があります。これが発生する場合は、そのようなメタデータ・オブジェクトの頻繁にアクセスされるコピーをメモリーにキャッシュすることが解決策となります。

sgtech_config.jsonファイルのcacheセクションでは、メタデータ・オブジェクトのそのようなインメモリー・キャッシュを有効にするかどうかを指定できます。キャッシュが有効になっている場合は、そのようなオブジェクトをキャッシュできる数とキャッシュする期間をさらに指定できます。一般的なルールとしては、max_size (キャッシュされるメタデータ・オブジェクトの最大数)は1000未満にしますが、Spatial Studioに割り当てるメモリー量が非常に多い場合を除き、10000を超えないようにしてください。

2.5.4 Spatial Studioのリポジトリ・スキーマ・パスワードが変更されている場合

Spatial Studioのリポジトリ・スキーマ・パスワードが変更されている場合は、次のようにsgtech_config.json構成ファイルを更新する必要があります。

  1. このファイルのバックアップ・コピーを作成します。たとえば、~/.sgtech/sgtech_config.json~/.sgtech/sgtech_config.json_backupにコピーします。
  2. Spatial Studioの計算ノードで、ファイル~/.sgtech/sgtech_config.jsonを編集します。
  3. metadata_schemaセクションで、database_passwordを必要な値に更新します。
  4. ファイルを保存してSpatial Studioデプロイメントを再起動します。クイック・スタート・キットを使用している場合に再起動するには、クイック・スタートのREADMEファイルを参照してください。WebLogic Serverデプロイメントの場合は、WebLogic Serverコンソールを使用して再起動します。
  5. Spatial Studioアプリケーションを開きます。ログインできる必要があります。

必要に応じて編集できる他の(リポジトリ以外の)接続も含め、作成したすべてのアーティファクトが残ります。