配置使用Navicat或PLSQL可视化工具远程连接Oracle
Posted 微枫Micromaple
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了配置使用Navicat或PLSQL可视化工具远程连接Oracle相关的知识,希望对你有一定的参考价值。
写在前面
本文讲解的是在没有 Oracle 环境,如何使用可视化工具配置远程连接服务器 Oracle 数据库。
目录
一、概述
很多时候,我们需要使用SQL客户端工具连接服务器的 Oracle,由于本地没有安装Oracle
,没有连接Oracle
的oci.dll
文件,导致使用可视化工具(如Navicat
、PLSQL
等)连接不上 Oracle。Oracle
官网的一个客户端工具包Instant Client
,可以帮助我们解决这个问题。
这里以
Oracle Version 11.2.0.4.0
为例。如果你需要连接服务器的 Oracle 版本为其他版本,选择对应版本号进行操作。
二、下载 Oracle Instant Client
首先到官网下载Oracle Instant Client
。
下载地址:
https://www.oracle.com/database/technologies/instant-client/downloads.html
首先选择你客户端操作系统,我这里是Windows 64 位,选择第一个即可
找到版本为11.2.0.4.0
,选择Instant Client Package - Basic
,进行下载。
下载完成后解压到一个能够方便找到的文件夹。如图:
三、配置环境变量
位置:选中我的电脑
—>右键点击属性
—>找到高级系统设置
—>点击环境变量
配置如下:
- 在系统变量中增加变量名:
ORACLE_HOME
,变量值:D:\\tools\\instantclient_11_2
- 编辑系统变量中的
Path
,在变量值中增加%ORACLE_HOME%
- 在系统变量中增加变量名:
TNS_ADMIN
,变量值:%ORACLE_HOME%
- 在系统变量中增加变量名:
NLS_LANG
,变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
四、配置监听
在刚刚我们解压后的instantclient_11_2
的目录下增加tnsnames.ora
文件。内容如下:
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.xxx)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
- HOST: 需要连接数据库的IP或主机名
- PORT: 需要连接数据库的端口
- SERVICE_NAME: 需要连接数据库的实例名
最外层的 ORCL 为对本机暴露的实例名称
五、可视化工具环境配置
5.1、Navicat
在Navicat
中配置OCI
环境后,重启Navicat
即可。
配置位置:工具—>选项—>环境
5.2、PLSQL
配置位置:Preferences—>Connection
注意:配置好后需要重启工具,在进行登录
Navicat 远程连接 MySQL
Navicat 远程连接 MySQL
相信大家都有在远程服务器上进行开发吧,其中 MySQL 的使用率应该也会挺高,如果使用 Navicat 等可视化工具来操作远程数据库不失为一种很好的选择,避免了在命令行写 SQL 语句的操作。下面简单介绍一下 Navicat 连接远程数据库的操作。
1
首先我们需要更改 3306端口,查看3306 端口是否对外开放,MySQL 默认情况下是不开放对外访问功能的。语句如下:
netstat -an | grep 3306
如果查询结果如下,需要我们更改 MySQL 配置文件。
可以看出,mysql的3306端口只是监听本地的连接,这样就阻碍了外部IP对该数据库的访问,修改 MySQL 配置文件 my.conf :
vim /etc/mysql/my.cnf
找到
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
将bind-address = 127.0.0.1
这行注释掉或者改为你想要使用的客户端主机 ip。
至此 MySQL 远程访问端口就成功开启了。
2
我们进入 MySQL 命令界面,运行下列SQL 语句,查看用户是否具有访问权限:
use mysql;
select user, host from user;
返回结果如下:
我们使用通配符 % 来修改 root 用户对应的 host 字段,使具有访问所有 ip 地址的权限:
update user set host = ‘%‘ where user = ‘root‘;
如果抛出如下异常:
Duplicate entry ‘%-root‘ for key ‘PRIMARY‘
说明有多个ROOT用户纪录在USER表中了,我们重新执行:
select host from user where user = ‘root‘;
便能看到字段 host 的 % 值。
我们执行:
flush privileges;
刷新一下 MySQL 的系统权限相关表。
最后重启一下 MySQL 服务:
sudo restart mysql
3
服务端设置好了,我们在 Navicat 客户端设置一下连接:
打开 Navicat,点击左上方的 "连接",设置一下数据库的用户名,地址,密码等,便能在 Navicat 中远程操作服务器上的 MySQL 啦。
以上是关于配置使用Navicat或PLSQL可视化工具远程连接Oracle的主要内容,如果未能解决你的问题,请参考以下文章