oracle客户端没有装exp,linux安装精简版oracle客户端--包含sqlplus exp imp tnsping sqlldr...

本文详细介绍了如何在Linux环境下安装和配置Oracle Instant Client,包括版本选择、文件下载、解压、环境变量设置、TNS配置、命令复制及权限设置等步骤,确保能够成功连接到Oracle数据库。
摘要由CSDN通过智能技术生成

前提准备

版本要求:最好和服务端一致,可以高一点,但是不能底于服务端的版本号;最好不要高于oracle服务端的的大版本,比如,服务端是11g的,最好就下11版本的客户端,不要下载12版本的客户端;

下载包:

oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.zip

oracle-instantclient11.2-jdbc-11.2.0.1.0-1.x86_64.zip

oracle-instantclient11.2-sqlplus-11.2.0.1.0-1.x86_64.zip

oracle-instantclient11.2-odbc-11.2.0.1.0-1.x86_64.zip

oracle-instantclient11.2-tools-11.2.0.1.0-1.x86_64.zip

解压

把上述包全部解压unzip oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.zip

unzip oracle-instantclient11.2-jdbc-11.2.0.1.0-1.x86_64.zip

unzip oracle-instantclient11.2-sqlplus-11.2.0.1.0-1.x86_64.zip

unzip oracle-instantclient11.2-odbc-11.2.0.1.0-1.x86_64.zip

unzip oracle-instantclient11.2-tools-11.2.0.1.0-1.x86_64.zip

解压后得到目录:instantclient_11_2

赋执行权限chmod -R 7755 instantclient_11_2

配置环境变量vi ~/.bash_profile

export ORACLE_HOME=/home/oracle/instantclient_11_2

export ORACLE_IC_HOME=$ORACLE_HOME

export TNS_ADMIN=$ORACLE_HOME

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH

export CLASSPATH=$ORACLE_HOME/ojdbc6.jar:./

export PATH=$PATH:$ORACLE_HOME

export ORACLE_SID=orcl

使环境变量生效source ~/.bash_profile

配置tnsname.oracd $ORACLE_HOME

vi tnsname.ora

orcl =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.132.2 )(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = orcl)

)

)

测试sqlplussqlplus oracle/oracle@orcl

SQL*Plus: Release 11.2.0.1.0 - Production on Fri Aug 5 12:32:54 2005

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

SQL>

连接成功!

如果sqlplus报错:ORA-12533 或者 ORA-12533: TNS:illegal ADDRESS parameters

解决办法:先检查tnsname.ora有没有配置错误;

如果tnsname.ora确定正确,则需要把tnsname.ora文件里面的所有空格和换行符去掉,里面只剩下一行,如下:orcl=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.132.2)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)))

然后在进行测试,应该会成功

创建目录(后面的tnsping、exp、imp、sqlldr会用到):mkdir -p $ORACLE_HOME/network/mesg/

mkdir -p $ORACLE_HOME/rdbms/mesg

tnsping命令

由于精简版客户端默认没有tnsping的,需要我们去服务端copy;scp $ORACLE_HOME/bin/tnsping oracle@ip_client:$ORACLE_HOME/tnsping

scp $ORACLE_HOME/network/mesg/tnsus.msb oracle@ip_client:$ORACLE_HOME/network/mesg/tnsus.msb

然后再测试tnsping#tnsping orcl

TNS Ping Utility for Linux: Version 11.2.0.1.0 - Production on 10-MAR-2014 09:28:39

Copyright (c) 1997, 2006, Oracle. All rights reserved.

Used parameter files:

Used HOSTNAME adapter to resolve the alias

Attempting to contact (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.132.2)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)))

exp和imp命令

由于精简版客户端默认没有exp和imp命令,需要我们去服务端copy;scp $ORACLE_HOME/bin/exp oracle@ip_client:$ORACLE_HOME/exp

scp $ORACLE_HOME/bin/imp oracle@ip_client:$ORACLE_HOME/imp

scp $ORACLE_HOME/rdbms/mesg/ulus.msb oracle@ip_client:$ORACLE_HOME/rdbms/mesg/ulus.msb

scp $ORACLE_HOME/rdbms/mesg/expus.msb oracle@ip_client:$ORACLE_HOME/rdbms/mesg/expus.msb

scp $ORACLE_HOME/rdbms/mesg/impus.msb oracle@ip_client:$ORACLE_HOME/rdbms/mesg/impus.msb

sqlldr命令

由于精简版客户端默认没有sqlldr命令,需要我们去服务端copy;scp $ORACLE_HOME/bin/sqlldr oracle@ip_client:$ORACLE_HOME/sqlldr

scp $ORACLE_HOME/network/mesg/* oracle@ip_client:$ORACLE_HOME/network/mesg/

scp $ORACLE_HOME/rdbms/mesg/* oracle@ip_client:$ORACLE_HOME/rdbms/mesg

scp $ORACLE_HOME/lib/* oracle@ip_client:$ORACLE_HOME/

你会发现network/mesg/和rdbms/mesg/下面copy的东西把上面tnsping、exp、imp中copy的文件都包含了;这个其实是免得有些库依赖或者.msb没有copy完全,索性就全部copy过来了,免得后面再出问题;偷了个懒!

为了放置copy过来的文件没有执行权限,我们在客户端服务器上再进行一次赋权chmod -R 7755 $ORACLE_HOME

然后你再去测试sqlldr命令就会发现已经能用了;$ sqlldr

SQL*Loader: Release 11.2.0.1.0 - Production on Sat Jan 6 14:17:09 2018

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

Usage: SQLLDR keyword=value [,keyword=value,...]

Valid Keywords:

userid -- ORACLE username/password

control -- control file name

log -- log file name

bad -- bad file name

data -- data file name

discard -- discard file name

discardmax -- number of discards to allow (Default all)

skip -- number of logical records to skip (Default 0)

load -- number of logical records to load (Default all)

errors -- number of errors to allow (Default 50)

rows -- number of rows in conventional path bind array or be

最后

完工后还有一件重要的事情,去喝杯茶,抽支烟,犒劳下自己!

最后更新于 2018-01-06 14:20:41 并被添加「linux oracle 客户端 oracle instantclient 数据库」标签,已有 4173 位童鞋阅读过。

本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处

相关文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值