【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

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

# 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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容