python语言linux操作系统oracle环境安装
金句:如果没把握,最好先Google一下。
1、严格按照 https://oracle.github.io/odpi/doc/installation.html#linux 教程一步步做
包括下载的软件的版本,安装的位置,都按照要求准确实施
过程中要求安装 libaio ,本来是使用yum方式即可
但是采取各种方法
(1)用系统自带的yum
提示:
This system is not registered with RHN.
RHN support will be disabled.
Setting up Install Process
原因是这个linux版本并没有花钱注册RHN服务,没办法直接从官方下载
(2)换软件源
yum软件源配置文件位置为
cd /etc/yum.repos.d/
公司版本的linux对应的配置文件名称是 rhel-debuginfo.repo
先用 mv rhel-debuginfo.repo rhel-debuginfo.repo_sysbak 命令 备份
然后下载、试用了各种yum源的配置文件,包括:
wget http://docs.linuxtone.org/soft/lemp/CentOS-Base.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
等等
下载之后,都需要用 yum clean all 和 yum makecache 命令清除和生成一下本地缓存
但是,并没有什么卵用,于是尝试下载文件离线安装:
地址:https://pkgs.org/download/libaio
下载的rpm版本,直接执行
rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm
报错了:
warning: libaio-0.3.109-13.el7.x86_64.rpm: Header V3 RSA/SHA256 signature: NOKEY, key ID f4a80eb5
error: Failed dependencies:
rpmlib(FileDigests) <= 4.6.0-1 is needed by libaio-0.3.109-13.el7.x86_64
rpmlib(PayloadIsXz) <= 5.2-1 is needed by libaio-0.3.109-13.el7.x86_64
缺少依赖包
于是,根据https://blog.csdn.net/jinwufeiyang/article/details/52069498 教程的方法
执行,注意后面的两个参数是不检测依赖包和强制安装
rpm -ivh libaio-0.3.109-13.el7.x86_64.rpm --nodeps --force
结果如下:
warning: libaio-0.3.109-13.el7.x86_64.rpm: Header V3 RSA/SHA256 signature: NOKEY, key ID f4a80eb5
Preparing... ########################################### [100%]
1:libaio ########################################### [100%]
error: unpacking of archive failed: cpio: Bad magic
虽然最后还是有报错,不过从后面验证来看,算是成功了
然后,执行程序进行验证
首先,需要到新安装的python虚拟环境的/bin目录下,执行 source activate 这个指令确实是需要source来执行的,不信可以vim activate文件看看,里面第一行写着呢。如果今后有类似的文件,都可以这么效仿一下。
执行成功之后
命令提示符前面会有个新的标记 (虚拟环境名称)
例如这样:(pyenv) [root@webreport2 pyenv]#
这时候就可以执行 python3 spidey.py 了
此处插播,如果oracle客户端安装不正确的话,会报错:
执行命令:
(pyenv) [root@webreport2 oracle]# python3 /app/pyenv/spider.py 2018-09-04 2018-09-05
报错:
Traceback (most recent call last):
File "/app/pyenv/spider.py", line 229, in <module>
main(viewdate)
File "/app/pyenv/spider.py", line 93, in main
sqlresult = query('dw_user.t_ciitc_sign_dict')
File "/app/pyenv/spider.py", line 50, in query
conn = cx_Oracle.connect('dw_user/dw_user@10.1.65.118:1521/octopus_srv1')
cx_Oracle.DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be loaded: "libclntsh.so: cannot open shared object file: No such file or directory". See https://oracle.github.io/odpi/doc/installation.html#linux for help
从字面意思来看,安装错误就是找不到对应的系统文件。
此处的原因,是一开始按照网上的“野教程”实施的,另外考虑下载的客户端程序版本也不对,导致的问题。
后续严格执行 https://oracle.github.io/odpi/doc/installation.html#linux 的要求
再次执行命令:
(pyenv) [root@webreport2 pyenv]# python3 spider.py 2018-09-04 2018-09-05
报错:
Traceback (most recent call last):
File "spider.py", line 229, in <module>
main(viewdate)
File "spider.py", line 93, in main
sqlresult = query('dw_user.t_ciitc_sign_dict')
File "spider.py", line 50, in query
conn = cx_Oracle.connect('dw_user/dw_user@10.1.65.118:1521/octopus_srv1')
cx_Oracle.DatabaseError: ORA-24454: client host name is not set
这么看来,oracle客户端是正常工作了,可以反馈正确的oracle错误了。从错误来看,是主机名称配置不对。但程序里用的是ip地址。
网上找答案,参考的这篇 https://blog.csdn.net/cd_home/article/details/80309167
执行:
sudo /bin/bash -c "echo '127.0.1.1 ${HOSTNAME}' >> /etc/hosts"
再次执行命令,就正常了
(pyenv) [root@webreport2 pyenv]# python3 spider.py 2018-09-04 2018-09-05
共65家数据待导入
insert into dw_user.T_CIITC_SIGN_LOG_AREA (C_CONTENT,T_INSERT_TM) values('安邦2018-09-04日数据导入完毕','2018-09-07 11:22:13')
安邦2018-09-04日数据导入完毕
insert into dw_user.T_CIITC_SIGN_LOG_AREA (C_CONTENT,T_INSERT_TM) values('安诚2018-09-04日数据导入完毕','2018-09-07 11:22:35')
安诚2018-09-04日数据导入完毕
insert into dw_user.T_CIITC_SIGN_LOG_AREA (C_CONTENT,T_INSERT_TM) values('安华2018-09-04日数据导入完毕','2018-09-07 11:22:48')
安华2018-09-04日数据导入完毕
insert into dw_user.T_CIITC_SIGN_LOG_AREA (C_CONTENT,T_INSERT_TM) values('安联2018-09-04日数据导入完毕','2018-09-07 11:22:53')
查看 配置文件 vim /etc/hosts
多了一行
127.0.1.1 webreport2
因此可见前面所提的主机名称配置不对,是运行程序的主机的名称没有被解析(不是数据库主机),这个似乎和python程序有关。今后类似的报错也可以考虑这个方法
python语言linux操作系统oracle环境安装的更多相关文章
- Linux Centos7部署环境安装-CentOS
Linux Centos7部署环境安装-CentOS Centos7部署环境安装及Linux常用命令 centos系统下各文件夹的作用 centos7修改系统默认语言 centos7安装rz/sz命令 ...
- Linux Object-C 编译环境安装
sudo apt-get install gnustep sudo apt-get install gnustep-devel sudo apt-get install gobjc . /usr/sh ...
- 包管理 ----- Linux操作系统rpm包安装方式步骤
Linux操作系统rpm包安装方式步骤 2016年08月04日 07:00:26 阅读数:17140 转自 : http://os.51cto.com/art/201003/186467.htm 特别 ...
- 部署基于python语言的WEB发布环境
一.部署说明 1.python语言介绍 python简介 2.实验环境 实验机器:Vmware虚拟机 8核10G 网卡:桥接模式 系统:centos7.5 防火墙:关闭 Selinux:关闭 网段:1 ...
- Linux上Oracle 11g安装步骤图解
Oracle 11g下载地址: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 选 ...
- python学习之简介与环境安装
[转自]http://www.cnblogs.com/wupeiqi/articles/5433925.html --Python可以应用于众多领域 如:数据分析.组件集成.网络服务.图像处理.数值计 ...
- Python第一章概述与环境安装
Python简介 Python是一种计算机程序设计语言.是一种动态的.面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项 ...
- 学习Go语言(一)环境安装及HelloWorld
自己开发的时候,一般用Java和C#居多,偶尔也用Python做点东东. 想体验一下比较“现代”语言,思来想去就来体验一下Go语言. 闲话少叙,言归正传,首先就是环境安装,这个轻车熟路: (1)到官网 ...
- Linux操作系统RedHat6.5安装
1.说明 安装Linux操作系统Red Hat 6.5, 安装镜像为rhel-server-6.5-x86_64-dvd.iso. 2.开始安装 在BIOS里设置成从光驱启动, 服务器上电后会加载光驱 ...
- Linux 操作系统下,安装软件 apt-get、yum 的区别
Linux 操作系统主要分为两大类: RedHat系列:Redhat.Centos.Fedora等: Debian系列:Debian.Ubuntu等. yum(Yellow dog Updater, ...
随机推荐
- 图像bayer格式介绍
图像bayer格式介绍 https://zhuanlan.zhihu.com/p/72581663
- JAI 多图片合成TIF格式
因为项目需要,所以要做这么个工具类,发现了一些问题,接下来一一说明. 需要引入jai-codec-1.1.3.jar跟jai_code-1.1.3.jar. 1.判断图片格式: JPEG (jpg), ...
- Promise的几个方法解析
Promise.all 此方法在集合多个 promise 的返回结果时很有用. 输入的promise中只要有一个reject,即进入reject,否则会进入then 完成(Fulfillment):在 ...
- 理解cpu过高的逻辑思维与分析方法
工作经常碰到负载过高,cpu占有太高,系统变慢,运维通常做的第一件事就是通过top或者uptime命令来了解系统负载的情况 通常uptime后会出现三个小数,就是平均负载值,那真正的了解这个平均负载值 ...
- Mysql 非幂等性
幂等性就是指:一个幂等操作任其执行多次所产生的影响均与一次执行的影响相同. -- 幂等性在分布式高并发中很常见,如不能重复点赞.电商订单库存数要一致等. MySQL解决非幂等性常用方法: 1.乐观锁 ...
- Web Uploader上传文件
Web Uploader是百度提供的. 1:下载:http://fex.baidu.com/webuploader/(官方下载/示例) 2:使用Web Uploader文件上传需要引入三种资源:JS, ...
- 2022-04-15内部群每日三题-清辉PMP
1.由于关键路径上一个任务估计错误,项目落后于进度,项目经理应该怎么做? A.向客户解释这个问题,并告知他们预计将延期多长时间. B.要求团队成员向客户解释为什么会错误估计该任务. C.分析快速跟进或 ...
- jadx 定位方法
目录 链接参数定位 链接参数定位 通过搜索请求链接中的参数来定位函数位置,如下图所示,请求链接为 https://www.python-spider.com/api/app1,app1为链接标识,可以 ...
- 实验:利用mqtt-spring-boot-starter实现后台云服务数据采集和远程控制
1.资源地址及使用说明 https://search.maven.org/artifact/com.github.tocrhz/mqtt-spring-boot-starter/1.2.7/jar 2 ...
- Java-token生成
1. 引入jar包 <dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt< ...