12 Oracle 数据库配置

概述

假设有一个密码为 passwordzabbix 数据库用户,并且有权在 Oracle 数据库上的 ORCL 服务中创建数据库对象。Zabbix 需要一个 Unicode 数据库字符集和一个 字符集。检查当前的设置:

现在准备数据库:

  1. shell> cd /path/to/zabbix-sources/database/oracle
  2. shell> sqlplus zabbix/[email protected]_host/ORCL
  3. sqlplus> @schema.sql
  4. # stop here if you are creating database for Zabbix proxy
  5. sqlplus> @images.sql
  6. sqlplus> @data.sql

请设置初始化参数以达到最佳的性能 CURSOR_SHARING=FORCE

连接设置

Zabbix支持两种类型的连接标识符(连接方法):

  • Easy Connect
  • Net Service Name

Zabbix server 和 Zabbix proxy的连接配置参数可以在配置文件中设置。server和proxy的重要参数是 DBHost, DBUser, DBNameDBPassword。相同的参数对于前端很重要: $DB[“SERVER”], $DB[“PORT”], $DB[“DATABASE”], $DB[“USER”], $DB[“PASSWORD”].

Zabbix 使用以下连接字符串语法:

  1. {DBUser/DBPassword[@<connect_identifier>]}

<connect_identifier> 可以以以下形式指定 “Net Service Name” 或 “Easy Connect”.

    Easy Connect

    Easy Connect 使用以下参数连接到数据库:

    • Host - 数据库服务器的主机名或 IP 地址(配置文件中的 DBHost 参数)。
    • Port - 数据库服务器上的监听端口(配置文件中的 DBPort 参数;如果未设置,将使用默认的 1521 端口)
    • <service_name> - 要访问数据库的服务名称(配置文件中的 DBName 参数)。

    Zabbix 用于建立连接的字符串:

    在 Zabbix 前端安装过程中,在安装向导的Configure DB connection步骤中设置相应的参数:

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

    或者,可以在前端配置文件 (zabbix.conf.php) 中设置这些参数:

    1. $DB["TYPE"] = 'ORACLE';
    2. $DB["SERVER"] = 'localhost';
    3. $DB["PORT"] = '1521';
    4. $DB["DATABASE"] = 'ORCL';
    5. $DB["USER"] = 'myusername';
    6. $DB["PASSWORD"] = 'mypassword';

    网络服务名称

    从Zabbix 5.4.0开始,可以使用net service name连接到Oracle。

    <net_service_name> 是解析为连接描述符服务的简单名称。

    为了使用服务名称创建连接,必须在位于数据库服务器和客户端系统上的 tnsnames.ora 文件中定义此服务名称。确保连接成功的最简单方法是在TNS_ADMIN环境变量中定义 oftnsnames.ora 文件的位置。tnsnames.ora 文件的默认位置为:

      一个简单的 tnsnames.ora 文件示例:

      • 将 DBHost 设置为空,并设置 DBName
      1. DBHost=
      • 配置两个参数且值为空:
      1. DBHost=
      2. DBName=

      在第二种情况下,必须设置TWO_TAKS环境变量。它指定默认的远程 Oracle 服务(服务名称)。定义此变量后,连接器将使用接受连接请求的 Oracle 监听连接到指定的数据库。此变量仅在 Linux 和 UNIX 上使用。 Microsoft Windows 使用 LOCAL 环境变量

      例:

      使用设置为 ORCL 和默认端口的 Net Service Name 连接到数据库。在 server 或 proxy 配置文件(zabbix_server.conf 和 zabbix_proxy.conf) 中设置的数据库参数:

      1. DBHost=
      2. #DBPort=
      3. DBUser=myusername
      4. DBName=ORCL
      5. DBPassword=mypassword

      在 Zabbix 前端安装过程中,在安装向导的Configure DB connection步骤中设置相应的参数:

      • Database host:
      • Database port: 0
      • Database name: ORCL
      • User: myusername

      12 Oracle 数据库配置 - 图2

      或者,可以在前端配置文件中设置这些参数 (zabbix.conf.php):

      Zabbix 用于建立连接的字符串:

      1. DBUser/[email protected]

      Known issues

      To improve performance, you can convert the field types from nclob to nvarchar2, see .