PLSQL/Navicat连接服务器Oracle数据库

一、WHY?

  在日常维护的工作中,会经常遇到访问服务器数据库,我们的做法也许是这样的,先远程登录服务器,再使用服务器已安装的PL/SQL工具进行操作。
  思考:当维护员大于1人?
  你会说,允许多人同时远程桌面,加大允许的RD最大连接数或禁用连接数的数量。是的,这样也是可以的,但我在使用的过程中发现,多人同时连接会创建了多个会话,下次打开时,是这样的:

image.png

你不知道你打上一次打开的是哪一个会话,你也会发现有一些软件明明在运行,但是,它是不会在你的会话中显示的。

二、HOW

根据工作经验,经常使用的工具有两个:
 1.Navicat
 2.PL/SQL
那么如何通过这两个工具来连接Oracle数据库呢?
(特别说明:不管你使用哪种方式来处理,多人同时维护数据安全的问题依然存在。)

2.1 Windows下使用PL/SQL连接Oracle数据库

1. 下载PL/SQL Developer(我安装的是PLSQL Developer_9.0.6)
image.png

安装后如上图,用户名为空。

2.连接数据库,到这里分两种情况
a.你的电脑上没有安装过Oracle,下载Oracle Client

https://download.oracle.com/otn/nt/instantclient/11204/instantclient-basic-windows.x64-11.2.0.4.0.zip
1.解压到D:\app\oraclient,添加tnsnames.ora文件(为了与安装版统一,在当前目录下,新建文件夹NETWORK\ADMIN,将tnsnames.ora放在文件夹下)

#D:\app\oraclient\NETWORK\ADMIN\tnsnames.ora
BOS2 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ***.**.**.**)(PORT = **))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORCL)
    )
  )

2)配置环境变量TNS_ADMIN,我的电脑——属性——高级——环境变量(系统环境变量)
TNS_ADMIN= D:\app\oraclient\NETWORK\ADMIN,如下:

image.png

3)PL/SQL配置
打开PL/SQL,登录框上选择取消,在PL/SQL Developer中选择工具下的首选项,修改Oracle Home 和 OCI libirary (配置客户端):
image.png

关闭PL/SQL,重新打开

image.png

如果报这个错,并且你的系统是64位,说明PL/SQL是32位的,重新下载32位的Oracle客户端。
https://download.oracle.com/otn/nt/instantclient/11204/instantclient-basic-nt-11.2.0.4.0.zip
覆盖D:\app\oraclient下除NETWORK以外的文件即可。
4)配置环境变量,解决PLSQL中中文乱码问题或报表乱码问题

NLS_LANG= SIMPLIFIED CHINESE_CHINA.ZHS16GBK
image.png
b.你的电脑上安装过Oracle,直接配置

这种情况下,就比较简单了,不用再下载客户端重走弯路。
直接打开Oracle的安装目录:D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN,打开tnsnames.ora,加入配置:

BOS2 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ***.**.**.**)(PORT = **))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORCL)
    )
  )

环境变量、PL/SQL都不用再配置。

2.2 Mac下使用Navicat连接Oracle数据库

  Navicat Premium版支持连接所有数据库,并且简单、快速地在各种数据库系统间传输数据,有For MySQL、For Oracle、For SQL Server等的版本,是一个很好用的数据库连接工具。我用的一直是Premium版。
  在Mac上安装PL/SQL,网上有篇文章说《MAC系统中借助Wineskin安装PLSQLDeveloper最新文档》,或者安装虚拟机更痛快。我自己的小mac air经不住折腾,我选择使用Navicat去连接。

1.安装Navicat
2.打开终端——修改/etc/hosts(mac上的navicat不需要配置tnsnames.ora)
Last login: Wed Nov 20 10:04:55 on ttys000
~ mac$hostname
MacBook-Air-Of-King.local
~ mac$vim /etc/hosts
~ mac$
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##       
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost
***.**.**.** MacBook-Air-Of-King.local

保存退出。

3.使用navicat连接——测试连接!
image.png
4.端口为服务器开放相应的端口:
# listener.ora Network Configuration File: D:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:D:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 服务器名称)(PORT = ****))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 服务器名称)(PORT = ****))
    )
  )

ADR_BASE_LISTENER = D:\app\Administrator

三、SUM UP

多记、多做笔记!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。