oracle11安装完成后, 实例名: zbx01

oracle创建zbx01用户:
col file_name for a60;
set linesize 160;
select file_name,tablespace_name,bytes from dba_data_files;

create tablespace ZBX01 datafile '/u01/oracle/oradata/zbx01/zbx01.dbf' size 5g autoextend on ;
CREATE USER zbx01 IDENTIFIED BY zbx01 DEFAULT TABLESPACE ZBX01;
GRANT DBA TO zbx01 WITH ADMIN OPTION;
GRANT ALTER SESSION TO ZBX01 ;
授权ZBX01用户可以修改会话
GRANT CREATE SESSION TO ZBX01 ;
创建会话
GRANT CONNECT TO ZBX01 ;
连接数据库
ALTER USER ZBX01 DEFAULT ROLE ALL;
修改数据库用户ZBX01拥有所有默认角色
GRANT SELECT ON DBA_REGISTRY TO ZBX01 ;
GRANT SELECT ON DBA_SEGMENTS TO ZBX01 ;
GRANT SELECT ON DBA_DATA_FILES TO ZBX01 ;
GRANT SELECT ON DBA_TEMP_FILES TO ZBX01 ;
GRANT SELECT ON DBA_FREE_SPACE TO ZBX01 ;
GRANT SELECT ON V_$SYSTEM_EVENT TO ZBX01 ;

创建zabbix用户
useradd zabbix

导入表结构:
下载zabbix-4.2.1源码包
cd /home/zabbix/
wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.2.1/zabbix-4.2.1.tar.gz
解压
tar -zxvf zabbix-4.2.1.tar.gz -C /home/zabbix/
cd /home/zabbix/zabbix-4.2.1/database/oracle
有三个文件,data.sql images.sql schema.sql

先要执行schema.sql
因为里面有个oracle不支持的字符长度,所以先要修改字符串长度
sed -i 's/2048/2000/g' schema.sql

第二个脚本是images.sql
里面有个目录/home/zabbix/zabbix-4.2.1/create/output_png
这目录里面应该放图片,oracle对个目录权限,所以我们将这个目录替换。
sed -i 's%/home/zabbix/zabbix/create/output_png%/home/zabbix/output_png/%g' images.sql

然后将图片拷贝到/tmp/zabbix/create/images目录中
mkdir /home/zabbix/output_png/
cp -r /home/zabbix/zabbix-4.2.1/misc/images/* /home/zabbix/output_png/
chown -R oracle:dba /home/zabbix/output_png
chmod 775 /home/zabbix/

执行三个sql 脚本 注意是zbx01用户(proxy环境只需要导入schema.sql文件)
sqlplus zbx01/zbx01
sqlplus> @schema.sql
sqlplus> @images.sql
sqlplus> @data.sql

调整字段的长度:
SQL> alter table items add(new_description nvarchar2(2000));
SQL> update items set new_description = DESCRIPTION;
SQL> alter table items drop column DESCRIPTION;
SQL> alter table items rename column new_description to DESCRIPTION;

关闭防火墙(iptable, firewalld), selinux

安装php5.5
CentOs 7.X
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum install -y php55w.x86_64 php55w-cli.x86_64 php55w-common.x86_64 php55w-gd.x86_64 php55w-mbstring.x86_64 php55w-pdo.x86_64 php55w-xml.x86_64 php55w-xmlrpc.x86_64 php55w-fpm php55w-devel php55w-xml
yum install -y php55w-bcmath-5.5.38-1.w7.x86_64 --skip-broken

安装相关组件:
yum update
yum install -y wget libmicro httpd-devel httpd-devel httpd-tools libmicrohttpd.x86_64 lrzsz httpd net-snmp-devel java-devel openldap openldap-devel libssh2-devel.x86_64 unixODBC-devel.x86_64 OpenIPMI-devel OpenIPMI-libs.x86_64 net-snmp-devel libxml2 curl-devel libxml2-devel gcc gcc-c++ compat-libstdc++-33

[iyunv@test1 zabbix]# php -v
PHP 5.5.38 (cli) (built: Jul 21 2016 12:25:20)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
[iyunv@test1 ~]# which phpize
/usr/bin/phpize

安装oracle client
rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

安装OCI8
wget http://pecl.php.net/get/oci8-2.0.12.tgz
tar -xf oci8-2.0.12.tgz
cd oci8-2.0.12
phpize
./configure --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client64/lib --with-php-config=/usr/bin/php-config
make
make test
make install
启用OCI8(此步也是启用PHP database support中对oracle的支持)

echo "/usr/lib/oracle/11.2/client64/lib" > /etc/ld.so.conf.d/oracle.conf
echo "extension=oci8.so" >> /etc/php.ini
ldconfig
安装完成后可以测试一下是否安装OCI成功
echo "<?php phpinfo(); ?>">/var/www/html/test.php
systemctl restart httpd

有以下部分显示则表示安装成功

配置环境变量:(可以将配置放在root和zabbix用户下)
将以下内容写入/etc/profile文件
export ORACLE_HOME=/usr/lib/oracle/11.2/client64/
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64:/usr/lib/oracle/11.2/client64/bin:$LD_LIBRARY_PATH
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export TNS_ADMIN=/usr/lib/oracle/11.2/client64/network/admin
export PATH=$PATH:/usr/lib/oracle/11.2/client64/bin
network/admin两个目录自己建一下,然后把zabbixDB的tnsname.ora复制到admin目录下
把11G的/u01/app/oracle/product/11.2.0/db_1/bin/tnsping文件上传到/usr/lib/oracle/11.2/client64/bin/目录下
cp /u01/oracle/product/db11g/bin/tnsping /usr/lib/oracle/11.2/client64/bin/

zabbix源码安装
创建文件
mkdir /etc/zabbix
编译
cd /home/zabbix/zabbix-4.2.1
创建/usr/lib/oracle/11.2/client64/rdbms/public 然后将/usr/include/oracle/11.2/client64/的内容复制到/usr/lib/oracle/11.2/client64/rdbms/public之下
mkdir /usr/lib/oracle/11.2/client64/rdbms/public -p
cp -r /usr/include/oracle/11.2/client64/* /usr/lib/oracle/11.2/client64/rdbms/public/

#OpenIPMI-devel安装一直有问题, 就强制安装即可
yum -y install OpenIPMI libssh2-devel ncurses-devel OpenIPMI-devel libevent-devel unixODBC-devel net-snmp-devel java*

server
./configure --prefix=/etc/zabbix/ --enable-server --enable-agent --enable-java --with-ssh2 --enable-ipv6 --with-oracle=/usr/lib/oracle/11.2/client64/ --with-unixodbc --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi

5、configure: error: Unable to find "javac" executable in path
#yum install java-1.6.0-openjdk-devel

编译结果如下:
Configuration:

Detected OS: linux-gnu
Install path: /home/zabbix/zabbix/
Compilation arch: linux

Compiler: cc
Compiler flags: -g -O2

Library-specific flags:
database: -I/usr/lib/oracle/11.2/client64//rdbms/public -I/usr/lib/oracle/11.2/client64//rdbms/demo
libXML2: -I/usr/include/libxml2
unixODBC: -I/usr/include
Net-SNMP: -I/usr/local/include -I/usr/lib64/perl5/CORE -I. -I/usr/include
OpenIPMI: -I/usr/include
libssh2: -I/usr/include

Enable server: yes
Server details:
With database: Oracle
WEB Monitoring: cURL
SSL certificates: /home/zabbix/zabbix/share/zabbix/ssl/certs
SSL keys: /home/zabbix/zabbix/share/zabbix/ssl/keys
Native Jabber: no
SNMP: yes
IPMI: yes
SSH: yes
TLS: no
ODBC: yes
Linker flags: -L/usr/lib/oracle/11.2/client64//lib -L/usr/lib64 -L/usr/lib64 -L/usr/lib -L/usr/lib -rdynamic
Libraries: -lclntsh -lnnz11 -lxml2 -lodbc -lnetsnmp -lssh2 -lOpenIPMI -lOpenIPMIposix -lz -lpthread -levent -lcurl -lm -ldl -lresolv -lpcre
Configuration file: /home/zabbix/zabbix/etc/zabbix_server.conf
External scripts: /home/zabbix/zabbix/share/zabbix/externalscripts
Alert scripts: /home/zabbix/zabbix/share/zabbix/alertscripts
Modules: /home/zabbix/zabbix/lib/modules

Enable proxy: no

Enable agent: yes
Agent details:
TLS: no
Linker flags: -rdynamic
Libraries: -lz -lpthread -lcurl -lm -ldl -lresolv -lpcre
Configuration file: /home/zabbix/zabbix/etc/zabbix_agentd.conf
Modules: /home/zabbix/zabbix/lib/modules

Enable Java gateway: yes
Java gateway details:
Java compiler: javac
Java archiver: jar

LDAP support: no
IPv6 support: yes

***********************************************************
* Now run 'make install' *
* *
* Thank you for using Zabbix! *
* <http://www.zabbix.com> *
***********************************************************

安装
make && make install

make[2]: Entering directory `/source/zabbix-4.2.1/misc'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/source/zabbix-4.2.1/misc'
make[1]: Leaving directory `/source/zabbix-4.2.1/misc'
make[1]: Entering directory `/source/zabbix-4.2.1'
make[2]: Entering directory `/source/zabbix-4.2.1'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/source/zabbix-4.2.1'
make[1]: Leaving directory `/source/zabbix-4.2.1'
[root@zbx01 zabbix-4.2.1]#

建软连接
ln -s /home/zabbix/zabbix/etc /etc/zabbix

配置zabbix服务
修改zabbix.conf 配置文件
vi /etc/zabbix/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
DBHost=xxx.xxx.xxx.xxx
DBName=zabbix
DBUser=zabbix
Password=zabbix
DBPort=1521
Timeout=4
LogSlowQueries=3000

修改php.ini(sed不太会用的使用vim进行手动改)
sed -i 's@;date.timezone =@date.timezone = Asia/Shanghai@g' /etc/php.ini
sed -i 's@max_execution_time = 30@max_execution_time = 300@g' /etc/php.ini
sed -i 's@post_max_size = 8M@post_max_size = 32M@g' /etc/php.ini
sed -i 's@max_input_time = 60@max_input_time = 300@g' /etc/php.ini
sed -i 's@;ambstring.func_overload = 0@ambstring.func_overload = 2@g' /etc/php.ini
sed -i 's@upload_max_filesize = 2M@upload_max_filesize = 32M@g' /etc/php.ini
sed -i "s@memory_limit = 128M@memory_limit = 128M@g" /etc/php.in

添加zabbix服务启动及开机启动
cp /home/zabbix-3.2.3/misc/init.d/fedora/core5/zabbix_server /etc/init.d/
cp /home/zabbix-3.2.3/misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/
sed -i "s@ZABBIX_BIN=\"/usr/local/sbin/zabbix_server\"@ZABBIX_BIN=\"/home/zabbix/sbin/zabbix_server\"@g" /etc/init.d/zabbix_server
sed -i "s@ZABBIX_BIN=\"/usr/local/sbin/zabbix_agentd\"@ZABBIX_BIN=\"/home/zabbix/sbin/zabbix_agentd\"@g" /etc/init.d/zabbix_agentd
chkconfig --add zabbix_server
chkconfig --add zabbix_agentd
chkconfig zabbix_server on
chkconfig zabbix_agentd on

设置运行权限
chmod 700 /etc/init.d/zabbix_*

启动httpd服务
将zabbix 的php文件拷贝到 httpd 的 根路径/var/www/html/下
cp -r /home/zabbix/zabbix-4.2.1/frontends/php/* /var/www/html/zabbix/
chmod 777 /var/www/html/conf

启动服务 service httpd restart

进入http://IP/

登陆用户: Admin/zabbix

数据库自启:
[oracle@zbx01 ~]$ sqlplus / as sysdba
SQL> startup  #开启数据库

[oracle@zbx01 bin]$ lsnrctl start
[oracle@zbx01 bin]$ /etc/oratab
zbx01:/u01/app/oracle/product/11.2.0/db_1:Y #默认N改成Y
[oracle@zbx01 bin]$ dbstart ${ORACLE_HOME}
Processing Database instance "zbx01": log file /u01/app/oracle/product/11.2.0/db_1/startup.log

[root@zbx01 ~]# cat /etc/rc.local
su - oracle -lc "sh /home/oracle/start.sh"
[root@zbx01 ~]# cat /home/oracle/start.sh
source ~/.bash_profile
dbstart ${ORACLE_HOME}
lsnrctl start

附加: 修改http和php-fpm进程用户
https://blog.csdn.net/qq_14824885/article/details/84197579

zabbix+oracle 分离做法
zabbix安装端不需要安装oracle, 只需要安装oracle client即可. 在配置web页面时填写dbname应该填写数据库端的实例明/配置文件的dbname一样

zabbix+oracle环境部署的更多相关文章

  1. Oracle 环境部署 以及数据库创建 ,用户新建和权限分配

    1.右键我的电脑--->属性--->高级系统设置 2.环境变量---->新建 总共配置三个变量 (1)变量名 ORACLE_HOME 变量值 G:\app\TH\product\11 ...

  2. 利用Docker快速部署Oracle环境

    工作中需要频繁使用Oracle环境,但是每次搭建起来比较消耗时间,本想通过虚拟机模板的方式来快速安装oracle vm,但是每次改ip等环境也很耗时,因此想到docker中有没有已经做好的images ...

  3. Linux下rsyslog日志收集服务环境部署记录【转】

    rsyslog 可以理解为多线程增强版的syslog. 在syslog的基础上扩展了很多其他功能,如数据库支持(MySQL.PostgreSQL.Oracle等).日志内容筛选.定义日志格式模板等.目 ...

  4. zabbix监控服务部署

    目录 zabbix监控服务部署 1. zabbix介绍 1.1 zabbix的组件 1.2 zabbix的进程 1.3 zabbix常用术语 2. zabbix工作原理 3. zabbix监控架构 4 ...

  5. Zabbix 监控系统部署

    Zabbix 监控系统部署 实验环境 Zabbix server:RHEL8 ip:192.168.121.10 一.关闭防火墙和selinux [root@Zabbix-server ~]# sys ...

  6. Oracle安装部署,版本升级,应用补丁快速参考

    一.Oracle安装部署 1.1 单机环境 1.2 Oracle RAC环境 1.3 Oracle DataGuard环境 1.4 主机双机 1.5 客户端部署 二.Oracle版本升级 2.1 单机 ...

  7. Web应用之LAMP源码环境部署

    一.LAMP环境的介绍 1.LAMP环境的重要性 思索许久,最终还是决定写一篇详细的LAMP的源码编译安装的实验文档,一来是为了给自己一个交代,把技术进行系统的归纳,将技术以极致的形式呈现出来,做为一 ...

  8. Linux下smokeping网络监控环境部署记录

    smokeping是一款监控网络状态和稳定性的开源软件(它是rrdtool的作者开发的),通过它可以监控到公司IDC的网络状况,如延时,丢包率,是否BGP多线等:smokeping会向目标设备和系统发 ...

  9. ubuntu12.04+hadoop2.2.0+zookeeper3.4.5+hbase0.96.2+hive0.13.1伪分布式环境部署

    目录: 一.hadoop2.2.0.zookeeper3.4.5.hbase0.96.2.hive0.13.1都是什么? 二.这些软件在哪里下载? 三.如何安装 1.安装JDK 2.用parallel ...

  10. 【Xamarin开发 Android 系列 1】环境部署搭建

    原文:[Xamarin开发 Android 系列 1]环境部署搭建 开篇自然先扯一段,近几年移动互联网如果熊猫零食一样,蔓延迅速.楼主身为一个微软忠实的粉丝,无奈,老爹不给力.Silverlight开 ...

随机推荐

  1. 【解惑】时间规划,Linq的Aggregate函数在计算会议重叠时间中的应用

    在繁忙的周五,小悦坐在会议室里,面前摆满了各种文件和会议安排表.她今天的工作任务是为公司安排下周的50个小会议,这让她感到有些头疼.但是,她深吸了一口气,决定耐心地一个一个去处理. 首先,小悦仔细地收 ...

  2. Modbus动态链接库供多语言使用 | Go

    Modbus协议控制动态链接库 应用场景 基于各门语言都有各自的modbus协议库,且良莠不齐,而且在具体的框架下可能存在版本依赖问题, 而且对modbus协议存在比较多的细节处理,可以查看modbu ...

  3. Python正则表达式——常用re正则表达式集合

    文章目录 一.校验数字的表达式 二.校验字符的表达式 三.特殊需求表达式 一.校验数字的表达式 数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^ ...

  4. 2023 Visual Studio Code 插件推荐:18 个提高开发效率的常用插件

    Visual Studio Code (简称VSCode) 是一款强大的开源代码编辑器,它拥有众多功能强大的扩展插件,使得开发者可以根据自己的需求来定制编辑器的功能和外观.在本文中,我们将分享一些非常 ...

  5. 使用fontforge进行字体拆分

    fontforge官方网站 游戏开发为了节省内存和资源下载量,需要把字体不用的字删掉,或者拆成多个字体逐级加载,批量操作用UI就比较难搞了,用fontforge搞起来比较顺手 安装fontforge后 ...

  6. 字符串匹配|kmp笔记

    很久之前学的了. 我很懒,不太喜欢画图. 做个笔记回忆一下: kmp 朴素比对字符串 所谓字符串匹配,是这样一种问题:"字符串 T 是否为字符串 S 的子串?如果是,它出现在 S 的哪些位置 ...

  7. 前端工程化&&自动化部署&&model抽离

    你不知道的前端 MVVM 模式中的数据层(万字长文,教你造轮子) 实现了 Model 层抽离的全部想法, 后端返回的接口--model(错误处理,返回统一格式,洗数据,缓存)--再拿这个处理过的数据 ...

  8. MyBatis拦截器优雅实现数据脱敏

    背景 现代网络环境中,敏感数据的处理是至关重要的.敏感数据包括个人身份信息.银行账号.手机号码等,泄露这些数据可能导致用户隐私泄露.财产损失等严重后果.因此,对敏感数据进行脱敏处理是一种必要的安全措施 ...

  9. CSS属性 Position的几种定位方式

    作者:WangMin 格言:努力做好自己喜欢的每一件事 在讲几种定位方式之前,我们先来了解一下什么是普通流(normal flow)? 除非专门指定,否则所有框都在普通流中定位.普通流中元素框的位置由 ...

  10. TiDB binlog故障处理之drainer周期性罢工

    背景 前段时间用户反馈某生产环境 TiDB 集群 drainer 频繁发生故障,要么服务崩溃无法启动,要么数据跑着跑着就丢失了,很是折磨人.该集群跑的是离线分析业务,数据量20T ,v4版本,有多个 ...