一、WHY?
在日常维护的工作中,会经常遇到访问服务器数据库,我们的做法也许是这样的,先远程登录服务器,再使用服务器已安装的PL/SQL工具进行操作。
思考:当维护员大于1人?
你会说,允许多人同时远程桌面,加大允许的RD最大连接数或禁用连接数的数量。是的,这样也是可以的,但我在使用的过程中发现,多人同时连接会创建了多个会话,下次打开时,是这样的:
你不知道你打上一次打开的是哪一个会话,你也会发现有一些软件明明在运行,但是,它是不会在你的会话中显示的。
二、HOW
根据工作经验,经常使用的工具有两个:
1.Navicat
2.PL/SQL
那么如何通过这两个工具来连接Oracle数据库呢?
(特别说明:不管你使用哪种方式来处理,多人同时维护数据安全的问题依然存在。)
2.1 Windows下使用PL/SQL连接Oracle数据库
1. 下载PL/SQL Developer(我安装的是PLSQL Developer_9.0.6)
安装后如上图,用户名为空。
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,如下:
3)PL/SQL配置
打开PL/SQL,登录框上选择取消,在PL/SQL Developer中选择工具下的首选项,修改Oracle Home 和 OCI libirary (配置客户端):
关闭PL/SQL,重新打开
如果报这个错,并且你的系统是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
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连接——测试连接!
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
多记、多做笔记!