[转帖]【杂学第十二篇】oracledb_exporter监听oracle19c数据库出现libclntsh、ORA-12162、ORA-00942异常解决

第十,二篇,oracledb,exporter,监听,oracle19c,数据库,出现,libclntsh,ora,异常,解决 · 浏览次数 : 0

小编点评

## Monitoring System Log Output Configuration **1. Error while loading shared libraries:** ```bash ./oraceldb_exporter: error while loading shared libraries: libclntsh.so.18.1:can not shared object file: No such file or directory ``` **Solution:** * Ensure the `LD_LIBRARY_PATH` environment variable is set correctly. * Make sure the `oracle` binary is located in the `LD_LIBRARY_PATH`. **2. ORA-12162 error:** ```bash Error pinging oracle: ORA-12162:TNS:net service name is incorrectly specified ``` **Solution:** * Check the spelling of the `TNS_ADMIN` variable value. * Verify that the `TNS_ADMIN` variable points to the correct Oracle network configuration file. **3. ORA-00942 error:** ```bash Error scraping for sessions ... : ORA-00942: table or view does not exist ``` **Solution:** * Check the spelling of the `DATA_SOURCE_NAME` variable. * Verify that the corresponding data source actually exists. * Ensure that the `ORACLE_SID` variable points to the correct Oracle database server. **Additional Tips:** * Refer to the official documentation for the `oracledb_exporter` and Oracle database configuration. * Consult the forums or online communities for solutions to specific issues encountered. * Test the configuration on a non-production environment before applying it to the production system.

正文

http://www.taodudu.cc/news/show-4845374.html


docker run -d --name oracledb_exporter  --restart=always -p 9161:9161 -e DATA_SOURCE_NAME='sys/Test20131127@10.110.80.116/oradb as sysdba' ghcr.io/iamseth/oracledb_exporter:0.4.3

SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
SQLNET.ALLOWED_LOGON_VERSION=8

# export Oracle location:
export DATA_SOURCE_NAME=system/password@oracle-sid
# or using a complete url:
export DATA_SOURCE_NAME=user/password@//myhost:1521/service
# 19c client for primary/standby configuration
export DATA_SOURCE_NAME=user/password@//primaryhost:1521,standbyhost:1521/service
# 19c client for primary/standby configuration with options
export DATA_SOURCE_NAME=user/password@//primaryhost:1521,standbyhost:1521/service?connect_timeout=5&transport_connect_timeout=3&retry_count=3
# 19c client for ASM instance connection (requires SYSDBA)
export DATA_SOURCE_NAME=user/password@//primaryhost:1521,standbyhost:1521/+ASM?as=sysdba
# Then run the exporter
/path/to/binary/oracledb_exporter --log.level error --web.listen-address 0.0.0.0:9161



export DATA_SOURCE_NAME=sys/Test20131127@oradb

 

背景

最近帮公司安装监控系统,就是prometheus+grafana+各种exporter
然后启动oracledb_exporter的时候,出现了许多问题
最后一一都解决了,记录下,希望帮助下一个为此烦恼的孩子

对了,你装监控组件,一定要配置好组件的日志输出设置

运行环境:centos 7.5
数据库版本:19c
exporter版本:0.2.9

确保oracledb_exporter的启动用户与oracle启动用户保持一致,这一点尤为重要

问题1:error while load shared libraries

具体错误提示

./oraceldb_exporter: error while loading shared libraries: libclntsh.so.18.1:can not shared object file: No such file or directory

解决方案

将oracle的信息加入到环境变量中,运行如下命令
vim ~/.bash_profile

# oracle环境变量
export ORACLE_SID=ORCLCDB
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
# oracledb_exporter环境变量
export DATA_SOURCE_NAME=<用户名><密码>@<数据库服务名>
export LD_LIBRARY_PATH=$ORACLE_HOME/lib

修改bash_profile完成后,执行source ~/.bash_profile
下面这步由root用户执行
然后编辑/etc/ld.so.conf文件,将LD_LIBRARY_PATH的路径加入最后一行
/opt/oracle/product/19c/dbhome_1/lib
再执行ldconfig应用配置

问题2:ORA-12162

具体错误提示

Error pinging oracle: ORA-12162:TNS:net service name is incorrectly specified

解决方案

增加一个TNS_ADMIN环境变量
vim ~/.bash_profile

# oracle环境变量
export ORACLE_SID=ORCLCDB
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
# oracledb_exporter环境变量
export TNS_ADMIN=$ORACLE_HOME/network/admin
export DATA_SOURCE_NAME=<用户名><密码>@<数据库服务名>
export LD_LIBRARY_PATH=$ORACLE_HOME/lib

修改bash_profile完成后,执行source ~/.bash_profile

问题3:ORA-00942

具体错误提示

Error scraping for sessions ... : ORA-00942: table or view does not exist

解决方案

修改一个DATA_SOURCE_NAME环境变量为system用户
vim ~/.bash_profile

# oracle环境变量
export ORACLE_SID=ORCLCDB
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
# oracledb_exporter环境变量
export TNS_ADMIN=$ORACLE_HOME/network/admin
export DATA_SOURCE_NAME=system/system的密码
export LD_LIBRARY_PATH=$ORACLE_HOME/lib

修改bash_profile完成后,执行source ~/.bash_profile
确保oracledb_exporter的启动用户与oracle启动用户保持一致,这一点尤为重要

与[转帖]【杂学第十二篇】oracledb_exporter监听oracle19c数据库出现libclntsh、ORA-12162、ORA-00942异常解决相似的内容:

[转帖]【杂学第十二篇】oracledb_exporter监听oracle19c数据库出现libclntsh、ORA-12162、ORA-00942异常解决

http://www.taodudu.cc/news/show-4845374.html docker run -d --name oracledb_exporter --restart=always -p 9161:9161 -e DATA_SOURCE_NAME='sys/Test2013112

[转帖]关于Bonree ONE 2.0,那些运维人不知道的一切

http://blog.itpub.net/31545813/viewspace-2924710/ 近年来,伴随着数字经济的不断深入,以云原生、Devops等为代表的新技术快速发展。传统的IT监控工具多样、分散、庞杂,并且数据种类杂、缺乏关联性,导致整个IT系统不具备真正的可观测性。那么,如何快速发

[转帖]

Linux ubuntu20.04 网络配置(图文教程) 因为我是刚装好的最小系统,所以很多东西都没有,在开始配置之前需要做下准备 环境准备 系统:ubuntu20.04网卡:双网卡 网卡一:供连接互联网使用网卡二:供连接内网使用(看情况,如果一张网卡足够,没必要做第二张网卡) 工具: net-to

[转帖]

https://cloud.tencent.com/developer/article/2168105?areaSource=104001.13&traceId=zcVNsKTUApF9rNJSkcCbB 前言 Redis作为高性能的内存数据库,在大数据量的情况下也会遇到性能瓶颈,日常开发中只有时刻

[转帖]ISV 、OSV、 SIG 概念

ISV 、OSV、 SIG 概念 2022-10-14 12:29530原创大杂烩 本文链接:https://www.cndba.cn/dave/article/108699 1. ISV: Independent Software Vendors “独立软件开发商”,特指专门从事软件的开发、生产、

[转帖]Redis 7 参数 修改 说明

2022-06-16 14:491800原创Redis 本文链接:https://www.cndba.cn/dave/article/108066 在之前的博客我们介绍了Redis 7 的安装和配置,如下: Linux 7.8 平台 Redis 7 安装并配置开机自启动 操作手册https://ww

[转帖]HTTPS中间人攻击原理

https://www.zhihu.com/people/bei-ji-85/posts 背景 前一段时间,公司北京地区上线了一个HTTPS防火墙,用来监听HTTPS流量。防火墙上线之前,邮件通知给管理层,我从我老大那里听说这个事情的时候,说这个有风险,然后意外地发现,很多人原来都不知道HTTPS防

[转帖]关于字节序(大小端)的一点想法

https://www.zhihu.com/people/bei-ji-85/posts 今天在一个技术群里有人问起来了,当时有一些讨论(不完全都是我个人的观点),整理一下: 为什么网络字节序(多数情况下)是大端? 早年设备的缓存很小,先接收高字节能快速的判断报文信息:包长度(需要准备多大缓存)、地

[转帖]awk提取某一行某一列的数据

https://www.jianshu.com/p/dbcb7fe2da56 1、提取文件中第1列数据 awk '{print $1}' filename > out.txt 2、提取前2列的文件 awk `{print $1,$2}' filename > out.txt 3、打印完第一列,然后打

[转帖]awk 中 FS的用法

https://www.cnblogs.com/rohens-hbg/p/5510890.html 在openwrt文件 ar71xx.sh中 查询设备类型时,有这么一句, machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /machine/ {print $2}' /