金句:如果没把握,最好先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环境安装的更多相关文章

  1. Linux Centos7部署环境安装-CentOS

    Linux Centos7部署环境安装-CentOS Centos7部署环境安装及Linux常用命令 centos系统下各文件夹的作用 centos7修改系统默认语言 centos7安装rz/sz命令 ...

  2. Linux Object-C 编译环境安装

    sudo apt-get install gnustep sudo apt-get install gnustep-devel sudo apt-get install gobjc . /usr/sh ...

  3. 包管理 ----- Linux操作系统rpm包安装方式步骤

    Linux操作系统rpm包安装方式步骤 2016年08月04日 07:00:26 阅读数:17140 转自 : http://os.51cto.com/art/201003/186467.htm 特别 ...

  4. 部署基于python语言的WEB发布环境

    一.部署说明 1.python语言介绍 python简介 2.实验环境 实验机器:Vmware虚拟机 8核10G 网卡:桥接模式 系统:centos7.5 防火墙:关闭 Selinux:关闭 网段:1 ...

  5. Linux上Oracle 11g安装步骤图解

    Oracle 11g下载地址: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 选 ...

  6. python学习之简介与环境安装

    [转自]http://www.cnblogs.com/wupeiqi/articles/5433925.html --Python可以应用于众多领域 如:数据分析.组件集成.网络服务.图像处理.数值计 ...

  7. Python第一章概述与环境安装

    Python简介 Python是一种计算机程序设计语言.是一种动态的.面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项 ...

  8. 学习Go语言(一)环境安装及HelloWorld

    自己开发的时候,一般用Java和C#居多,偶尔也用Python做点东东. 想体验一下比较“现代”语言,思来想去就来体验一下Go语言. 闲话少叙,言归正传,首先就是环境安装,这个轻车熟路: (1)到官网 ...

  9. Linux操作系统RedHat6.5安装

    1.说明 安装Linux操作系统Red Hat 6.5, 安装镜像为rhel-server-6.5-x86_64-dvd.iso. 2.开始安装 在BIOS里设置成从光驱启动, 服务器上电后会加载光驱 ...

  10. Linux 操作系统下,安装软件 apt-get、yum 的区别

    Linux 操作系统主要分为两大类: RedHat系列:Redhat.Centos.Fedora等: Debian系列:Debian.Ubuntu等. yum(Yellow dog Updater, ...

随机推荐

  1. Vmware workstation虚拟机导入到esxi虚拟机

    VMware Workstation 与 ESXi 的主要区别 VMware Workstation是直接在windows系统下安装软件,安装后再在软件里面安装虚拟机,而ESXi相当于一个linux操 ...

  2. C# string的2个特殊方法

    1. Strings.Join 方法:用指定的连接符连接一个数组中包含的若干子字符串创建的字符串.e.g List<string> list = new List<string> ...

  3. -bash: ./mlnxofedinstall: /usr/bin/perl: bad interpreter: No such file or directory

    -bash: ./mlnxofedinstall: /usr/bin/perl: bad interpreter: No such file or directory 解决办法:安装相关的环境即可 输 ...

  4. 2022-04-13内部群每日三题-清辉PMP

    1项目经理正在执行一个资源有限,期限严格的引人注目的项目.该项目目前落后于进度,对资源平衡的审查显示,一些资源被过度分配.请问项目经理应该怎么办? A.重新分配来自另一个项目不必要的资源 B.为延迟的 ...

  5. Finder是什么?Mac下的Finder有什么用?

    Finder是什么?Mac OS X系统下的Finder即相当于Windows系统下的"我的电脑"资源管理器.通过Finder,您能查看Mac 上几乎全部内容,包括应⽤软件.硬盘. ...

  6. idea引入ojdbc包报错

    网上下载或者让同事传两个jar过来,ojdbc6-11.2.0.7.0.jar 以及jconn3.0.jar 放入同一个文件夹中: 在此文件夹中cmd如下:回车,进入cmd控制台. 输入如下两个命令: ...

  7. secureCRT设置配色方案

    https://blog.csdn.net/qq_42672770/article/details/81301494

  8. HCIA-ICT实战基础09-远程接入安全管理

    HCIA-ICT实战基础-远程接入安全管理 目录 AAA概述 AAA配置实现 telnet原理与配置 Stelnet(华为ssh的另一种称呼)配置 1 AAA概述 1.1 基本概念 AAA是Authe ...

  9. 物联网5G工业网关的特点和应用场景

    BMG5100 系列产品,是一款工业级 5G 千兆物联网网关.集数据管理.智能采集.多种协议 转换.5G/4G 无线通信.数据处理转发.VPN 虚拟专网.本地存储.WIFI 覆盖等功能于一体. 产品特 ...

  10. Python-pytest -> 在自动化测试中,如何切换不同的测试环境

    在构建自动化测试的脚本时候,我们可能会有不同环境的测试需求,如何实现在不同的测试环境之间切换呢?接下来介绍的这种方法,可以自定义命令行参数,从而根据不同的参数值实现不同环境的切换. 解决办法: 使用h ...