`
hanqunfeng
  • 浏览: 1542184 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux下oracle客户端安装

 
阅读更多

一。下载:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

由于本机是64位linux,所以选择Instant Client for Linux x86-64 

查看oracle服务器端的版本:

 select * from V$version 

结果中有:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

所以oracle客户端也选择11.2.0.3.0版本。

下载如下三个文件:

instantclient-basic-linux.x64-11.2.0.3.0.zip

instantclient-sqlplus-linux.x64-11.2.0.3.0.zip

instantclient-sdk-linux.x64-11.2.0.3.0.zip

 

如果需要exp,imp,sqlldr等导入导出高级命令,则需要下载

instantclient-tools-linux.x64-11.2.0.3.0.zip

 

二。解压

mkdir -p /opt/oracle/lib 
mkdir -p /opt/oracle/network/admin

 

解压三个下载文件

unzip instantclient-basic-linux.x64-11.2.0.3.0.zip

unzip instantclient-sqlplus-linux.x64-11.2.0.3.0.zip

unzip instantclient-sdk-linux.x64-11.2.0.3.0.zip

 

解压后内容将在当前目录下的instantclient_11_2下

cd instantclient_11_2

mv sdk  /opt/oracle/sdk

mv *  /opt/oracle/lib

 

三。配置环境变量

vi /etc/profile 

ORACLE_HOME=/opt/oracle
DYLD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$ORACLE_HOME/lib:$PATH  
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  
export JAVA_HOME ANT_HOME PATH CLASSPATH DYLD_LIBRARY_PATH ORACLE_HOME 

 保存后使其生效 source /etc/profile 或者 .  /etc/profile

 

四。配置监听器和网络环境

cd  /opt/oracle/network/admin

新建三个文件sqlnet.ora,tnsnames.ora,listener.ora

在sqlnet.ora中加入如下内容:

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES)

 在tnsnames.ora中加入如下内容:

orcl_db =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.xxx.xxx)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

 

在listener.ora中加入如下内容:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /opt/oracle)
      (PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
  )

 

五。测试

# sqlplus username@orcl_db

SQL*Plus: Release 11.2.0.3.0 Production on Fri Oct 11 10:59:17 2013

 

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

 

Enter password: 

 

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

 

ok,说明链接服务器成功。

 

六。安装sqlldr

windows版本的client会有sqlldr命令,但是linux版本的client就没有这个命令了,不过可以从服务器端copy这个命令。

先按照上面的方式安装linux客户端,然后将服务器端的如下两个文件拷贝到客户端:

从服务器端将$ORACLE_HOME/bin/sqlldr拷贝到/opt/oracle/lib下,并授予执行权限,

从服务器端将$ORACLE_HOME/rdbms/mesg/ulus.msb 拷贝到/opt/oracle/rdbms/mesg下。

 

查看sqlldr的依赖是否都存在

$> cd /opt/oracle/lib/

$> ldd -r sqlldr

 

测试:

$> sqlldr 

打印帮助信息

 

注意:运行sqlplus时可能会遇到如下错误:

oracle instant client 安装 libaio.so.1: cannot open shared object file

原因是sqlplus命令引用到的这个包没有找到,先使用ldd看一下还有其它包没有找到否:

cd /opt/oracle/lib/

ldd sqlplus 

        linux-vdso.so.1 =>  (0x00007fff4ccce000)

        libsqlplus.so => /opt/oracle/lib/libsqlplus.so (0x00007faa788d4000)

        libclntsh.so.11.1 => /opt/oracle/lib/libclntsh.so.11.1 (0x00007faa76042000)

        libnnz11.so => /opt/oracle/lib/libnnz11.so (0x00007faa75c76000)

        libdl.so.2 => /lib64/libdl.so.2 (0x00007faa75a6a000)

        libm.so.6 => /lib64/libm.so.6 (0x00007faa757e5000)

        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007faa755c8000)

        libnsl.so.1 => /lib64/libnsl.so.1 (0x00007faa753af000)

        libc.so.6 => /lib64/libc.so.6 (0x00007faa7501b000)

        /lib64/ld-linux-x86-64.so.2 (0x00007faa78abd000)

        libaio.so.1 => not found

只有libaio.so.1没有找到,ok,安装即可:

查找:yum search libaio

安装:yum install libaio.x86_64

 

 

分享到:
评论
10 楼 青衫隐 2016-08-29  
求教以下情况怎么处理
[root@Smart-Inspect01 lib]# ./sqlldr
./sqlldr: symbol lookup error: ./sqlldr: undefined symbol: kgestkguard_
[root@Smart-Inspect01 lib]# ldd -r sqlldr
        linux-vdso.so.1 =>  (0x00007fffff7ff000)
        libclntsh.so.10.1 => /opt/oracle/lib/libclntsh.so.10.1 (0x00007fe867837000)
        libnnz10.so => /opt/oracle/lib/libnnz10.so (0x00007fe8675c1000)
        libpthread.so.0 => /opt/oracle/lib/libpthread.so.0 (0x0000003bf1600000)
        libdl.so.2 => /opt/oracle/lib/libdl.so.2 (0x0000003bf0e00000)
        libm.so.6 => /opt/oracle/lib/libm.so.6 (0x0000003bf1a00000)
        libnsl.so.1 => /opt/oracle/lib/libnsl.so.1 (0x0000003c00e00000)
        libc.so.6 => /opt/oracle/lib/libc.so.6 (0x0000003bf1200000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003bf0a00000)
undefined symbol: kgestkguard_  (./sqlldr)
undefined symbol: kgeskgmcx_    (./sqlldr)
undefined symbol: kllcis        (./sqlldr)
undefined symbol: _intel_fast_memcpy    (./sqlldr)
undefined symbol: kge_push_guard_fr     (./sqlldr)
undefined symbol: ktsgnospc     (./sqlldr)
undefined symbol: kge_reuse_guard_fr    (./sqlldr)
undefined symbol: kge_pop_guard_fr      (./sqlldr)
undefined symbol: _intel_fast_memset    (./sqlldr)
undefined symbol: _intel_fast_memcmp    (./sqlldr)
undefined symbol: sldextf       (./sqlldr)
undefined symbol: kllcispbv     (./sqlldr)
[root@Smart-Inspect01 lib]#
9 楼 r2479158 2016-06-13  
回复8楼:
sqlldr: symbol lookup error: sqlldr: undefined symbol: sltlnx
  该问题是由于你lib下面的libclntsh.so文件版本高,找低版本的文件放里面就可以了
8 楼 yangqun123 2016-01-13  



我安装了oracle客户端,也copy了你所说的sqlldr文件,
敲命令之后,ldd -r sqlldr
出现如下错误:
undefined symbol: sltlnx        (./sqlldr


当使用到sqlldr命令,
出现如下错误:
sqlldr: symbol lookup error: sqlldr: undefined symbol: sltlnx
 

大神能帮我看一下呢  加我QQ:1831589137  我详细咨询楼主。
7 楼 lu56898 2014-10-16  
hanqunfeng 写道
lu56898 写道
遇到个新的问题。插入数据的时候有中文的报错了,UnicodeEncodeError: 'ascii' codec can't encode characters in position 452-455: ordinal not in range(128)。

查了下资料说是要改BasicDataSource connPool。不明白在哪改这文件。求指教


python?


是的
6 楼 hanqunfeng 2014-10-16  
lu56898 写道
遇到个新的问题。插入数据的时候有中文的报错了,UnicodeEncodeError: 'ascii' codec can't encode characters in position 452-455: ordinal not in range(128)。

查了下资料说是要改BasicDataSource connPool。不明白在哪改这文件。求指教


python?
5 楼 lu56898 2014-10-16  
遇到个新的问题。插入数据的时候有中文的报错了,UnicodeEncodeError: 'ascii' codec can't encode characters in position 452-455: ordinal not in range(128)。

查了下资料说是要改BasicDataSource connPool。不明白在哪改这文件。求指教
4 楼 lu56898 2014-10-16  
这个报错好。原来我这边的环境变量设置有问题
3 楼 lu56898 2014-10-16  
做了 dos2unix 处理了 还是报这个错
2 楼 hanqunfeng 2014-10-16  
lu56898 写道
你好。我是装在ubuntu上的。测试远程连接时一直报这个错
File "<stdin>", line 1, in <module>
cx_Oracle.DatabaseError: ORA-12154: TNS:could not resolve the connect identifier specified


listener跟tnsnames 核对过指定的都对的。同样的配置在WINDOWS下是能连接通的。


相关的配置文件是否是从windows上copy过去的,如果是这样,则需要做一下格式转换:dos2unix *
1 楼 lu56898 2014-10-16  
你好。我是装在ubuntu上的。测试远程连接时一直报这个错
File "<stdin>", line 1, in <module>
cx_Oracle.DatabaseError: ORA-12154: TNS:could not resolve the connect identifier specified


listener跟tnsnames 核对过指定的都对的。同样的配置在WINDOWS下是能连接通的。

相关推荐

    linux oracle客户端安装

    本教程将详述如何在Linux环境下安装Oracle客户端11.2.0.4版本,利用提供的安装文档和软件包。 首先,我们需要了解Oracle客户端的作用。Oracle客户端是连接到Oracle数据库服务器的软件,它提供了SQL*Plus、...

    Linux_Oracle客户端全部rpm包

    本篇文章将详细阐述如何在Linux环境下安装Oracle客户端的全部rpm包。 首先,让我们理解什么是rpm包。RPM(Red Hat Package Manager)是Linux发行版中常用的软件包管理器,用于安装、升级、查询和删除软件。Oracle...

    oracle11g客户端for_linux安装文档

    Oracle 11g 客户端 for Linux 安装文档 Oracle 11g 客户端 for Linux 安装文档提供了详细的安装步骤和配置信息,以便用户成功安装 Oracle 11g 客户端 for Linux。 标题解释 Oracle 11g 客户端 for Linux 安装文档...

    Linux下Oracle Client的安装

    Linux 下 Oracle Client 的安装是指在 Linux 操作系统中安装 Oracle 客户端的过程。该过程需要在 Linux 服务器上安装 Oracle 客户端,以便连接 Oracle 数据库服务器。 一、 Linux 基础版之软件安装 在 Linux 操作...

    linux下安装oracle客户端

    ### Linux下安装Oracle客户端知识点详解 #### 一、前言 在Linux环境下部署Oracle客户端是一项常见但又较为复杂的任务,特别是在企业级应用中。本文将详细介绍如何在Linux系统上(以CentOS 5为例)安装Oracle 10g...

    ORACLE 客户端在linux下安装

    在Linux环境下安装Oracle客户端通常涉及多个步骤,包括下载安装文件、创建安装目录、解压文件、配置环境变量等。 #### 二、下载安装文件 首先,需要从Oracle官方网站下载对应的客户端安装程序。具体的下载地址为:...

    oracle客户端在linux下安装部署运行

    Oracle 客户端在 Linux 下安装部署运行 一、Oracle 客户端安装 Oracle 客户端在 Linux 下的安装是指在 Linux 操作系统上安装 Oracle 客户端软件,以便于连接远端的 Oracle 数据库服务器。安装 Oracle 客户端需要...

    linux oracle客户端

    在linux上安装oracle客户端,占用空间小,个人己安装,并正常使用。 客户端版本:10.2.0.4.0 包括: basic-10.2.0.4.0-linux-x86_64.zip basiclite-10.2.0.4.0-linux-x86_64.zip jdbc-10.2.0.4.0-linux-x86_64.zip ...

    linux下oracle的客户端安装

    在Linux环境下安装Oracle客户端是一项常见的任务,特别是在进行数据库管理和开发工作时。Oracle客户端提供了与Oracle数据库服务器交互的工具,如SQL*Plus和SQL Loader。在这个过程中,我们将避免安装完整的Oracle...

    oracle客户端安装和配置

    Oracle客户端是用于连接到Oracle数据库服务器的软件工具,它提供了数据查询、管理、开发等功能。在本教程中,我们将深入探讨Oracle 11g客户端的安装和配置过程,旨在帮助用户轻松完成这一任务。 首先,我们需要下载...

    随笔-linux下安装oracle 12c client

    Linux 下安装 Oracle 12c 客户端详细教程 Oracle 12c 客户端是 Oracle 公司推出的数据库客户端软件,为用户提供了强大且灵活的数据库管理功能。然而,对于初学者来说,安装 Oracle 12c 客户端可能会是一件困难的...

    OracleClient-19C Oracle客户端,包括windows和Linux

    6. **instantclient**:Oracle Instant Client是一个轻量级的客户端版本,用于只读访问或者简单的数据查询,不需要完整的Oracle Client安装。 Oracle Client在Linux上的安装通常涉及设置环境变量,如ORACLE_HOME、...

    OracleClient-18C Oracle客户端,包括windows和Linux

    在Linux上配置Oracle客户端时,可能需要设置环境变量如ORACLE_HOME、LD_LIBRARY_PATH来确保正确加载库文件。此外,Linux下的Net Services对应的是 listener进程,它监听指定端口并处理来自客户端的连接请求。同样,...

    linux安装oracle客户端.docx

    linux安装oracle客户端.docx

    oracle客户端免安装版

    5. **oci.lib/oci.lib64**(Windows)或**libclntsh.so/libclntsh.so.12.1**(Linux):这些是Oracle客户端的库文件,供开发人员编译和链接应用程序时使用。 Oracle Instant Client 11.2 版本是针对Oracle Database...

    Linux下安装Oracle客户端,配置Qt开发环境

    在Linux环境下,安装Oracle客户端并配置Qt开发环境是软件开发者,特别是那些专注于数据库交互和GUI应用开发的程序员常需进行的操作。以下将详细介绍这个过程,包括Oracle客户端的安装、环境配置,以及Qt集成开发环境...

    oracle客户端的安装方法

    windows 下 oracle客户连接 linux 的oracle服务器的安装及配置

    linux 安装oracle的离线rpm包

    该包为linux安装oracle的离线rpm包,可在服务器未联网的情况下,离线安装oracle所需要的依赖。包内均为rpm文件 执行 rpm -ivh --nodeps --force ./* 即可一次完成所有rpm依赖包的安装。

Global site tag (gtag.js) - Google Analytics