# MDMサーバーでのOracleの使用

利用対象...

* Data Fabric
* MDM Platform

MDMサーバーのデータベースとしてOracleを使用するように選択する場合は、MDMサーバーを起動する前に特定の設定を行う必要があります。

異なる複数のテーブルスペースを単一のOracleデータベースで運用できます: マスターコンテナーに1つ、システムオブジェクトに1つ、そしてステージングコンテナーに1つテーブルスペースを用意します。

異なるOracleバージョンでも設定は同じになります。サポートされているOracleバージョンの詳細は、[互換性があるデータベース](https://help.qlik.com/talend/ja-JP/installation-guide-linux/7.3/compatible-databases)をご覧ください。

MDMでは他の種類のデータベースもサポートされています。詳細は、[MDMデータベースを管理](https://help.qlik.com/talend/ja-JP/installation-guide-linux/7.3/managing-mdm-databases)をご覧ください。

## 手順

1. Oracle開発ツール(Oracle SQL Developerなど)を使用して、コンテナーごとに1つのユーザーを作成します。

   この例では、次の3人のユーザーを作成します: mdm\_master、mdm\_staging、およびmdm\_system。
2. ユーザーごとにテーブルスペースを作成します。

   たとえば、ユーザーmdm\_masterのテーブルスペースMDMMASTERを作成します:
   ```
   CREATE TABLESPACE
   MDMMASTER DATAFILE '/home/talend/oracle/oradata/XE/MDMMASTER.DBF'  SIZE 20M
   AUTOEXTEND ON NEXT 5M
   MAXSIZE 100M;
   ```

   "tablespace MDMMASTER created" (テーブルスペースMDMMASTERが作成されました)という出力が表示されていることを確認します。
3. テーブルスペースのユーザーにアクセス権を付与します。
   ```
   ALTER USER mdm_master
   QUOTA 100M ON MDMMASTER; 
   ```

   "user mdm\_master altered" (ユーザーmdm\_masterが変更されました)という出力が表示されていることを確認します。
4. それぞれが異なるテーブルスペースを使用するようにユーザーを変更します。

   この例では、mdm\_masterはテーブルスペースMDMMASTERを使用し、mdm\_stagingはMDMSTAGINGを使用します。
5. 各ユーザーに「System Privileges(システム権限)」のアクセス許可があることを確認します。
6. MDMサーバーでデータソース設定ファイル&lt;$INSTALLDIR&gt;/conf/datasources.xmlをアップデートします。

   テンプレートは以下のとおりです:
   ```
       <datasource name="Oracle-Default">
           <master>
               <type>RDBMS</type>
               <rdbms-configuration>
                   <dialect>Oracle11g</dialect>
                   <connection-driver-class>oracle.jdbc.driver.OracleDriver</connection-driver-class>
                   <connection-url>jdbc:oracle:thin:@localhost:1521:TMDM_DB</connection-url>
                   <connection-username>mdm_master</connection-username>
                   <connection-password></connection-password>
                   <connection-pool-minsize>5</connection-pool-minsize>
                   <connection-pool-maxsize>50</connection-pool-maxsize>
                   <fulltext-index-directory>/home/talend/Talend-MDMServer/data/indexes/Oracle-Default</fulltext-index-directory>
                   <schema-generation>update</schema-generation>
                   <properties>
                       <property name="hibernate.show_sql">false</property>
                       <property name="hibernate.default_schema">mdm_master</property>
                   </properties>
               </rdbms-configuration>
           </master>
           <staging>
               <type>RDBMS</type>
               <rdbms-configuration>
                   <dialect>Oracle11g</dialect>
                   <connection-driver-class>oracle.jdbc.driver.OracleDriver</connection-driver-class>
                   <connection-url>jdbc:oracle:thin:@localhost:1521:TMDM_DB</connection-url>
                   <connection-username>mdm_staging</connection-username>
                   <connection-password></connection-password>
                   <connection-pool-minsize>5</connection-pool-minsize>
                   <connection-pool-maxsize>50</connection-pool-maxsize>
                   <schema-generation>update</schema-generation>
                   <properties>
                       <property name="hibernate.show_sql">false</property>
                       <property name="hibernate.default_schema">mdm_staging</property>
                   </properties>
               </rdbms-configuration>
           </staging>
           <system>
               <type>RDBMS</type>
               <rdbms-configuration>
                   <dialect>Oracle11g</dialect>
                   <connection-driver-class>oracle.jdbc.driver.OracleDriver</connection-driver-class>
                   <connection-url>jdbc:oracle:thin:@localhost:1521:TMDM_DB</connection-url>
                   <connection-username>mdm_system</connection-username>
                   <connection-password></connection-password>
                   <connection-pool-minsize>5</connection-pool-minsize>
                   <connection-pool-maxsize>50</connection-pool-maxsize>
                   <schema-generation>update</schema-generation>
                   <properties>
                       <property name="hibernate.show_sql">false</property>
                       <property name="hibernate.default_schema">mdm_system</property>
                   </properties>
               </rdbms-configuration>
           </system>
       </datasource>
   ```

   ファイルの詳細は、[Talend Help Center](https://help.qlik.com/talend/#/search/books?query=mdm+sql+storage) (英語のみ)をご覧ください。

   情報メモ注: ステージングエリアでは、フルテキストのインデックスディレクトリーは定義されていません。
7. 設定ファイル&lt;$INSTALLDIR&gt;/conf/mdm.confを以下のようにアップデートします:
   ```
   db.autoPrepare=false
   db.default.datasource=Oracle-Default
   ```
8. MDMサーバーを再起動します。