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 Webアプリケーションを起動するために必要なものが含まれるzipファイルにパッケージ化された、すぐに実行できるスタンドアロン・アプリケーション。(ただし、このキットにはJavaキットがバンドルされていないため、JDK 8 64-bit、update 181以降をデスクトップにインストールする必要があります。)
クイック・スタートは、個人および開発での使用に適しています。
- WLSに最適化されたEAR (エンタープライズ・アプリケーション・アーカイブ)ファイル:この
.earファイルは、組織のWLSまたはミドルウェア管理者によって管理されている既存のWebLogic Serverドメインにデプロイできます。これは、複数のエンド・ユーザーが同じSpatial Studio Webアプリケーションにアクセスする場合に推奨されるインストールおよびデプロイの方法です。
特定のユーザーまたはデータベース・ユーザーは、管理ユーザーと非管理ユーザーの両方になるか、管理ユーザーまたは非管理ユーザーのいずれかのみになることができます。
- Spatial Studioの前提条件と推奨事項
Spatial Studioを使用する場合は、いくつかの前提条件と推奨事項が適用されます。 - Spatial Studioのダウンロードおよびインストール
各ユーザーがSpatial Studioを使用して空間データに対して技術的に興味深い作業を実行する前に、Spatial Studioをダウンロードしてインストールする必要があります。 - Spatial Studioのメタデータ・スキーマのセットアップ
Spatial Studioスキーマ用のデータベース・スキーマをセットアップする必要があります。このスキーマには、Spatial Studioアプリケーションで使用されるメタデータが保持されます。 - Spatial Studioのデータベース・ユーザーの接続要件
空間データを分析したり空間アプリケーションを作成するユーザーは、ツールのインストール後にSpatial Studioを使用できる必要があります。 - sgtech_config.jsonファイルを使用した構成の変更
デフォルトでは、Spatial Studioはほとんどの重要な構成情報を保存するためにsgtech_config.jsonという名前のJSONファイルを作成して(まだ存在していない場合)使用します。
2.1 Spatial Studioの前提条件と推奨事項
Spatial Studioを使用する場合は、いくつかの前提条件と推奨事項が適用されます。
Spatial Studioを使用してアクションを実行するためにユーザーが接続するデータベースに、Oracle Spatial and Graphをインストールする必要があります。(Oracle Locatorをインストールするだけでは不十分です。)
- Java 8 64-bit、update 181以上。より新しいバージョンのJava (Java 9以上など)はテストされておらず、古いバージョンもサポートされません。
- Oracle Database 12.2以上これはSpatial Studioメタデータ・スキーマにも、Spatial Studioユーザーによって使用されるすべてのデータベース接続にも適用されます。
- Spatial Studioを使用する各データベース・ユーザーに少なくとも次の権限がある。
create session, connect, resource, create view, create sequence, create synonym, create procedure, query rewrite - 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リポジトリ・スキーマのデフォルト表領域では、圧縮を使用しないでください。
親トピック: Oracle Spatial Studioの管理
2.2 Spatial Studioのダウンロードおよびインストール
各ユーザーがSpatial Studioを使用して空間データに対して技術的に興味深い作業を実行する前に、Spatial Studioをダウンロードしてインストールする必要があります。
https://www.oracle.com/database/technologies/spatialandgraph.htmlに移動し、Spatial Studioをダウンロードおよびインストールする手順を見つけます。
- Spatial Studioクイック・スタートのインストールおよび構成
クイック・スタートは、使用を開始するための簡単な方法であり、個人および開発での使用に適しています。 - WebLogic ServerドメインへのSpatial Studioのインストール
Spatial Studioは、WebLogic Serverドメインにデプロイできます。複数のエンド・ユーザーが同じSpatial Studioアプリケーションにアクセスする場合は、この方式をお薦めします。
親トピック: Oracle Spatial Studioの管理
2.2.1 Spatial Studioクイック・スタートのインストールおよび構成
クイック・スタートは、使用を開始するための簡単な方法であり、個人および開発での使用に適しています。
クイック・スタートは、Spatial Studioの使用を開始するために必要なものがすべて含まれる1つのzipにパッケージ化されています。ただし、Java 8 (64-bit、update 181以降)および独自のデータベース・スキーマは除きます。
使用を開始するための一般的なステップを次に示します。
- クイック・スタートzipアーカイブ
OracleSpatialStudio_qs.zipをダウンロードします。 - 解凍すると、
Oracle_Spatial_Studioというディレクトリが作成されます。 - JAVA_HOME環境変数がシステムに存在し、Java SE Development Kit 8u181 (64-bit)以上の完全なJDKインストール環境を指していることを確認します。
- ポート8080および4040が他の(Web)アプリケーションによって使用されていないことを確認します。(別のポートを使用するようにSpatial Studioに指定できますが、8080および4040がデフォルトです。)ポート8080は
http://プロトコルで使用し、ポート4040はhttps://プロトコル用です。デフォルトでは、
httpsを使用するアクセスのみがSpatial Studioで許可されます。 - コマンド・ウィンドウ(Windows)またはターミナル(LinuxまたはMac)から、
Oracle_Spatial_Studioディレクトリに移動(cd)します。このディレクトリには、複数の.batファイルまたは.shファイルが格納されています。 start.shまたはstart.batを使用して、アプリケーションを起動します。(LinuxまたはMacでは、まずコマンドchmod u+x *.shを実行して、.shファイルを実行可能にする必要がある場合があります)ターミナルまたはコマンド・ウィンドウは開いたままにします。
- ブラウザでURL (
https://localhost:4040/spatialstudio)に移動します。デフォルトの管理ユーザーのログイン資格証明は、
admin/welcome1です。すぐにパスワードを変更することをお薦めします。管理ユーザーと2つの組込み通常ユーザーのパスワードはすべて、暗号化された形式で格納されています。Spatial Studioユーザーの(暗号化された)パスワードを変更する方法については、クイック・スタートのREADMEファイルを参照してください。
注意:
クイック・スタートを使用する場合は、次の考慮事項が適用されます。
- デフォルトのポートは4040ですが、
Oracle_Spatial_Studioのconf/server.jsonファイルを編集すると変更できます。変更を加えた後は、アプリケーションを再起動する必要があります。(HTTPポートの値をデフォルトの8080から変更した場合も同様です。) - クイック・スタートには、
admin、manager、author、consumerおよび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アプリケーションにアクセスする場合は、この方式をお薦めします。
注意:
Spatial Studioの初期リリースの場合は、WLSドメイン内の単一の管理対象サーバーにのみ、Spatial Studio EARアーカイブ(Oracle Technical Resourcesからダウンロードした)をデプロイすることをお薦めします。言い換えると、キャッシュされたSpatial Studioメタデータが管理対象サーバー間で非同期になることを回避するために、複数の管理対象サーバーを含むクラスタにSpatial Studioをデプロイすることを避ける必要があります。(この制限は、Spatial Studioの今後のリリースではなくなる可能性があります。)
Spatial StudioをWebLogic Serverにデプロイするための全般的な方法は、他のJava EE EARアプリケーションをデプロイする方法と同じです。最も簡単な方法は、WebLogic Serverの管理コンソールを使用して次のステップを実行することです。すべてのステップまたはほとんどのステップで、WLSインストール・アプリケーション・ウィザードで提供されるデフォルト値を受け入れることができます。
- Oracle Technical ResourcesまたはeDeliveryからStudio EARアーカイブをダウンロードし、ローカル・システムに保存します。
- 対象となるWLSドメインの管理コンソールにログインします。
- 左側の「デプロイ」リンクをクリックします。
- 次の図に示すように、「デプロイメント」セクションの下の「インストール」ボタンをクリックします(ご使用のWLSのインスタンスでは、正確な内容が異なる場合があります)。
- 次のページで、前にダウンロードしたSpatial Studio EARファイルを選択し、(ライブラリとしてではなく)アプリケーションとしてインストールします。
- 残りのステップをクリックして進めます(適切なターゲット・サーバーの選択を含む)。内容を正確に理解している場合を除き、すべての場合にデフォルトのオプションを受け入れる必要があります。最後に、「保存」をクリックしてデプロイメントを完了します。
- WLSが本番モードで実行されている場合は、デプロイメントをアクティブにするために、変更をアクティブにする必要があることがあります。
- 新しくデプロイしたSpatial Studioアプリケーションがアクティブとしてマークされていることを確認します。マークされていない場合は、WLS管理コンソールから明示的に起動する必要があることがあります。
- 管理対象サーバーのURLを
/spatialstudioコンテキスト・ルートとともに使用して、Studioアプリケーションにアクセスします。たとえば、http://mycompany.com:7002/spatialstudioです
- Spatial Studio管理ユーザーによる一般的なWLS管理の防止
Spatial Studio管理ユーザーがWebLogic Serverの他の一般的な管理操作を実行できないようにする場合は、このトピックの手順に従います。
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.3 Spatial Studioのメタデータ・キーマのセットアップ
Spatial Studioスキーマ用のデータベース・スキーマをセットアップする必要があります。このスキーマには、Spatial Studioアプリケーションで使用されるメタデータが保持されます。
Spatial Studioスキーマは、Spatial Studioのメタデータを追加する既存のデータベース・スキーマ、またはSpatial Studioのみに使用される新たに作成されたスキーマのいずれかです。推奨される方法は、Spatial Studioのみで使用される新しいデータベース・ユーザーを作成することです。Spatial Studioスキーマのデータベース・ユーザーは、次の権限を保持している必要があります。
- CONNECT
- RESOURCE
- CREATE VIEW
- CREATE SEQUENCE
- CREATE SYNONYM
- CREATE PROCEDURE
- QUERY REWRITE
- CREATE SESSION
たとえば、DBA権限を持つユーザーとして接続する場合は次のようにします。
SQL> create user SPATIAL_STUDIO identified by <password>;
SQL> grant create session, connect, resource, create view, create sequence, create synonym, create procedure, query rewrite 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から指示されないかぎり、ユーザーは変更しないでください。
親トピック: Oracle Spatial Studioの管理
2.4 Spatial Studioのデータベース・ユーザーの接続要件
空間データを分析したり空間アプリケーションを作成するユーザーは、ツールのインストール後にSpatial Studioを使用できる必要があります。
そのような各ユーザーは、Spatial Studioの実行を認可されたデータベース・ユーザーとして接続する必要があります。このような各データベース・ユーザーについて、Spatial Studio管理者はそのアクセス権を有効にする必要があります。
Spatial Studioへのアクセス専用の新しいデータベース・ユーザーを作成するか、既存のデータベース・ユーザーを変更してSpatial Studioへのアクセスを有効にするか、これらの方法を組み合せて使用できます。DBA権限を持つユーザーとして接続する場合の例を次に示します。
SQL> create user SPATIAL_STUDIO_USER1 identified by <password>;
SQL> grant create session, connect, resource, create view, create sequence,
create synonym, create procedure, query rewrite to SPATIAL_STUDIO_USER1;
-- and/or ...
SQL> alter user SCOTT grant create session, connect, resource, create view, create sequence,
create synonym, create procedure, query rewrite;また、Spatial Studioを使用する各データベース・ユーザーには、Spatial Studioの前提条件と推奨事項で説明されているように、デフォルト表領域での割当て制限がある必要があります。
親トピック: Oracle Spatial Studioの管理
2.5 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_managerにCONTAINERを設定すると、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_managerにSPATIAL_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を超えないようにしてください。
