Lepus监控之Oracle配置
1.安装cx_Oracle
a.官网下载客户端组件包
oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm
oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm
oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86_64.rpm
b.使用rpm命令安装上面给的三个包
rpm -ivh oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm
rpm -ivh oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86_64.rpm
rpm -ivh oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm
c.配置系统环境变量
vi ~/.bash_profile
添加:
export LD_LIBRARY_PATH=/usr/lib/oracle/12.2/client64/lib/:$LD_LIBRARY_PATH
source ~/.bash_profile ##生效
vi /etc/ld.so.conf.d/oracle.conf
添加:
/usr/lib/oracle/12.2/client64/lib/
执行ldconfig ##生效
vi /etc/profile.d/oracle.sh
添加:
export ORACLE_HOME=/usr/lib/oracle/12.2/client64
export PATH=$PATH:$ORACLE_HOME/bin
export PATH=$PATH:$ORACLE_HOME/lib
chmod +x /etc/profile.d/oracle.sh
/etc/profile.d/oracle.sh ##生效
ln -s /usr/include/oracle/12.2/client64 $ORACLE_HOME/include
ln -s /usr/lib/oracle/12.2/client64/lib/libclntsh.so.12.1 libclntsh.so.11.1 ##否则安装cx_Oracle会报错
检查环境是否配置完成:ls $ORACLE_HOME
d.下载cx_Oracle-5.1.2.tar.gz
tar -xzvf cx_Oracle-5.1.2.tar.gz
cd cx_Oracle-5.1.2
python setup.py install
e.验证
[root@lepus lepus]# python
Python 2.7.5 (default, Jul 13 2018, 13:06:57)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cx_Oracle
>>>
2.登录被监控数据库创建监控账号
create user lepus_monitor identified by "root123";
grant connect,resource to lepus_monitor;
grant select on v_$parameter to lepus_monitor ;
grant select on v_$sysstat to lepus_monitor ;
grant select on v_$instance to lepus_monitor ;
grant select on v_$database to lepus_monitor ;
grant select on product_component_version to lepus_monitor ;
grant select on v_$session to lepus_monitor ;
grant select on v_$dataguard_stats to lepus_monitor ;
grant select on dba_data_files to lepus_monitor ;
grant select on dba_free_space to lepus_monitor ;
3.Lepus oracle驱动验证
[root@lepus lepus]# python test_driver_oracle.py
Oracle python drivier is ok!
4.登录监控平台,新建Oracle监控

5.监控平台执行验证
[root@lepus lepus]# python check_oracle.py
2018-11-26 13:34:15 [INFO] check oracle controller start.
2018-11-26 13:34:16 [INFO] check oracle controller finished.
[root@lepus lepus]#

附上python连接Oracle测试脚本
方法一:
import cx_Oracle
dsn_tnsstr = cx_Oracle.makedsn('10.1.21.31','1521', 'pdb1')
#dsn_tns = dsn_tnsstr.replace('SID', 'SERVICE_NAME')
username="lepus_monitor"
userpwd="root123"
conn = cx_Oracle.connect(username,userpwd,dsn_tns)
sql="select FILE_NAME,TABLESPACE_NAME from dba_data_files"
curs = conn.cursor()
result = curs.execute(sql)
g = lambda k:"%-8s" % k
i=1
for row in result.fetchmany(2):
print str(i)+'\t',
for k in map(g,row):
print k+'\t',
i+=1
curs.close() 方法二:
import cx_Oracle
host="10.1.21.31"
port="1521"
dsn="pdb1"
url=host+':'+port+'/'+dsn
#dsn_tnsstr = cx_Oracle.makedsn('10.1.21.31','1521', 'pdb1')
#dsn_tns = dsn_tnsstr.replace('SID', 'SERVICE_NAME')
username="lepus_monitor"
userpwd="root123"
#conn = cx_Oracle.connect(username,userpwd,dsn_tns)
conn=cx_Oracle.connect(username,userpwd,url)
sql="select FILE_NAME,TABLESPACE_NAME from dba_data_files"
curs = conn.cursor()
result = curs.execute(sql)
g = lambda k:"%-8s" % k
i=1
for row in result.fetchmany(2):
print str(i)+'\t',
for k in map(g,row):
print k+'\t',
i+=1
curs.close()
quit()
Lepus监控之Oracle配置的更多相关文章
- Lepus监控之SQLServer配置(后续整理)
1.安装pymssql模块 1-1.环境准备: 1-1-1.unixODBC安装 yum install unixODBC unixODBC-devel -y 1-1-2.freetds安装下载 fr ...
- Lepus监控之安装部署
PHP和Python都是跨平台的语言,所以理论上系统应该可以支持在不同的平台上运行.但是由于时间和精力以及资源有限,目前天兔系统只测试完善了Centos/RedHat系统的支持.我们目前提供的技术支持 ...
- Oracle配置tcps加密协议
1.Oracle用户下操作,创建证书 mkdir /home/oracle/wallet orapki wallet create -wallet "/home/oracle/wallet& ...
- Tools下的mdscongiguer 文件中 43行 oracle 配置 发现需要连接库 -lclntsh libclntsh.so 库是个什么东西呢?
Tools下的mdscongiguer 文件中 43行 oracle 配置 发现需要连接库 -lclntsh libclntsh.so 库是个什么东西呢? 分想一个知乎网 ...
- ORACLE配置tnsnames.ora文件实例
ORACLE配置tnsnames.ora文件实例客户机为了和服务器连接,必须先和服务器上的监听进程联络.ORACLE通过tnsnames.ora文件中的连接描述符来说明连接信息.一般tnsnames. ...
- ganglia监控hadoop2.0配置方法
ganglia监控hadoop2.0配置方法前提:hadoop2.0集群已安装ganglia监控工具第一步:Hadoop用户登录集群每一个节点,修改文件:vi /opt/hadoop-2.0.0-cd ...
- oracle 配置服务端
oracle 配置服务端,类似我们配置java环境一样 防止乱码的配置: 变量名:NLS_LANG 变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK 选择数据库的配置(重要) ...
- oracle 配置 自启动 和 关闭
今天在看oracle自启动脚本,突然有点时间,总结一下!!! 第一次写博客,大家随便看看就好,有错误麻烦提醒下,不喜欢别喷,主要是锻炼自己,形成写博客的好习惯. 刚毕业,现在还没转正,在干运维和自学d ...
- ORACLE 配置连接远程数据库
ORACLE配置tnsnames.ora文件实例 客户机为了和服务器连接,必须先和服务器上的监听进程联络.ORACLE通过tnsnames.ora文件中的连接描述符来说明连接信息.一般tnsnames ...
随机推荐
- python全栈开发笔记---数据类型--综合练习题
一.有两个列表 l1 = [11,22,33] l2 = [22,33,44] a. 获取内容相同的元素列表 for item in l1: if item in l2: print(it ...
- [Leetcode 46]全排列 Permutations 递归
[题目] Given a collection of distinct integers, return all possible permutations. 数组的组合情况. Input: [1,2 ...
- 原生js手风琴效果
//js代码 //获取li var list = document.getElementsByTagName("li")[0]; //遍历 排他 for( var i=0;i&l ...
- 1093 字符串A+B
给定两个字符串 A 和 B,本题要求你输出 A+B,即两个字符串的并集.要求先输出 A,再输出 B,但重复的字符必须被剔除. 输入格式: 输入在两行中分别给出 A 和 B,均为长度不超过 106 ...
- Codeforces Round #309 (Div. 1) A(组合数学)
题目:http://codeforces.com/contest/553/problem/A 题意:给你k个颜色的球,下面k行代表每个颜色的球有多少个,规定第i种颜色的球的最后一个在第i-1种颜色的球 ...
- Verilog强制激励语法
Verilog强制激励语法 1. 在一个过程块中,可以用两种不同的方式对信号变量或表达式进行连续赋值. 过程连续赋值往往是不可以综合的,通常用在测试模块中. 两种方式都有各自配套的命令来停止赋值过程. ...
- keil的51项目创建
keil的51项目创建步骤: 工程创建: Project->New uVision Project 项目命名:如...test CPU->Atmel::AT89C51 文件创建: File ...
- FreeSWITCH与FreeSWITCH对接
(主机A ---> 主机B)192.168.100.A主机:修改/usr/local/freeswitch/conf/dialplan/default.xml 10 <ex ...
- phpMyAdmin 尝试连接到 MySQL 服务器,但服务器拒绝连接 解决办法
phpMyAdmin 尝试连接到 MySQL 服务器,但服务器拒绝连接.您应该检查配置文件中的主机.用户名和密码,并确认这些信息与 MySQL 服务器管理员所给出的信息一致. 原因有可能是因为修改了m ...
- Dubbo的Filter实战--整合Oval校验框架
前言: 其实很早之前就想写一篇关于oval和具体服务相整合的常见做法, 并以此作为一篇笔记. 趁现在项目中间空闲期, 刚好对dubbo的filter有一些了解. 因此想结合两者, 写一下既结合校验框架 ...