第一次用PL/SQL Developer这个非官方的软件,遇到了种种困难,幸好通过万能的Google已经全部解决,记录下来备察.
前提是保证你的远程oracle服务器一切正常.
 
微软客户端设置
使用oracle免费发放的instant client来代替oracle client,免去了安装的麻烦,下载instantclient-basiclite-nt-11.2.0.2.0.zip解压到你想要放到的任何目录,如:D:\oracle\instantclient_11_2,创建一个名叫tnsnames.ora的文件,放到该目录下,可以先创建成txt文档,保存完下面的内容再把扩展名.txt去掉:
myDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.23)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = testdb)
)
)
注:
myDB为连接数据库别名
HOST = 192.168.7.23为你连接的数据库ip
PORT = 1521 为你数据的端口
SERVICE_NAME = testdb 为你数据库实例名
 
右击我的电脑选”属性”->“高级”->“环境变量”->”系统变量”
新增下面两个变量
TNS_ADMIN    D:\oracle\instantclient_11_2
 
NLS_LANG    SIMPLIFIED CHINESE_CHINA.ZHS16GBK
 
 
软件上的设置(版本为8.0)
在PLSQL Developer选择Tools > Preferences > connection,在右侧的 "Oracle Home" and "OCI Library"中填入以下内容:
D:\oracle\instantclient_11_2
D:\oracle\instantclient_11_2\oci.dll
完成以上的设置应该就能正常登录数据库了,如果还有别的问题,只能再次Google.
 
 
 

如何为一个instance配置多个监听,并且实现Client Load Balancing和Client Load Balancing。
打开NETCA,配置两个监听器。
LISENTER,默认监听器,一路next,就配置完毕, 监听端口1521。
配置LISENTER2,注意监听端口改为1522,其它和LISENTER一致。
这个时候,LISENTER已经可以使用了。

但是LISENTER2还是不行,因为Oracle只会为第一个默认的监听注册服务
在$ORACLE_HOME/NETWORK/ADMIN,编辑lisenter.ora文件,如下:
红色字体为需要增加的内容
SID_LIST_LISTENER2 =
(SID_LIST =
  (SID_DESC =
    (SID_NAME = WWJ)
    (ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
    (GLOBAL_DBNAME = WWJ) 
  )
)

LISTENER2 =
(DESCRIPTION_LIST =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = valen)(PORT = 1522))
  )
)


SID_LIST_LISTENER =
(SID_LIST =
  (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
    (PROGRAM = extproc)
  )
)
LISTENER =
(DESCRIPTION_LIST =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = valen)(PORT = 1521))
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
  )
)
需要解释的是,SID_LIST_<lisenter name> 这里的<lisenter name>要和LISTENER名称一致。
SID_DESC则注册要提供服务的数据库实例名。这样LISTENER2 才能够提供服务。
否则会报TNS-错误。
测试过程,配置local tns name如下:
1522 =
(DESCRIPTION =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1522))
  )
  (CONNECT_DATA =
    (SERVICE_NAME = wwj)
  )
)
1521 =
(DESCRIPTION =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
  )
  (CONNECT_DATA =
    (SERVICE_NAME = wwj)
  )
)

local =
(DESCRIPTION =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1522))
  )
  (CONNECT_DATA =
    (SERVICE_NAME = wwj)
  )
)
1522和1521分别对应两个监听器,local稍后再解释:
测试:
SQL> conn@1521
已连接。
SQL> conn@1522
已连接。
OK,再看local,
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1522))
这里的意思是,该命名对应了两个监听端口,如果一个Crash,会立刻切换到另外一个。
并且如果多个连接,会随机的分配监听。
测试
SQL> conn @local
已连接。
STOP LISENTER,再次连接,这个时候,连接比第一次慢了1秒钟左右
SQL> conn @local
已连接。
成功,这时连接上了LISTENER2

PL/SQL远程连接Oracle的方式,无需安装客户端的更多相关文章

  1. pl/sql 远程连接oracle数据库问题(TNS:丢失连接)

    前几天还可以连接的,突然就连接失效,别的电脑也连接不上 1.ping 远程数据库的IP,可以ping通. 2.检查服务端的tnsnames.ora文件和本机客户端比较,没问题. 3.查看监听是否启动  ...

  2. pl/sql远程连接oracle数据库乱码

    1. --在PLSQL Developer中查询select userenv('language') from dual ; 我的查询结果为:AMERICAN_AMERICA.ZHS16GBK 2.新 ...

  3. PL/SQL Developer 连接Oracle数据库详细配置方法

    PL/SQL Developer 连接Oracle数据库详细配置方法 近段时间很多网友提出监听配置相关问题,客户终端(Client)无法连接服务器端(Server).本文现对监听配置作一简单介绍,给出 ...

  4. Oracle.ManagedDataAccess.dll 连接Oracle数据库不需要安装客户端

    最开始,连接Oracle 数据是需要安装客户端的,ado.net 后来由于微软未来不再支持 System.Data.OracleClient 这个 Data Provider 的研发,从 .NET 4 ...

  5. 解决PL/SQL Dev连接Oracle弹出空白提示框

    第一次安装Oracle,装在虚拟机中,用PL/SQL Dev连接远程数据库的时候老是弹出空白提示框,网上找了很久,解决方法也很多,可是就是没法解决我这种情况的. 没办法,只能自己研究,经过大概一天时间 ...

  6. PL/SQL Dev连接Oracle弹出空白提示框的解决方法分享

    第一次安装Oracle,装在虚拟机中,用PL/SQL Dev连接远程数据库的时候老是弹出空白提示框,网上找了很久,解决方法也很多,可是就是没法解决我这种情况的. 出现这种问题,解决方法大概有这几种: ...

  7. 配置PL/SQL Developer连接Oracle数据库

    准备: PL/SQL Developer:我用的是plsqldev1005(32位) win32_11gR2_client:记住一定是32位的,因为PL/SQL Developer只认32位的 安装成 ...

  8. pl/sql Developer连接oracle远程数据库

    1.下载地址:PLSQL Developer 12.1正式版64位(含中文语言包.注册码).rar   https://download.csdn.net/download/bokewangyu/11 ...

  9. 使用instantclient_11_2和pl/sql Developer连接oracle远程数据库

    https://blog.csdn.net/itmyhome1990/article/details/8796781 ***************************************** ...

随机推荐

  1. java写入excel文件poi

    java写入excel文件 java写入excel文件poi,支持xlsx与xls,没有文件自动创建 package com.utils; import java.io.File; import ja ...

  2. 1,SFDC 开发篇 - 类对象和SOQL查询

    1,类对象 & 接口 & 属性   2, Object & SOQL    

  3. ps基础知识

    一 1. ps常用快捷键:ctrl+d 结束选区    ctrl+alt+z  返回          ctrl+z 撤销           ctrl+x 剪切 ctrl+t 编辑图片    ctr ...

  4. 类的高级:访问修饰符、封装、静态类成员static、内部类;

    访问修饰符: 公开访问(public):对所有子类,非子类访问: 受保护的(protected):只有同包子类.非子类.不同包子类可访问,不同包非子类不可访问: 私有的(private):只有本类可访 ...

  5. 如何利用Cron让django应用定期执行

    最近用Django写了一个项目,但是有一个地方需要应用在后台自动定期执行检查,并存入数据库,如果单纯的写Python程序的话不能很好的跟django的结合在一起,写起来也和麻烦,查找资料的时候发现了d ...

  6. java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@1f303192 rejected from java.util.concurrent.ThreadPoolExecutor@11f7cc04[Terminated, pool size = 0, active threads

    java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@1f303192 rejec ...

  7. EM算法(4):EM算法证明

    目录 EM算法(1):K-means 算法 EM算法(2):GMM训练算法 EM算法(3):EM算法运用 EM算法(4):EM算法证明 EM算法(4):EM算法证明 1. 概述 上一篇博客我们已经讲过 ...

  8. CSS3 04

    animate.css库的使用 官网:https://daneden.github.io/animate.css/ 作用:将一切常见的动画直接封装,开发者不需要考虑实现过程,只需要添加对应的类就能实现 ...

  9. mac 笔记

    ---恢复内容开始--- /* 因为外出mac 办公的时候越来越多,有时候4g wifi 流量告急,不得不寻找破解之道. */ 安装port& aircreak-ng sudo port in ...

  10. BeanUtils.populate的作用

    它是在org.apache.commons.beanutils.BeanUtils包中的一个方法. 方法的作用:将一些 key-value 的值(例如 hashmap)映射到 bean 中的属性.   ...