1.CentOS7安装包-CentOS-7-x86_64-Everything-1611.iso
2.Oracle12c安装包-linuxx64_12201_database.zip
3.orabbix安装包-orabbix-1.2.3.zip
4.jdk安装包-jdk-8u191-linux-x64.tar.gz
自行百度,安装完成后开机配置参数。
1.# cd /etc/sysconfig/network-scripts
2.# ls
3.# vi ifcfg-ens33 --不同的机器可能名字不一样
修改或者添加如下内容,GATEWAY 在本机命名行窗口 ipconfig 查看
4.# vi /etc/selinux/config --关闭selinux SELINUX=disabled
5.# setenforce 0
6.# systemctl stop firewalld.service -- 关闭防火墙
# systemctl disable firewalld.service -- 开机禁止启动防火墙
7.安装mysql
# yum -y install mariadb-server mariadb-devel
# systemctl start mariadb.service
# mysql
8.设置数据库密码
-> use mysql
-> update user set password=password('123456');
-> flush privileges;
-> quit
# mysql -uroot -p123456;
-> create database zabbix character set utf8 collate utf8_bin;
-> grant all privileges on zabbix.* to 'zabbix'@'%' identified by '123456';
-> grant all privileges on zabbix.* to zabbix@localhost identified by '123456';
PS:这里增加两个zabbix用户是因为用zabbix用户远程连接zabbix时,会出现远程连接mysql的用户可以使用zabbix数据库,但是本机不能使用zabbix数据库,具体原因可能是创建用户授权语句有问题,后期有机会会排查原因所在。
-> flush privileges;
-> quit
完成后可以在本机和服务器用zabbix账户登陆,查看是否显示zabbix数据库。
9.安装zabbix
# rpm -i https://repo.zabbix.com/zabbix/2.2/rhel/7/x86_64/zabbix-release-2.2-1.el7.noarch.rpm
# yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix -- 此步骤会提示输入数据库密码,密码为zabbix用户的密码,但是可能执行不成功,原因是没有 create.sql.gz 文件。解决办法是进入到/usr/share/doc/zabbix-server-mysql*/create文件夹,手动导入 schema.sql、data.sql文件,远程连接的客户端可以先导入这两个文件,然后把当前的数据库导出,上传到服务器后,在create文件夹执行 # mysql -uroot -p zabbix -> 导出文件名.sql。
# vi /etc/zabbix/zabbix_server.conf
DBPassword=123456 -- DBPassword设置为zabbix用户的密码
# vi /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai -- 修改默认时区为Asia/Shanghai
# systemctl restart zabbix-server zabbix-agent httpd
# systemctl enable zabbix-server zabbix-agent httpd
# systemctl start mariadb
# systemctl enable mariadb
10.启动zabbix
http://server_ip_or_name/zabbix
PS:如果数据库地址更改,则需要修改配置文件
# vi /etc/zabbix/web/zabbix.conf.php
$DB['SERVER'] = 'NEW IPADDR'
# systemctl restart httpd
如果Zabbix server is running显示Yes,则zabbix server启动成功。下一步安装oracle。
前期准备:
如果未安装GNOME环境,则运行以下命令
# yum -y install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts
# yum -y groupinstall "X Window System"
Oracle安装需要较大的存储空间,建议分配30GB。
1.修改域名和主机名
# vi /etc/sysconfig/network
# vi /etc/hosts
2.安装依赖软件包
yum -y install binutils compat-libcap1 gcc gcc-c++ glibc
glibc-devel ksh libaio libaio-devel libgcc libstdc++
libstdc++-devel libXi libXtst make sysstat elfutils-libelf-devel
compat-libstdc++-33* -- 这些命令可能是一条命令
3.修改内核参数
# vi /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4098955264
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.wmem_default = 262144
net.core.rmem_default = 262144
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
4.创建用户和组
4.1 创建基本组和附加组
# groupadd -g 500 oinstall
# groupadd -g 501 dba
4.2 创建用户
# useradd -g oinstall -G dba oracle
4.3 给用户设置密码
# echo "123456" | passwd --stdin oracle
4.4 创建oracle家目录和创建oraInventory目录
mkdir -p /home/oracle/app/oracle
mkdir /home/oracle/app/oraInventory
4.5 更改属主和属组
# chown oracle:oinstall /home/oracle/app/oracle
# chown oracle:oinstall /home/oracle/app/oraInventory
4.6 更改Oracle目录权限
# chmod 775 /home/oracle/app/oracle
4.7 编辑Oracle环境变量
# vi /home/oracle/.bash_profile
末尾添加如下内容ORACLE_HOME路径可能与oracle安装时路径不一致
umask 022
export ORACLE_BASE=/home/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1
export ORACLE_SID=orcl
export LANG=en_US.UTF-8
export NLS_LANG="AMERICAN_AMERICA".ZHS16GBK
export PATH=$PATH:$ORACLE_HOME/bin
export DISPLAY=192.168.1.124:0.0
保存后退出执行
# source /home/oracle/.bash_profile
此处可能会出现一个问题。oracle安装成功后,执行sqlplus命令会提示 bash: sqlplus: command not found 。此时先检查.bash_profile文件中路径是否正确,如果路径正确那就是.bash_profile配置的环境变量是属于oracle用户的,在非oracle用户使用时,由于/etc/profile或者/etc/bashrc没有配置环境变量,解决办法就是在这两个文件中加入上述内容。
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.
/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取.
具体参考:https://www.cnblogs.com/VIPler/p/6838151.html
4.8 编辑Oracle安全认证模块
# vi /etc/pam.d/login
末尾加入以下内容
session required /lib64/security/pam_limits.so
session required pam_limits.so
4.9 编辑Oracle资源限制
# vi /etc/security/limits.conf
#End of file --文件末尾加入
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
4.10 编辑全局环境变量
# vi /etc/profile
if [ $USER = "oracle" ];then
if [ $SHELL = "/bin/ksh" ];then
ulimit -p 16384
ulimit -p 65536
else
ulimit -u 16384 -n 65536
fi
fi
5.安装Oracle数据库
5.1 上传oracle软件包至 /home/oracle
5.2 将oracle家目录的软件包属主和属组改为oracle和oinstall
# chown oracle:oinstall /home/oracle/linuxx64_12201_database
5.3 切换为oracle用户
# su oracle
5.4 解压软件包
# unzip linuxx64_12201_database
PS:如果未找到unzip命令,则执行 # yum install unzip 安装unzip插件
5.5 真机启动GNOME桌面环境,并且切换至oracle用户
PS:不知道什么原因,用oracle用户登陆GNOME桌面,会一直黑屏,解决办法就是新建一个用户,并赋予root权限
# adduser tommy //添加一个名为tommy的用户
# passwd tommy //修改密码Changing password for user tommy.
New UNIX password: //在这里输入新密码
Retype new UNIX password: //再次输入新密码
passwd: all authentication tokens updated successfully.# vi /etc/sudoers //修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
tommy ALL=(ALL) ALL
# systemctl set-default multi-user.target //设置成命令模式
# systemctl set-default graphical.target //设置成图形模式
重启系统 # reboot
用有root权限的用户登陆可视化界面,并且在命令行切换至oracle用户 # su oracle
5.6 执行安装脚本
# ./database/runInstaller
5.7 安装需要注意的选项
初试页面不接受更新 -> 创建和配置数据库 -> 服务器类 -> 单实例数据库安装 -> 高级安装 -> 企业版 -> 默认安装路径(需要注意是否与上面配置的环境变量路径一致) -> 一般用途/事务处理 -> 指定Oracel全局数据库名和服务标识符为:orcl(勾选选项) -> 在内存页中勾选启用自动内存管理,在字符集页中选择使用Unicode(AL3....) -> 使用默认选择的File system数据库系统即可 -> 不使用集中云控制管理 -> 选择开启恢复区域存储,默认路径即可 -> 选择第二个使用同一密码,也可以为不同用户设置不同密码 -> 设置数据库管理员组dba,数据库操作组oinstall -> 若提示有错误,是因为安装软件包的版本不一样或内核参数有问题或少依赖软件,需要解决报错,也可以勾选选择忽略 -> 开始安装过程,安装过程中会需要执行两个shell脚本,第二个shell脚本需要两次输入,均直接回车键使用默认值(用root用户执行)
5.8 网页测试
https://(主机名或者IP):5500/em
1.使用oracle管理员登陆数据库
# sqlplus sys/PASSWORD as sysdba
PS:如果需要启动oracle,执行以下命令
# su oracle
$ lsnrctl start
$ lsnrctl status
SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup
创建用户
-> CREATE USER ZABBIX IDENTIFIED BY ZABBIX DEFAULT TABLESPACE SYSTEM TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;
此命令可能执行不成功,原因可能是11g与12c语法不同,但是没有深究。执行 -> alter session set "_ORACLE_SCRIPT"=true;但是实际生产环境不建议使用。
授予权限
-> 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;
如果当前的oracle版本是11g的话,还需要添加如下的语句开放acl的访问控制,否则在监控的过程中有部份内容无法正常显示(例于数据库版本,数据库文件大小等)。
-> exec dbms_network_acl_admin.create_acl(acl => 'resolve.xml',description => 'resolve acl', principal =>'ZABBIX', is_grant => true, privilege => 'resolve');
-> exec dbms_network_acl_admin.assign_acl(acl => 'resolve.xml', host =>'*');
-> commit;
授权完成后可以使用zabbix用户登录测试下:
# sqlplus ZABBIX/ZABBIX
2. 上传orabbix安装包,创建目录
# mkdir /opt/orabbix/
# cd /opt/orabbix/
# unzip orabbix-1.2.3.zip
3.得到配置文件/opt/orabbix/conf/config.props
# cp /opt/orabbix/conf/config.props.sample /opt/orabbix/conf/config.props
4.修改配置文件
# vi /opt/orabbix/conf/config.props
#comma separed list of Zabbix servers
ZabbixServerList=ZabbixServer1ZabbixServer1.Address=192.168.1.124
ZabbixServer1.Port=10051#pidFile
OrabbixDaemon.PidFile=./logs/orabbix.pid
#frequency of item's refresh
OrabbixDaemon.Sleep=300
#MaxThreadNumber should be >= than the number of your databases
OrabbixDaemon.MaxThreadNumber=100#put here your databases in a comma separated list
DatabaseList=orcl //DatabaseList的值未HOSTNAME配置的值,具体查看 # vi /etc/sysconfig/network#Configuration of Connection pool
#if not specified Orabbis is going to use default values (hardcoded)
#Maximum number of active connection inside pool
DatabaseList.MaxActive=10
#The maximum number of milliseconds that the pool will wait
#(when there are no available connections) for a connection to be returned
#before throwing an exception, or <= 0 to wait indefinitely.
DatabaseList.MaxWait=100
DatabaseList.MaxIdle=1#define here your connection string for each database
orcl.Url=jdbc:oracle:thin:@192.168.1.124:1521:orcl //此处orcl为数据库实例
orcl.User=ZABBIX
orcl.Password=ZABBIX
#Those values are optionals if not specified Orabbix is going to use the general values
orcl.MaxActive=10
orcl.MaxWait=100
orcl.MaxIdle=1
orcl.QueryListFile=./conf/query.props
查看数据库实例可使用以下命令
-> select instance_name from v$instance; //查看实例名
-> select global_name from global_name; //查看服务名
5.将启动脚本拷贝到/etc/init.d/目录中,并且授予相关文件的可执行权限
# cp /opt/orabbix/init.d/orabbix /etc/init.d/
# chmod +x /etc/init.d/orabbix /opt/orabbix/run.sh
6.启动orabbix
# /etc/init.d/orabbix start
# vim /opt/orabbix/logs/orabbix.log //查看启动日志
7.查看服务端口
# netstat -anutlp | grep orabbix
8.导入orabbix的模板文件
/opt/orabbix/template 目录下,Orabbix_export_full.xml Orabbix_export_graphs.xml Orabbix_export_items.xml Orabbix_export_triggers.xml 文件
9.新建主机加入模板