[comment]: # translation:outdated

[comment]: # ({710cea74-710cea74})
# 12 Oracleデータベースセットアップ

[comment]: # ({/710cea74-710cea74})

[comment]: # ({c3411fd2-c3411fd2})
#### 概要

このセクションにはOracleデータベースを作成し、データベースとZabbixサーバー、プロキシ、およびフロントエンド間の接続を構成する手順が含まれています。

[comment]: # ({/c3411fd2-c3411fd2})

[comment]: # ({2fd36a67-2fd36a67})
### データベースの作成

*password*というパスワードを持つ*zabbix*データベースユーザーが存在し、*host*のOracleデータベースサーバーにあるORCLサービスでデータベースオブジェクトを作成する権限を持っていることを前提としています。 Zabbixには、Unicodeデータベースの文字セットと`UTF8`国別文字セットが必要です。現在の設定を確認します。

    sqlplus> select parameter,value from v$nls_parameters where parameter='NLS_CHARACTERSET' or parameter='NLS_NCHAR_CHARACTERSET';

次にデータベースを準備します。

    shell> cd /path/to/zabbix-sources/database/oracle
    shell> sqlplus zabbix/password@oracle_host/ORCL
    sqlplus> @schema.sql
    # Zabbixプロキシ用のデータベースを作成している場合はここまで
    sqlplus> @images.sql
    sqlplus> @data.sql

::: notetip
最高のパフォーマンスを得るには、初期化パラメータCURSOR\_SHARING=FORCEを設定してください。
:::

[comment]: # ({/2fd36a67-2fd36a67})

[comment]: # ({db4ecc98-db4ecc98})
### 接続設定

Zabbixは2種類の接続識別子（接続方法）をサポートしています。

-   Easy Connect
-   Net Service Name

ZabbixサーバーとZabbixプロキシの接続設定パラメータは設定ファイルで設定できます。サーバーとプロキシーの重要なパラメーターは*DBHost*、*DBUser*、*DBName*、および*DBPassword*です。同じようにフロントエンドでも次のパラメータが重要です：*$DB\["SERVER"\]*,*$DB\["PORT"\]*, *$DB\["DATABASE"\]*, *$DB\["USER"\]*,*$DB\["PASSWORD"\]*

Zabbixは次の接続文字列構文を使用します。

    {DBUser/DBPassword[@<connect_identifier>]} 

<connect\_identifier>は"Net Service Name"または"Easy Connect"のいずれかの形式で指定できます。

    @[[//]Host[:Port]/<service_name> | <net_service_name>]

[comment]: # ({/db4ecc98-db4ecc98})

[comment]: # ({ed80a373-ed80a373})
#### Easy Connect

Easy Connectは、次のパラメーターを使用してデータベースに接続します。

-   *Host* - データベースサーバーのホスト名またはIPアドレス（構成ファイルのDBHostパラメーター）
-   *Port* - データベースサーバーのリスニングポート（構成ファイルのDBPortパラメーター。設定されていない場合はデフォルトの1521ポートが使用されます）
-   <service\_name> - アクセスするデータベースのサービス名（構成ファイルのDBNameパラメーター）

**例**

サーバーまたはプロキシ設定ファイル（zabbix\_server.confおよびzabbix\_proxy.conf）で設定されたデータベースパラメータ：

    DBHost=localhost
    DBPort=1521
    DBUser=myusername
    DBName=ORCL
    DBPassword=mypassword

Zabbixが接続を確立するために使用する接続文字列：

    DBUser/DBPassword@DBHost:DBPort/DBName

Zabbixフロントエンドのインストール中に、セットアップウィザードの*データベース接続設定*ステップで対応するパラメータを設定します。

-   Database host: localhost
-   Database port: 1521
-   Database name: ORCL
-   User: myusername
-   Password: mypassword

![](../../../../assets/en/manual/appendix/install/oracle_easy_connect.png){width="600"}

またはこれらのパラメーターをフロントエンド構成ファイル（zabbix.conf.php）で設定することもできます。

    $DB["TYPE"]                     = 'ORACLE';
    $DB["SERVER"]                   = 'localhost';
    $DB["PORT"]             = '1521';
    $DB["DATABASE"]                 = 'ORCL';
    $DB["USER"]                     = 'myusername';
    $DB["PASSWORD"]                 = 'mypassword';

[comment]: # ({/ed80a373-ed80a373})

[comment]: # ({fe8fa72a-fe8fa72a})
#### Net service name

Zabbix 5.4.0以降ではNet service nameを使用してOracleに接続できます。

<net\_service\_name>は接続記述子に解決されるサービスの単純な名前です。

接続の作成にサービス名を使用するには、このサービス名をデータベースサーバーとクライアントシステムの両方にあるnsnames.oraファイルで定義する必要があります。接続が成功することを確認する最も簡単な方法はTNS\_ADMIN環境変数でtnsnames.oraファイルの場所を定義することです。 tnsnames.oraファイルのデフォルトの場所は次のとおりです。

    $ORACLE_HOME/network/admin/

簡単なtnsnames.oraファイルの例：

    ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = ORCL)
        )
      )

"Net Service Name"接続のパラメータを設定するには、次のいずれかのオプションを使用します。
To set configuration parameters for the "Net Service Name" connection method, use one of the following options:

-    DBHostを空で設定し、DBNameを通常どおり設定します

```{=html}
<!-- -->
```
    DBHost=
    DBName=ORCL

-   パラメーターを設定せず両方を空のままにします。

```{=html}
<!-- -->
```
    DBHost=
    DBName=

2番目のケースでは、TWO\_TAKS環境変数にデフォルトのリモートOracleサービス（サービス名）を設定する必要があります。この変数が定義されている場合、コネクタは、接続要求を受け入れるOracleリスナーを使用して、指定されたデータベースに接続します。この変数は、LinuxおよびUNIXでのみ使用されます。 Microsoft WindowsではLOCAL環境変数を使用します。

**例**

ORCLと設定されたネットサービス名とデフォルトのポートを使用してデータベースに接続します。サーバーまたはプロキシ設定ファイル(zabbix\_server.conf and zabbix\_proxy.conf)で設定されたデータベースパラメータは次の通りです。

    DBHost=
    #DBPort=
    DBUser=myusername
    DBName=ORCL
    DBPassword=mypassword

Zabbixフロントエンドのインストール中に、セットアップウィザードの*データベース接続設定*ステップで対応するパラメータを設定します。

-   Database host:
-   Database port: 0
-   Database name: ORCL
-   User: myusername
-   Password: mypassword

![](../../../../assets/en/manual/appendix/install/oracle_service_name.png){width="600"}

または、これらのパラメーターをフロントエンド構成ファイル（zabbix.conf.php）で設定することもできます。

    $DB["TYPE"]                     = 'ORACLE';
    $DB["SERVER"]                   = '';
    $DB["PORT"]           = '0';
    $DB["DATABASE"]                 = 'ORCL';
    $DB["USER"]                     = 'myusername';
    $DB["PASSWORD"]                 = 'mypassword';

Zabbixが接続を確立するために使用する接続文字列は以下です。

    DBUser/DBPassword@ORCL

[comment]: # ({/fe8fa72a-fe8fa72a})

[comment]: # ({74be0d8b-b56155a3})
#### 既知の問題点

パフォーマンスを向上させるには、 *nclob* から *nvarchar2* にフィールドタイプを変換してください。詳細は [既知の問題点](/manual/installation/known_issues#slow-configuration-sync-with-oracle) を参照してください。

[comment]: # ({/74be0d8b-b56155a3})
