# 将 Oracle 用于 MDM 服务器

可用产品...

* Data Fabric
* MDM Platform

当您选择将 Oracle 用作 MDM 服务器的数据库时，必须在启动 MDM 服务器之前进行特定的配置。

您可以使用具有不同表空间的单个 Oracle 数据库：一个表空间用于主容器，一个用于系统对象，另一个用于暂存容器。

不同 Oracle 版本的配置是相同的。有关受支持的 Oracle 版本的更多信息，请参阅[兼容的数据库](https://help.qlik.com/talend/en-US/installation-guide-linux/7.3/compatible-databases)。

MDM 还支持其他类型的数据库。有关更多信息，请参阅[管理 MDM 数据库](https://help.qlik.com/talend/en-US/installation-guide-linux/7.3/managing-mdm-databases)。

## 步骤

1. 使用您的 Oracle 开发工具 (例如，Oracle SQL developer)，为每个容器创建一个用户。

   在此示例中，创建三个用户：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 帮助中心](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 服务器。