zabbix6.2自带的oracle监控模板仅仅支持被动模式的zabbix
yum -y install unixODBC unixODBC-devel

- #以下所有操作使用root账号执行
- #创建目录
- mkdir -p /opt/oracle
- cd /opt/oracle
- #下载odbc安装包
- wget https://download.oracle.com/otn_software/linux/instantclient/213000/oracle-instantclient-basic-21.3.0.0.0-1.x86_64.rpm
- wget https://download.oracle.com/otn_software/linux/instantclient/213000/oracle-instantclient-sqlplus-21.3.0.0.0-1.x86_64.rpm
- wget https://download.oracle.com/otn_software/linux/instantclient/213000/oracle-instantclient-devel-21.3.0.0.0-1.x86_64.rpm
- wget https://download.oracle.com/otn_software/linux/instantclient/213000/oracle-instantclient-odbc-21.3.0.0.0-1.x86_64.rpm
- #安装unixODBC和unixODBC-devel
- yum -y install unixODBC unixODBC-devel
- #安装oracle-instantclient
- yum localinstall oracle-instantclient-*
- #oracle-instantclient的安装位置如下
- /usr/lib/oracle/21/client64
- /usr/share/oracle/21/client64
- /usr/include/oracle/21/client64
- mkdir /usr/lib/oracle/21/client64/network/admin/ -p
- cd /usr/lib/oracle/21/client64/network/admin/
- vim tnsnames.ora
-
- HOST写oracle数据库服务器IP地址,
- SERVICE_NAME写global_name
- sqlplus / as sysdba
- select global_name from global_name;

- ORCL =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.61.105)(PORT = 1521))
- (CONNECT_DATA =
- (SERVER = DEDICATED)
- (SERVICE_NAME = ORCL)
- )
- )
- [root@BASE-oracle oracle]# sqlplus NCC10/XXXX@ORCL
-
- SQL*Plus: Release 21.0.0.0.0 - Production on Tue Sep 6 17:55:26 2022
- Version 21.3.0.0.0
-
- Copyright (c) 1982, 2021, Oracle. All rights reserved.
-
- Last Successful login time: Tue Sep 06 2022 17:54:17 +08:00
-
- Connected to:
- Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
- Version 19.12.0.0.0
-
- SQL>
- su - oracle #切换到oracle用户,配置监听
- export DISPLAY=IP:0.0 #IP为本机地址,export DISPLAY=本机地址:0.0
- netca -silent -responseFile /opt/oracle/database/response/netca.rsp
- sqlplus / as sysdba
- startup
-
- lsnrctl start
- export ORACLE_HOME=/usr/lib/oracle/21/client64
- export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib64:$LD_LIBRARY_PATH
- export TNS_ADMIN=$ORACLE_HOME/network/admin
- export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
- export ORACLE_SID=ORCL
-
- #保存后适用新的环境变量
- source /etc/profile
- #配置类库
- chmod +x /usr/lib/oracle/21/client64/lib/libsqora.so.21.1
- cd /usr/lib64
- ln -s libodbcinst.so.2.0.0 libodbcinst.so.1
- [root@zabbix ~]# cat /etc/odbcinst.ini
- [Oracle]
- Description = ODBC for Oracle
- Driver = /usr/lib/oracle/21/client64/lib/libsqora.so.21.1
- [root@BASE-oracle oracle]# cat /etc/odbc.ini
- [NCCTESTDB] ###DSN名字,这个很关键
- Driver = Oracle
- ServerName = 172.16.61.105:1521/ORCL
- UserID = NCC10
- Password = xxxxx
- [root@BASE-oracle oracle]# isql -v NCCTESTDB
- +---------------------------------------+
- | Connected! |
- | |
- | sql-statement |
- | help [tablename] |
- | quit |
- | |
- +---------------------------------------+
- SQL>
#如下这个是在oracle服务上执行的
- 创建用于监控的专用账号zabbix
- CREATE USER ZABBIX IDENTIFIED BY zabbix DEFAULT TABLESPACE SYSTEM TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;
- GRANT CONNECT TO ZABBIX;
- GRANT RESOURCE TO ZABBIX;
- ALTER USER ZABBIX DEFAULT ROLE ALL;
- GRANT SELECT ANY TABLE TO ZABBIX;
- GRANT CREATE SESSION TO ZABBIX;
- GRANT SELECT ANY DICTIONARY TO ZABBIX;
- GRANT UNLIMITED TABLESPACE TO ZABBIX;
- GRANT SELECT ANY DICTIONARY TO ZABBIX;
4.1 Interfaces选择客户端,IP地址选择客户端刚才我们配置的那个Agent的IP地址
模板选择Oracle by ODBC

4.3 宏配置中添加
{$ORACLE.DSN}
{$ORACLE.USER}
{$ORACLE.PASSWORD}
{$ORACLE.PORT}
三项即可

