• linux 安装oracle 11客户端+远程连接服务器


    最近在linux 环境下搭建了.NET core 项目,数据库访问的是oracle,需要在linux下访问oracle的服务器,很简单 环境:centos 7  oracle 11g

    首先我们要下载rpm包 https://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html

    找到对应的版本,因为我们的服务器是11g 所以我就下载了 11的客户端 选择RPM格式的,需要下载5个包

    前面的三个包,是安装客户端的,后面的两个是通过程序连接oracle所需要的的补充包

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

    oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm

    oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

    oracle-instantclient11.2-jdbc-11.2.0.4.0-1.x86_64.rpm

    oracle-instantclient11.2-odbc-11.2.0.4.0-1.x86_64.rpm

     下载完成后,我这里是使用SecureFX上传到linux服务器的,随便找个地方 新建一个OracleClient文件夹把文件传入

    接下来就是安装了,安装很快的

    cd /usr/local/OracleClient   找到你存放下载好文件的目录

    rpm -ivh ./oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

    rpm -ivh ./oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm

    rpm -ivh ./oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

    rpm -ivh ./oracle-instantclient11.2-jdbc-11.2.0.4.0-1.x86_64.rpm

    rpm -ivh ./oracle-instantclient11.2-odbc-11.2.0.4.0-1.x86_64.rpm

    执行后的结果如下图

    也可以查看安装后的目录如下图,替换一下 oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm 也可以看看其他的安装

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

    接下来我们创建一个 存放监听脚本的目录 

    cd /usr/lib/oracle/11.2/client64/

    mkdir network

    cd network

    mkdir admin

    然后把你的tnsnames.ora放到admin下

    接下来我们配置一下环境变量输入 vim ~/.bash_profile

     打开后在末尾,添加如下代码

    #enviroment variable of oracle client
    export ORACLE_HOME=/usr/lib/oracle/11.2/client64
    export ORACLE_BASE=/usr/lib/oracle/11.2
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
    export TNS_ADMIN=$ORACLE_HOME/network/admin
    
    export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
    
    export PATH=$PATH:$ORACLE_HOME/bin

    效果如下图

    然后保存并退出。接下来使用source ~/.bash_profile 刷新一下配置文件

    然后打开sqlplus测试一下是否连接通过,格式就是如下 sqlplus 后面街上你的配置 /斜杠 和@来隔开

    [gitlab-runner@coreservice client64]$ sqlplus 用户名/密码@tnsnames.ora配置的网络名
    
    SQL*Plus: Release 11.2.0.4.0 Production on Wed Aug 5 09:35:56 2020
    
    Copyright (c) 1982, 2013, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    
    SQL> 

    可以查询你数据库的表

    select * from table;  这个分号必须写哈。

    接下来启动你的项目测试一下吧,如果报错,有可能是 odbc 和jdbc 没有安装,或者是你启动服务的用户没有配置环境变量

    你只是在root里面配置了,在你启动项目的用户下没有配置,或者你的用户没有访问oracle目录的权限

    解决方案:  如果还是不可以的话,你可以检查一下你的tnsnames.ora  tns配置文件。或者网络,防火墙

    一般情况 你的sqlplus 可以访问的话,按照下面三个步骤,理论上是没问题的,我自己就是这么处理了一下就可以了

    1.找到你的用户 su 用户  进入用户  输入  vim ~/.bash_profile  把环境变量配置一下

    2.安装 odbc 和 jdbc  

    rpm -ivh ./oracle-instantclient11.2-jdbc-11.2.0.4.0-1.x86_64.rpm

    rpm -ivh ./oracle-instantclient11.2-odbc-11.2.0.4.0-1.x86_64.rpm

    3.给你的用户访问usr的权限

    chown -hR gitlab-runner:gitlab-runner /usr    这里gitlab-runner 是我的用户,我是通过gitlab-runner启动dotnet服务的

  • 相关阅读:
    正则表达式
    浅谈xss攻击
    四舍五入[银行家算法]
    POJ-2442-Sequence(二叉堆)
    Spring MVC 启动报错
    WebMagic 抓取图片并保存至本地
    spring 定时任务
    jquery validate 自定义校验方法
    位图
    二叉树(线索化)
  • 原文地址:https://www.cnblogs.com/xiaojinFat/p/13437918.html
Copyright © 2020-2023  润新知