【Oracle】如何在Linux上安装Oracle sqlplus客户端

Oracle是甲骨文公司的一款关系数据库管理系统,采用了Client/Server软件系统体系结构。

Sqlplus作为与Oracle数据库服务端进行交互的客户端工具,使用非常广泛,那么如何在Linux上安装Sqlplus客户端呢?

一、准备工作

Liunx操作系统:CentOS7.1 minimal

Oracle客户端安装包

操作系统root用户

二、下载安装包

在Oracle官方网站,下载Oracle客户端基础包、sqlplus包

http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html?ssSourceSiteId=otncn

oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm

oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86_64.rpm

oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm

【Oracle】如何在Linux上安装Oracle sqlplus客户端_第1张图片

Instant Client 说明

Oracle Instant client 是oracle提供的简便客户端, 支持多种平台。

包括如下内容:

Instant client Package - Basic                      运行OCI, OCCI, 和JDBC-OCI应用程序需要的所有文件.

Instant client Package - BasicLite                 只包含英语错误信息, 只支持unicode, ascii, 西欧字符集.

Instant client Package - JDBC Supplement    为jdbc增加了xa, 国际化和RowSet操作.

Instant Client Package - SQL *Plus                包含sqlplus和需要的库文件

Instant client Package - SDK                          使用Instant Client开发Oracle 应用程序需要的头文件及示例makefile

Instant client package - ODBC                        使用odbc时需要的库, 不是所有平台都有. linux平台包含.

Basic和Basic Lite两个中必须选一个, 其他包都是可选的.

解压后放在一个文件夹下, 在这个文件夹下建立文件tnsnames.ora

设置环境变量LD_LIBRARY_PATHTNS_ADMIN指向解压后的目录, 就可以使用sqlplus了!

Instant Client中不包含tnsping, exp/imp, rman, netca等工具. 如果需要这些工具则需要安装oracle客户端。

三、将安装包上传至于CentOS7.1 minimal  /root/abc目录下安装

# rpm -hiv oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm

# rpm -hiv oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86_64.rpm

# rpm -hiv oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm

安装过程中,可能会提示缺少依赖包 libaio,那么先安装 libaio  libaio-devel

注:下载Binary package,不要下载Source package

https://centos.pkgs.org/7/centos-x86_64/libaio-0.3.109-13.el7.x86_64.rpm.html

https://centos.pkgs.org/7/centos-x86_64/libaio-devel-0.3.109-13.el7.x86_64.rpm.html

【Oracle】如何在Linux上安装Oracle sqlplus客户端_第2张图片

# ls /root/abc

libaio-0.3.109-13.el7.x86_64.rpm

libaio-devel-0.3.109-13.el7.x86_64.rpm

oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm

oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86_64.rpm

oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm

# rpm -hiv libaio-0.3.109-13.el7.x86_64.rpm

# rpm -hiv libaio-devel-0.3.109-13.el7.x86_64.rpm

# rpm -hiv oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm

# rpm -hiv oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86_64.rpm

# rpm -hiv oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm

四、安装完成后,自动生成客户端所在目录/usr/lib/oracle/12.2/client64,其下bin、lib目录分别存储可执行文件和对应的连接库

#  ls /usr/lib/oracle/12.2/client64

bin  lib

在/usr/lib/oracle/12.2/client64目录下,用vi命令,创建并配置Oracle客户端的网络服务名配置文件tnsnames.ora

vi /usr/lib/oracle/12.1/client64/tnsnames.ora

#####################

orcl =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = xx.xx.xx.xx)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = XX)

)

)

######################

注:xx.xx.xx.xx为Oracle Server IP

XX为实例名

五、设置环境变量

在/root/.bash_profile中设置ORACLE客户端环境变量:

export ORACLE_HOME=/usr/lib/oracle/12.2/client64

export TNS_ADMIN=/usr/lib/oracle/12.2/client64

export LD_LIBRARY_PATH=/usr/lib/oracle/12.2/client64/lib

在.bash_profile中,将sqlplus所在的路径添加到PATH环境变量中:

export ORABIN=/usr/lib/oracle/12.2/client64/bin

PATH=$PATH:$ORABIN

export PATH

# source  /root/.bash_profile

六 、登录测试

完成安装后,可以在命令窗口用sqlplus按对应用户名密码连接远程的oracle数据库,读取表了。

# sqlplus USERNAME/"PASSWORD"@"orcl"

如果 Oracle 客户端提示: client host name is not set,在 /etc/hosts 加一条

127.0.1.1  XXX

注:XXX为主机名

#@@@@@@@@@@@@@@@@@@@@@@#

上面的安装如果不想用root 用户操作sqlplus来连接 远端Oracle Serve,可以创建一个任意普通用户 oracle

# useradd  oracle

软件包的安装需要用root 用户执行

安装后,我们把生成的客户端所在目录/usr/lib/oracle/12.2/client64 更改属主 属组

# chown  -R  oracle:oracle   /usr/lib/oracle/12.2/client64

那么 相应地是在/home/oracle/.bash_profile中设置ORACLE客户端环境变量:

export ORACLE_HOME=/usr/lib/oracle/12.2/client64

export TNS_ADMIN=/usr/lib/oracle/12.2/client64

export LD_LIBRARY_PATH=/usr/lib/oracle/12.2/client64/lib

在 /home/oracle/.bash_profile中,将sqlplus所在的路径添加到PATH环境变量中:

export ORABIN=/usr/lib/oracle/12.2/client64/bin

PATH=$PATH:$ORABIN

export PATH

# source  /home/oracle/.bash_profile

# su - oracle

$  sqlplus USERNAME/"PASSWORD"@"orcl"

SQLPLUS的使用:

(1)直接使用:

sqlplus  username/"password"@//xx.xx.xx.xx:1521/orcl

sqlplus  username/"password"@xx.xx.xx.xx:1521/orcl

格式:

sqlplus username/"passwd"@//IP地址:端口号/SID or SERVICE_NAME

sqlplus username/"passwd"@IP地址:端口号/SID or SERVICE_NAME

注:密码中包含特殊字符时须要用引号

(2)使用别名:

/usr/lib/oracle/12.2/client64下 建立一个tnsnames.ora文件,包含(示例):

#####################

orcl =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = xx.xx.xx.xx)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = orcl)

)

)

###########################

sqlplus  username/"password"@orcl

你可能感兴趣的:(【Oracle】如何在Linux上安装Oracle sqlplus客户端)