正确连接Oracle RAC集群的客户端配置姿势

这么多年来,Oracle数据库连接的繁琐程度一直没变化,就是这么D,爱咋咋儿!版本更新到19c以后,来看看两种最流行的客户端配置。以下验证基于cn_windows_10_enterprise_ltsc_2019_x64_dvd_d17070a8.iso平台。

1、使用SQL Developer,安装包sqldeveloper-19.2.1.247.2212-x64.zip

这个客户端算是最简单而且免费的方式,不需要配置环境变量,功能也足够DBA使用。但实际使用并不广泛,原因大家都知道。

2、使用PL/SQL Developer,这个客户端非常流行,不管是OCM还是各种DBA都用它。安装包需要plsqldev1306x64.msi和WINDOWS.X64_193000_client.zip,现在已经没有什么client必须是32bit的要求了,知识需要不断更新。

首先安装Oracle自家的完整Client,再配置环境变量和TNSNAMEs.ora信息;那些解压即用的客户端建议抛弃。

创建最精简的tnsnames.ora信息,默认该文件范例在sample目录,还是自建一个吧,那个范例真的太繁琐了。

HOST为SCAN IP或NAME,确保能解析到它。

orcl1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.24)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)

如果客户端连接报“ORA-12154: TNS: 无法解析指定的连接标识符”错误,则留意SERVICE_NAME参数错误,可借助tnsping来验证参数;

如果你懒得修改环境变量,则需要把PL/SQL中的参数直接用路径代替,新手不知道ORACLE_HOME变量是啥,该信息在安装Oracle Client最后一步有展示,建议将该响应文件保留下来,OCI库只需要在Client路径中找到oci.dll即可。

细心的SE会发现,没有配置tnsnames信息之前上图参数是3行,配置之后是4行;
看图中OCI.dll的信息
验证数据库是否正常操作,软件激活的事儿就不用提了,自行解决即可!

其它的各种五花八门的instant client/basic/basic light等建议大家就别折腾了。纯属浪费生命!