PL/SQL远程连接Oracle的方式,无需安装客户端

第一次用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>
[email protected]
已连接。
SQL>
[email protected]
已连接。
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

时间: 2024-10-06 06:34:41

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

用PL/SQL远程连接Oracle

1.远程连接Oracle无需打开Oracle服务,可以在服务中将其管理,节约点资源 2.修改oracle目录下tnsnames.ora文件 我的目录是:D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora 最后面添加: ora =  (DESCRIPTION =    (ADDRESS = (PROTOCOL = TCP)(HOST =115.238.***.***)(PORT = 1521))    (CONNECT_DATA =  

C#远程连接Oracle数据库(不安装客户端)

本文 由 彭旭 创作,采用 知识共享 署名-相同方式共享 3.0 中国大陆 许可协议进行许可.欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接. 前言由于工作需要,现需要从远程Oracle数据库获取数据.本人开始以为可以直接远程,试了下竟然不行,提示“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本.”.公司的要求就是不装客户端,没法子只好找找看有没有其他方案. Instant Oracle运气不错,还真找到一可用

pl/sql远程连接oracle总结

这几天,重装系统,所谓的开发工具都要重新安装.有点小苦恼,然而也学到了不少的实践操作知识,在此以飨读者. 由于电脑的是低压版,运行大型软件cpu和内存比较吃紧.以前在我的本本上装了oracle10g和oracle11g,都比较卡.这次重装系统后,我决定不装本地的oracle数据库.就远程连接内网服务器的数据库.开发数据库首选工具,在我看来还是pl/sql developer,虽然还有oracle sql devlelopment和Toad等. 第一步首先安装pl/sql developer,这一

PL/SQL 远程连接oracle Oracle 10g学习系列(6)

因为我本地没有安装oracle,用PL/SQL Developer远程连接服务器需要如下配置: 1.软件准备 oracle客户端:instantclient-basic-win32-11.2.0.1.0.zip PL/SQL软件:PL/SQL_Developer.zip 2.oracle客户端解压,放在D:\OraclerProgram\instantclient_11_2, 又新建文件D:\OraclerProgram\instantclient_11_2\network\admin\tnsn

如何用PL/SQL Developer连接Oracle数据库

之前因为项目的原因需要使用Oracle数据库,由于时间有限没办法从基础开始学习,而且oracle操作的命令界面又太不友好,于是就找到了PL/SQL Developer这个很好用的软件来间接使用数据库. 下面简单介绍一下如何用这个软件连接Oracle数据库. 第一步 安装Oracle Database和PL/SQL Developer 这一步网上有很多的教程就不详细介绍.Oracle可以直接到官网去下载,在安装中注意几个问题就行: 1.一定要记住自己全局数据库名字和口令,这个在后面连接的时候很重要

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

第一次安装Oracle,装在虚拟机中,用PL/SQL Dev连接远程数据库的时候老是弹出空白提示框,网上找了很久,解决方法也很多,可是就是没法解决我这种情况的. 没办法,只能自己研究,经过大概一天时间吧,还是搞好了,写个总结. 出现这种问题,解决方法大概有这几种: 1.权限不够,导致弹出空吧提示框.(直接上链接) http://jingyan.baidu.com/article/066074d6760959c3c21cb0d6.html 就PL/SQL图标上点右键---属性---兼容性--管理员

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

近段时间很多网友提出监听配置相关问题,客户终端(Client)无法连接服务器端(Server).本文现对监听配置作一简单介绍,给出PL/SQL Developer 连接Oracle数据库详细配置方法,并提出一些客户终端无法连接服务器端的解决思路,愿对广大网友与读者有一些帮助. 一.监听器(LISTENER) 监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求.既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器

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

准备: PL/SQL Developer:我用的是plsqldev1005(32位) win32_11gR2_client:记住一定是32位的,因为PL/SQL Developer只认32位的 安装成功后,需要配置环境变量: TNS_ADMIN环境变量,类似于:C:\app\Lzj\product\11.2.0\client_1\network\admin.这个变量实际上是PL/SQL Developer寻找tnsnames.ora的依据.有了这个环境变量,PL/SQL Developer启动是

使用instantclient 11 2和pl/sql Developer连接oracle远程数据库

1.下载Instant Client         Oracle官网地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 或CSDN免积分下载:instantclient-basic-nt-11.2.0.2.0         下载后是一个压缩文件,解压后的文件叫instantclient_11_2,放在自己喜欢的目录,如:D:/instantclient_11_2 2.D