Ubuntu安装Oracleclient远程连接数据库
平时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远程连接数据库的更多相关文章
- 给ubuntu安装VNC远程桌面
(只有背景,没有菜单栏问题没有解决)Virtual Network Computing(VNC)是进行远程桌面控制的一个软件.客户端的键盘输入和鼠标操作通过网络传输到远程服务器,控制服务器的操作.服务 ...
- 本地不安装oracle-client,使用pl/sql developer连接数据库
一.问题描述 本地未安装oracle-client端,由于机器资源有限,希望通过pl/sql developer进行远程数据库连接.单纯的安装pl/sql developer无法远程连接数据库. 二. ...
- 在本地没有安装Oracle的情况下,使用plsql远程连接数据库
远程连接数据库的方式不止一种.这里主要写在本地没有安装Oracle的情况下,使用plsql可视化工具远程连接数据库的方式. 一.前提 首先你本地得安装有plsql工具.具体的安装步骤就不多说了. 二. ...
- Ubuntu 18.1远程登录服务器--ssh的安装
默认的Ubuntu 18.1桌面版没有安装ssh远程登录服务: 打开"终端窗口",输入"sudo apt-get update"-->回车-->&q ...
- Linux Ubuntu 16.04 安装步骤+远程环境
简介 Ubantu 16.04 系统是一款比较稳定的linux系统,适合用户使用以及针对一些兼容性的服务搭建. 这里我推荐安装桌面版,用于方便使用. 准备工作 1.准备1个U盘空间5G以上 2.需下载 ...
- linux ubuntu安装好后,开通远程登录
1.设置root密码 ubuntu安装好后,用初始的第一个用户登录,然后修改root密码: sudo passwd root 2.检查sshd服务是否启动 (1)查看sshd状态 -----若没有ss ...
- ubuntu安装 LNMP+redis
一.更新软件源 1.修改软件源为163的源 sudo vim /etc/apt/sources.list 替换源为163的源: deb http://mirrors.163.com/ubuntu/ i ...
- 新安装mariadb远程登陆配置及相关问题排查
前言: 安装过程不再赘述,直接说问题,mysql的远程连接需要解决两个问题:1.允许root用户远程连接.2.允许任意ip远程连接数据库.当然,在测试和解决问题之前,得首先保证你的数据库与远程主机之间 ...
- 【基于WinForm+Access局域网共享数据库的项目总结】之篇三:Access远程连接数据库和窗体打包部署
篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...
随机推荐
- com 组件的本知识
(今日看到网络上关于"COM中GUID......"文章,写的好,故记录之.)当初微软设计com规范的时候,有两种选择来保证用户的设计的com组件可以全球唯一:第一种是采用和Int ...
- vue 引入 leaflet1.4.0
安装leaflet cnpm install leaflet@~1.4.0 --save // 在main.js 中设置如下 //引入样式文件 import 'leaflet/dist/leaflet ...
- 【mysql】截取查询分析
1. 慢查询日志 1.1 是什么 (1)MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL ...
- Python使用flask架构、跨域
from flask import Flask import json from flask_cors import CORS Server = Flask(__name__) cors = CORS ...
- uwp 的个人名片
xml code ---------------------------------------------------------------------- <Page x:Class=&qu ...
- Java程序设计学习笔记(五) — 多线程
时间:2016-4-15 09:56 --多线程(还有多核编程) 1.进程 进程是一个正在执行中的程序. 每一个进程执行都有一个执行顺序,该顺序是一个执行路径, ...
- 【C语言】第1章 程序设计与C语言
第1章 程序设计与C语言 程序:一组计算机能识别和执行的 指令. 计算机语言:人和计算机交流信息的.计算机和人都能识别的语言 C语言允许用两种注释方式: //:单行注释 可单独占一行 可出现在一行中其 ...
- Seq2Seq sequence-to-sequence模型 简介
Sequence-to-sequence (seq2seq) 模型. 突破了传统的固定大小输入问题框架 开创了将DNN运用于翻译.聊天(问答)这类序列型任务的先河 并且在各主流语言之间的相互翻译,和语 ...
- openresty lua-resty-redis 封装 a wrapper for lua-resty-redis 优雅一点点
搜了一下别人的封装代码,感觉不够优雅,主要是 set_keepalive 的调用时机不太好 我自己下面的代码是利用 coroutine, 每次当前 phase 结束后自动调用 set_keepaliv ...
- (六)羽夏看C语言——函数
写在前面 由于此系列是本人一个字一个字码出来的,包括示例和实验截图.本人非计算机专业,可能对本教程涉及的事物没有了解的足够深入,如有错误,欢迎批评指正. 如有好的建议,欢迎反馈.码字不易,如果本篇 ...