平时Oracle数据库都安装在本地或者WindowsServer上进行使用,但因为工作需要,领导要求在虚拟机中安装Ubuntu来连接Windows本地安装的数据库,先将操作过程和遇到的问题进行梳理总结

1.先下载oracle的linux版的客户端连接程序包(下载需注册Oracle账户,免费注册下载)

oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm      基本的动态库(oci,bocci,jdbc-oci)
oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm    客户端sqlplus安装包

(至于sdk,jdbc,devel根据需求按安装)

2.安装下载的rpm包(在这里踩很多坑,很无语啊!!!)

坑1.正常使用rpm命令进行安装

    rpm -i  oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

   直接报错:

      error:Failed dependencies:

            libaio is needed by rpm -i  oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

     直译:安装rpm -i  oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm需要libaio的依赖,就是缺少libaio依赖,无法安装

   一波操作走你:

    坑1.1  没有libaio依赖,那就装一呗,

          命令:sudo apt-get install libaio

     直接报错: Unable to locate package libaio

    坑1.2  无法定位libaio的程序包,百度一下:需要换一个repository,源不好,更换完源,需要sudo apt-get update

       update完之后,再进行安装sudo apt-get install libaio依然报错:E: Unable to locate package libaio

       (期间在/etc/apt/source.list 添加过ununtu官方源,aliyun的源,中国科技大的源,163的源)

    !!!!深呼吸,电脑没错,再次尝试rmp安装:rpm -i  oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

    理所当然报错:但这次完整的信息都读了一遍:

    报错信息:

    rpm:RPM should not be used directly install RPM packages.use Alien instead!

    rpm:However assuming you know what are you doing .....  

    error:Failed dependencies:

       libaio is needed by rpm -ivh  oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

     百度:alien:“alien”可以在rpm\dpkg\slackware tgz\deb\slp 格式见进行转换

   开始进入正轨:

     sudo apt-get install alien   正常

     dkpg -i oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm  正常

     dkpg -i oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm  正常

3. 默认安装路径为(/usr/lib/oracle/11.2/client64)

  新建配置文件文件夹:

  mkdir -p /usr/lib/oracle/11.2/client64/network/admin

  更改文件的权限

  chown -R python:python /usr/lib/oracle/11.2/client64/network/admin

4.添加连接数据库所需要的TNS配置文件

  cd  /usr/lib/oracle/11.2/client64/network/admin/

  vim tnsnames.ora(根据自己所要连接的oracle进行配置)

ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.169.80.18)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl.168.80.6)
)
)

5.配置环境变量

vim /home/python/.bashrc

添加如下内容

export  ORACLE_HOME=/usr/lib/oracle/11.2/client64
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG='simplified chinese_china'.ZHS16GBK
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH

生效环境变量:source /home/python/.bashrc

6.测试:

echo $ORACLE_HOEM  正常

sqlplus sgcc/root@ORCL  正常

  

Ubuntu安装Oracleclient远程连接数据库的更多相关文章

  1. 给ubuntu安装VNC远程桌面

    (只有背景,没有菜单栏问题没有解决)Virtual Network Computing(VNC)是进行远程桌面控制的一个软件.客户端的键盘输入和鼠标操作通过网络传输到远程服务器,控制服务器的操作.服务 ...

  2. 本地不安装oracle-client,使用pl/sql developer连接数据库

    一.问题描述 本地未安装oracle-client端,由于机器资源有限,希望通过pl/sql developer进行远程数据库连接.单纯的安装pl/sql developer无法远程连接数据库. 二. ...

  3. 在本地没有安装Oracle的情况下,使用plsql远程连接数据库

    远程连接数据库的方式不止一种.这里主要写在本地没有安装Oracle的情况下,使用plsql可视化工具远程连接数据库的方式. 一.前提 首先你本地得安装有plsql工具.具体的安装步骤就不多说了. 二. ...

  4. Ubuntu 18.1远程登录服务器--ssh的安装

    默认的Ubuntu 18.1桌面版没有安装ssh远程登录服务: 打开"终端窗口",输入"sudo apt-get update"-->回车-->&q ...

  5. Linux Ubuntu 16.04 安装步骤+远程环境

    简介 Ubantu 16.04 系统是一款比较稳定的linux系统,适合用户使用以及针对一些兼容性的服务搭建. 这里我推荐安装桌面版,用于方便使用. 准备工作 1.准备1个U盘空间5G以上 2.需下载 ...

  6. linux ubuntu安装好后,开通远程登录

    1.设置root密码 ubuntu安装好后,用初始的第一个用户登录,然后修改root密码: sudo passwd root 2.检查sshd服务是否启动 (1)查看sshd状态 -----若没有ss ...

  7. ubuntu安装 LNMP+redis

    一.更新软件源 1.修改软件源为163的源 sudo vim /etc/apt/sources.list 替换源为163的源: deb http://mirrors.163.com/ubuntu/ i ...

  8. 新安装mariadb远程登陆配置及相关问题排查

    前言: 安装过程不再赘述,直接说问题,mysql的远程连接需要解决两个问题:1.允许root用户远程连接.2.允许任意ip远程连接数据库.当然,在测试和解决问题之前,得首先保证你的数据库与远程主机之间 ...

  9. 【基于WinForm+Access局域网共享数据库的项目总结】之篇三:Access远程连接数据库和窗体打包部署

    篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...

随机推荐

  1. 利用maven构建一个spring mvc的helloworld实例

    刚开始学习maven和spring mvc,学的云里雾里的 这里提供一个hello world实例,记录自己的学习之路 首先看maven官网的介绍 Apache Maven is a software ...

  2. uwp 中的appservice

    在上篇里,我使用的是寄宿在WPF上的WCF进行两个程序间的通信,在解决问题的同时,我的同事也在思考能否使用UWP来做这件事.于是,我们发现了App Service,两个UWP应用沟通的桥梁. App ...

  3. 解决maven中静态资源只能放到properties中的问题

    构建Maven项目的时候,如果没有进行特殊的配置,Maven会按照标准的目录结构查找和处理各种类型文件. Maven项目的标准目录结构 src main java         源文件 resour ...

  4. 图解Java 垃圾回收机制

    摘要: Java技术体系中所提倡的 自动内存管理 最终可以归结为自动化地解决了两个问题:给对象分配内存 以及 回收分配给对象的内存,而且这两个问题针对的内存区域就是Java内存模型中的 堆区.关于对象 ...

  5. java交互Scanner类

    用next方法接收 import java.util.Scanner; public class Demo01 { public static void main(String[] args) { / ...

  6. Jenkins 使用PowerShell插件部署Net5项目

    Jenkins安装 PowerShell plugin 插件 新建自由项目 拖到 构建 处,添加 PowerShell 构建 贴入下方脚本即可 # 变量 $ProjectPath = "E: ...

  7. 操作系统的IO模型

    IO操作根据设备类型一般分为内存IO,网络IO,和磁盘IO.其中内存IO的速度大大快于后两者,计算机的性能瓶颈一般不在于内存IO. 尽管网络IO可通过购买独享带宽和高速网卡来提升速度,可以使用RAID ...

  8. 快速构建CLI程序并发布到PyPi

    构造一个简单的CLI程序 typer 这个从去年就被各种营销号吹成Web框架的 第三方库, 与 FastAPI 同出一人之手,它不是Web框架,它是一个用来构建CLI程序的库,我们就简单搞个例子 # ...

  9. 基于Vue+Vuex+Vue-Router+axios+mint-ui的移动端电商项目

    第一步:安装Node 1.打开NodeJS的官网,下载和自己系统相配的NodeJS的安装程序,包括32位还是64位一定要选择好,否则会出现安装问题. 下载地址:https://nodejs.org/e ...

  10. 20210719 noip20

    考场 后两题是原题,教练说不用写了(ycx 不讲武德) T1 先手模了 \(n\le5\) 的情况,尝试找规律失败.那就只能 DP 了,最终没搞出来. 记忆化搜索打了 \(n\le20\) 的表,交了 ...