如何在Linux上安装Oracle客户端连接工具sqlplus

目录

一、概述

Oracle是甲骨文公司的一款关系数据库管理系统,采用了Client/Server软件系统体系结构。Sqlplus作为与Oracle数据库服务端进行交互的客户端工具,使用非常广泛,那么如何在Linux上安装Oracle客户端Sqlplus呢?

二、机器准备

服务器ip主机名系统版本
192.168.2.201myhostCentos7.2

三、系统环境

[root@myhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 
[root@myhost ~]#  firewall-cmd --state							 #查看防火墙的状态
running
[root@myhost ~]#  firewall-cmd --list-ports                       #查看防火墙已经开放的端口
[root@myhost ~]#  firewall-cmd --list-services                    #查看防火墙开放的服务
dhcpv6-client ssh
#httpd服务默认的端口是80,防火墙允许80/tcp端口访问 
[root@myhost ~]#  firewall-cmd --zone=public --permanent --add-port=80/tcp
success
[root@myhost ~]#  firewall-cmd --reload                                       	#重新加载防火墙配置
success 
[root@myhost ~]#  setenforce 0  &&    getenforce
Permissive
[root@myhost ~]#  sed -i  "s/SELINUX=enforcing/SELINUX=disabled/g"  /etc/sysconfig/selinux 

四、准备Oracle客户端安装包

安装说明:Oracle Instant client 是oracle提供的简便客户端, 支持多种平台。包括如下内容:

oracle客户端安装包说明
Instant client Package - basic运行OCI, OCCI, 和JDBC-OCI应用程序需要的所有文件。
Instant client Package - basiclite只包含英语错误信息, 只支持unicode, ascii, 西欧字符集。
Instant client Package - jdbc为jdbc增加了xa, 国际化和RowSet操作。
Instant client Package - sqlplus包含sqlplus和需要的库文件。
Instant client Package - sdk使用Instant Client开发Oracle 应用程序需要的头文件及示例makefile。
Instant client Package - odbc使用odbc时需要的库, 不是所有平台都有,除了linux平台

其中: basic 和 basiclite 两个包中必须选一个,sqlplus包必要安装, 其他包都是可选的。

现在,我们去Oracle官方网站,下载Oracle客户端基础包+sqlplus包(这几个包的版本最好保持一致)

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
下载完成之后,上传至linux系统指定的目录:

[root@myhost developer]# cd /home/tools/
[root@myhost tools]# ll
总用量 57156
-rw-r--r--  1 root root 59865008 5月  12 13:37 oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
-rw-r--r--  1 root root   610222 5月  12 13:36 oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
-rw-r--r--  1 root root   828333 5月  12 13:36 oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

五、准备Oracle客户端需要的依赖

[root@myhost tools]# rpm -qa |grep libaio
[root@myhost tools]# yum install -y libaio  libaio-devel
[root@myhost tools]# rpm -qa |grep libaio
libaio-devel-0.3.109-13.el7.x86_64
libaio-0.3.109-13.el7.x86_64

六、安装Oracle客户端基础包+sqlplus包

注意:软件包的安装需要用root 用户执行。

  • 安装basic包
[root@myhost tools]# rpm -ivh  oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
准备中...                          ################################# [100%]
正在升级/安装...
   1:oracle-instantclient11.2-basic-12################################# [100%]
  • 安装devel包
[root@myhost tools]# rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
准备中...                          ################################# [100%]
正在升级/安装...
   1:oracle-instantclient11.2-devel-12################################# [100%]
  • 安装sqlplus包
[root@myhost tools]# rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
准备中...                          ################################# [100%]
正在升级/安装...
   1:oracle-instantclient11.2-sqlplus-################################# [100%]
[root@myhost tools]# ll /usr/lib/oracle/11.2/client64

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

[root@myhost tools]# ll /usr/lib/oracle/11.2/client64
总用量 4
drwxr-xr-x 2 root root   45 4月  15 14:22 bin
drwxr-xr-x 2 root root 4096 4月  15 14:22 lib

七、配置服务端连接地址、端口、实例名称

[root@myhost tools]# cd  /usr/lib/oracle/11.2/client64
[root@myhost client64]#  vi /usr/lib/oracle/11.2/client64/tnsnames.ora
[root@myhost client64]# cat  /usr/lib/oracle/11.2/client64/tnsnames.ora

orcl =

(DESCRIPTION =

	(ADDRESS_LIST =

		(ADDRESS = (PROTOCOL = TCP)(HOST = oracle服务端地址)(PORT = 1521))

	)

	(CONNECT_DATA =

		(SERVICE_NAME = 实例名称)

	)

)

八、配置环境变量

编辑root用户的环境变量配置文件 /root/.bash_profile

 [root@myhost client64]# vi /root/.bash_profile 
 [root@myhost client64]# tail -10 /root/.bash_profile 

#ORACLE客户端环境变量:                    
export ORACLE_CLINET_HOME=/usr/lib/oracle/11.2/client64
export TNS_ADMIN=/usr/lib/oracle/11.2/client64
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib

#sqlplus命令所在的路径:
export ORABIN=/usr/lib/oracle/11.2/client64/bin
PATH=$PATH:$ORABIN
export PATH

###使配置的环境变量生效
[root@myhost client64]# source /root/.bash_profile 

九、登录测试

以上配置完成,可以用sqlplus命令按对应用户名密码连接远程的oracle数据库,读取表了。

[root@myhost client64]# sqlplus username/"password"@"orcl"

如果 Oracle 客户端提示:client host name is not set,请在 /etc/hosts 最后一行加上以下内容

127.0.1.1  此主机的主机名

十、linux其他系统用户下操作连接oracle客户端

上面的安装如果不想用root 用户操作sqlplus来连接 远端Oracle Server,可以创建任意一个普通用户比如developer,用户创建完成后,我们把安装oracle客户端时生成目录/usr/lib/oracle/11.2/client64 更改属主和属组。

  • 创建新的普通用户。
[root@myhost client64]#  useradd developer
[root@myhost client64]# id developer
uid=1002(developer) gid=1002(developer) 组=1002(developer)
  • 更改 oracle客户端时生成目录/usr/lib/oracle/11.2/client64目录的属主和属组。
[root@myhost client64]#  chown  -R  developer:developer  /usr/lib/oracle/11.2/client64

[root@myhost client64]#  cd ../
[root@myhost 11.2]# ll
总用量 0
drwxr-xr-x 4 developer developer 45 4月  15 15:07 client64
[root@myhost client64]#  cd client64
[root@myhost client64]# ll /usr/lib/oracle/11.2/client64
总用量 8
drwxr-xr-x 2 developer developer 45 4月  15 14:22 bin
drwxr-xr-x 2 developer developer 4096 4月  15 14:22 lib
-rw-r--r-- 1 developer developer 178 4月  15 15:07 tnsnames.ora
  • 给普通用户配置oracle客户端环境变量,并使环境变量生效。

编辑developer 用户的环境变量配置文件 /home/developer/.bash_profile,内容和前面root用户设置oracle客户端环境变量一样。

 [root@myhost client64]# vi  /home/developer/.bash_profile
 [root@myhost client64]# tail -10  /home/developer/.bash_profile

#ORACLE客户端环境变量:                    
export ORACLE_CLINET_HOME=/usr/lib/oracle/11.2/client64
export TNS_ADMIN=/usr/lib/oracle/11.2/client64
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib

#sqlplus命令所在的路径:
export ORABIN=/usr/lib/oracle/11.2/client64/bin
PATH=$PATH:$ORABIN
export PATH

###使配置的环境变量生效
[root@myhost client64]# source /home/developer/.bash_profile
  • 切换到普通用户并测试
[root@myhost 11.2]# su - developer
[developer@myhost ~]$ whoami
developer
[developer@myhost ~]$ sqlplus username/"password"@"orcl"

十一、拓展(sqlplus命令的使用)

  • (1)直接使用:

格式:

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

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

示例:

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

sqlplus  username/"password"@xx.xx.xx.xx:1521/orcl
  • (2)使用别名:

先在/usr/lib/oracle/11.2/client64下 建立一个tnsnames.ora文件,里面配置服务端连接地址、端口、实例名称:

orcl =

(DESCRIPTION =

	(ADDRESS_LIST =

		(ADDRESS = (PROTOCOL = TCP)(HOST = oracle服务端地址)(PORT = 1521))

	)

	(CONNECT_DATA =

		(SERVICE_NAME = 实例名称)

	)

)

格式:

sqlplus username/"passwd"@SID or SERVICE_NAME

示例:

sqlplus  username/"password"@orcl

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

  • 3
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值