自己最近需要在 Oracle 生产环境检查一些数据,但是目前大多数的生产环境,出于安全考虑,不会提供图形界面让你使用类似 Navicat 工具让你直接访问数据库,网上找了很多资料,大部分都比较过时或者无法使用。所以就把自己摸索的过程记录下来,希望可以帮到同样有需求的小伙伴

第一步:下载和安装工具

首先下载 Oracle 客户端和 sqlplus 链接工具(我使用 CentOS 7,其他版本系统需要在官方找一下对应版本):

wget https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient21/x86_64/getPackage/oracle-instantclient-basic-21.1.0.0.0-1.x86_64.rpm
wget https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient21/x86_64/getPackage/oracle-instantclient-sqlplus-21.1.0.0.0-1.x86_64.rpm

然后安装 rpm 包,命令如下:

rpm -ivh oracle-instantclient-basic-21.1.0.0.0-1.x86_64.rpm
rpm -ivh oracle-instantclient-sqlplus-21.1.0.0.0-1.x86_64.rpm

安装后通常客户端会在如下目录:

/usr/lib/oracle/21/client64

如果不确定的话,可以使用 whereis oracle 搜索一下看看,接下来开始配置

第二步:配置环境和 /network/admin 文件

打开当前环境变量配置:

vim /etc/profile

首先把 oracle/client 程序加入 Linux 系统环境变量

export ORACLE_HOME=/usr/lib/oracle/21/client64
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export TNS_ADMIN=$ORACLE_HOME/network/admin

ORACLE_HOME 根据你自己的系统路径调整,最后可以刷新一下文件

source /etc/profile

然后创建连接文件,必须在 $ORACLE_HOME/network/admin 目录下:

cd /usr/lib/oracle/21/client64
vim network/admin/tnsnames.ora

文件格式如下:

test =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = *.*.*.*)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = your_service_id)
)
)

第三步:连接和访问

配好环境变量就可以使用 sqlplus 命令,格式是: sqlplus user/pass@tnsnames的实例名,如下:

sqlplus user/pass@test

SQL*Plus: Release 21.0.0.0.0 - Production on Fri Jun 11 14:37:00 2021
Version 21.1.0.0.0 Copyright (c) 1982, 2020, Oracle. All rights reserved. Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>

看到以上命令就代表成功了,然后就可以执行 SQL 查看数据了:

# 查看当前用户的所有表
SELECT table_name FROM user_tables;

sqlplus 中文乱码问题

最后如果遇到 sqlplus 中文乱码问题,可以修改当前 /etc/profile 在系统上加入对字符编码: "SIMPLIFIED CHINESE_CHINA.AL32UTF8" 的支持即可,具体如下:

vim /etc/profile
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
source /etc/profile

就可以正常显示中文了。

Linux 环境下使用 sqlplus 访问远程 Oracle 数据库的更多相关文章

  1. 设置sqlplus访问远程oracle数据库的最快方法

    设置sqlplus访问远程oracle数据库的最快方法 时间:2010-01-21 10:57来源: 作者: 点击: 2次 设置sqlplus访问远程oracle数据库的最快方法,如果要连接远程数据库 ...

  2. 本地主机不安装oracle客户端--访问远程oracle数据库

    在不安装oracle客户端情况下用sqlplus连接数据库: 1.去官网下载 http://www.oracle.com/technetwork/topics/winx64soft-089540.ht ...

  3. Linux环境下安装mysql(远程连接),zookeeper,java,tomcat.

    环境阿里云centos7.5 64位 + FinalShell + Navicat Permium 12 用到的压缩包(版本看后缀) 注意:安装均在/usr/local目录下,下面代码中#号不要复制上 ...

  4. Linux环境下通过ODBC访问MSSql Server

    为了解决Linux系统连接MSSql Server的问题,微软为Linux系统提供了连接MSSql Server的ODBC官方驱动.通过官方驱动,Linux程序可以方便地对MSSql Server进行 ...

  5. 不安装 oracle的客户,就可以使用pl/sql访问远程oracle 数据库的方法

    免安装Oracle客户端使用PL/SQL连接Oracle      大家都知道,用PL/SQL连接Oracle,是需要安装Oracle客户端软件的.有没要想过不安装Oracle客户端直接连接Oracl ...

  6. 全世界最详细的图形化VMware中linux环境下oracle安装(二)【weber出品必属精品】

    <ORACLE 10.2.05版本的升级补丁安装> 首先我们解压 $ unzip p8202632_10205_LINUX.zip 解压后我们会发现多出了个文件夹,他是:Disk1,进入D ...

  7. 全世界最详细的图形化VMware中linux环境下oracle安装(一)【weber出品必属精品】

    安装流程:前期准备工作--->安装ORACLE软件--->安装升级补丁--->安装odbc创建数据库--->安装监听器--->安装EM <前期准备工作> 安装 ...

  8. linux 环境下部署 Asp.Net Core 项目 访问 oralce 数据库

    1.ASP.NET Core 是一个跨平台的高性能开源框架,可以部署到Linux上,那项目部署在Linux上有哪些好处呢? 1.linux硬件需求小,大部分版本免费,成本低. 2.linux的用户管理 ...

  9. Linux环境下Oracle安装参数设置

    前面讲了虚拟机的设置和OracleLinux的安装,接下来我们来说下Oracle安装前的准备工作.1.系统信息查看系统信息查看首先服务器ip:192.168.8.120服务器系统:Oracle Lin ...

  10. 【云和恩墨】性能优化:Linux环境下合理配置大内存页(HugePage)

    原创 2016-09-12 熊军 [云和恩墨]性能优化:Linux环境下合理配置大内存页(HugePage)   熊军(老熊) 云和恩墨西区总经理 Oracle ACED,ACOUG核心会员 PC S ...

随机推荐

  1. 《模拟龙生》|500行Go代码写一个随机冒险游戏|巨龙修为挑战开启

    一.前言 新年就要到了,祝大家新的一年: 龙行龘龘, 前程朤朤! 白泽花了点时间,用 500行 Go 代码写了一个控制台的小游戏:<模拟龙生>,在游戏中你将模拟一条新生的巨龙,开始无尽的冒 ...

  2. sql server主从同步

    sql server主从方案介绍   sql server 作为目前主流的数据库,用户遍布世界各地.sql server也有一些比较成熟的主备方案,目前主要有:复制模式(发布-订阅模式).镜像传输模式 ...

  3. 【收集】Tool

    序 链接 备注 1 WinMerge - You will see the difference- 开源windows比对工具 2 AykutSarac/jsoncrack.com: Seamless ...

  4. [转帖]Prometheus-使用python开发exporter

    exporter有很多,但想要特定需求的话,还需自行开发.在这里使用python写一个exporter,用于监控/root下的目录数量. 开发exporter需要使用prometheus_client ...

  5. [转帖]记录一则enq: TX - row lock contention的分析过程

    https://www.cnblogs.com/jyzhao/p/8628184.html 故障描述:与客户沟通,初步确认故障范围大概是在上午的8:30-10:30之间,反应故障现象是Tomcat的连 ...

  6. [转帖]Docker-Compose 自动创建的网桥与局域网冲突解决方案

    https://zhuanlan.zhihu.com/p/379305319 Docker-Compose 自动创建的网桥与局域网冲突解决方案 当我使用docker-compose的方式部署内网的ha ...

  7. [转帖]fio工具中的iodepth参数与numjobs参数-对测试结果的影响

    测试环境 3台服务器:ceph配置内外网分离,外网使用万兆线,内网使用千兆线,osd共21个. 1台客户端:安装fio工具.内核客户端,使用万兆线. 测试目的 针对fio工具中的iodepth(队列深 ...

  8. 【转帖】eBay 云计算“网”事|网络重传篇

    https://www.infoq.cn/article/iy1drmf6wk8up14dchq8/ #导读 在之前的eBay云计算"网"事|网络超时篇和eBay云计算" ...

  9. AI五子棋 C++ 借助图形库raylib和raygui 设计模式思考过程和实现思路总结

    转载请注明 原文链接 :https://www.cnblogs.com/Multya/p/17988499 repo: https://github.com/Satar07/AI_GoBang_Pub ...

  10. 源码学习之Spring容器创建原理

    1 前言 众所周知,Spring可以帮我们管理我们需要的bean.在我们需要用到这些bean的时候,可以很方便的获取到它,然后进行一系列的操作.比如,我们定义一个bean MyTestBean pub ...