Linux 环境下使用 sqlplus 访问远程 Oracle 数据库
2021-06-12 08:28
1316 查看
自己最近需要在 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/client64export 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/client64vim 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/profileexport NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8" source /etc/profile
就可以正常显示中文了。
相关文章推荐
- 不安装 oracle的客户,就可以使用pl/sql访问远程oracle 数据库的方法
- 不安装 oracle的客户,就可以使用pl/sql访问远程oracle 数据库的方法
- 用Instant Client,不安装oracle客户端使用sqlplus连接远程数据库
- linux 环境oracle sqlplus下使用退格backspace回删出现^H的解决办法
- 用putty远程访问虚拟机linux系统Oracle数据库。
- Linux下使用C/C++访问数据库——Oracle之OCI篇
- linux 环境oracle sqlplus下使用退格backspace回删出现^H的解决办法
- Linux环境下Oracle Sqlplus中使用上下键调用SQL语句的方法
- 将Oracle数据库改为归档模式并启用RMAN备份 如下Linux环境下对Oracle单节点数据库采用文件系统情况的配置归档模式过程。首先查看数据库归档模式和磁盘使用情况,确定归档文件放到什么位置。
- linux 环境oracle sqlplus下使用退格backspace回删出现^H的解决办法
- Oracle9中使用sqlplus连接远程数据库
- linux环境oraclesqlplus下使用退格backspace回删出现^H的解决办法
- Linux下使用C/C++访问数据库——Oracle之OCI篇
- oracle的客户,就可以使用pl/sql访问远程oracle 数据库的方法
- Linux环境下的Jboss4.2.3使用run.sh正常启动后,远程没法访问项目
- 不安装 oracle的客户,就可以使用pl/sql访问远程oracle 数据库的方法
- oracle:unix(linux适用)环境下使用occi远程连接oracle数据库(新人教学版)---3
- oracle:unix(linux适用)环境下使用occi远程连接oracle数据库(新人教学版)---2
- oracle:unix(linux适用)环境下使用occi远程连接oracle数据库(新人教学版)---1
- 用Instant Client,不安装oracle客户端使用sqlplus连接远程数据库