网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.关于ORACLE性能优化的好例子.
.Oracle笔记-分析函数.
.管理Oracle OLAP时清除通往OLAP的.
.ORACLE ORA-1693错误以及表和索.
.使用软式磁碟.
.如何使用DBMS_SUPPORT软件包.
.在Win2k下配置使用OEM.
.在 Linux 下如何访问 Windows 分.
.让quake3在linux下顺利运行.
.Oracle TNSListener服务启动后自.
.SQLPlus命令使用指南(一).
.Oracle中PL/SQL编程对系统性能的.
.recover database in time point.
.Oracle诊断工具-RDA使用概述.
.关于Oracle几种锁管理的汇总.
.如何允许root用户远程登录?.
.Oracle的两个重要文件:TNSNAMES.
.ORACLE SQL性能优化系列 (二).
.深入研究Oracle数据库中空间管理.
.Oracle SQL依然无可替代--《Mast.

WIN平台下仅开一个端口让Oracle穿过防火墙

发表日期:2008-2-9



  windows平台下仅开一个端口让Oracle穿过防火墙
  很多人问这个问题,查了大量资料,也没有找到真正完全解决的,经过多次试验终于成功实现。建议版主此贴加精。
  
  Oracle客户端连接服务器,首先去找1521监听端口,服务器的1521监听端口再向server process进程发出请求,并返回一个随机端口,返回给客户端,客户端再来连接这个端口。
  
  这样就给服务器上的防火墙设置带来了麻烦,这个端口是随机的,如何开放。
  
  windows 平台上的这个问题成了一大难题,很多论坛都有人问,但很少有人能解决。 unix平台不用担心,系统自动会解决这个问题.
  
  Matalink上提供了三种解决办法,实际上USE_SHARED_SOCKET 是最有效最方便的。
  
  但经过无数次实现,仍然没有成功,最后终于发现是Oracle 8.1.7的bug
  
  需要打补丁,升级到Oracle 8.1.7.1.2
  不同版本,注册表位置不一样
  - Oracle 8.1.6 for NT/2k \\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME<#> (# is your desired homedir)
  - Oracle 8.1.7.0.0 for NT/2k Doesn't work in Oracle 8.1.7.0.0 for NT/2k
  - Oracle 8.1.7.1.2 for NT/2k \\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
  
  需要在MTS模式下(共享模式)Oracle默认是专用模式。
  
  经试验发现,假如不在init文件中设参数的话,Oracle仍然会要求一个随机端口和1521端口来共同通讯,只是这个随机端口,并不随客户端会话和登录的变化而变化,在没有重启服务器时,是固定的。
  
  (试验发现,在专用模式下,每次连接,oracle服务器会按+1方式,提供一个非1521的端口。)
  
  所以,还需要在init.ora文件的最后加上一条参数:
  
  mts_dispatchers="(address=(protocol=tcp)(host=myoradb)(port=1521))(dispatchers=1)"
  
  这样才真正实现只用一个端口,穿过防火墙。
  
  参考资料:
  Oracle uses dynamic ports under windows NT because of a bug in windows, so oracle can't use shared sockets. This bug got fixed with service pack 3 I think. By default, oracle uses the dynamic ports without caring which service pack is installed. There is a registry setting to force oracle to use shared sockets. The parameter is (what a surprise!) USE_SHARED_SOCKET in LOCAL_MACHINE\Software\Oracle\HomeX where X is your desired homedir. This parameter should be set to TRUE. There's a whitepaper from oracle for this too, somewhere on their site. Anyway, this parameter doesnt work for 8.1.7 Some users reported that it worked with 8.1.6.3, but 8.1.7 termiates every conection immediately...
  
  Contributed by Arne Brutschy (abrutschy@xylon.de) on July 5, 2001.
  
  Actually, I want to establish a replication system in my local machine.. for replicating objects(tables) from remote database to a local database... what data security option i must take in to account. I request you to give me the detail description like which protocal must be used and what parameter must be set in init.ora file,sqlnet.ora and listener.ora file and what other steps to be taken... I would be very thankful to you ... if you kindly describe the things...actually i want to maintain the data privacy which happens between remote and local database while replication take place.. any one can trap the net and extract the data ... so i need to stop that.
  
  I would be very thankful to you ... this is a request.. please mail me on the address p_v_raju73@rediffmail.com.
  
  regards p.v.raju
  
  Contributed by pvraju (p_v_raju73@rediffmail.com) on October 8,
2001.
  
  Modify Windows registry.
  
  USE_SHARED_SOCKET = TRUE
  
  - Oracle 8.1.6 for NT/2k \\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME<#> (# is your desired homedir)
  
  - Oracle 8.1.7.0.0 for NT/2k Doesn't work in Oracle 8.1.7.0.0 for NT/2k
  
  - Oracle 8.1.7.1.2 for NT/2k \\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
  
  - FAQ Site
上一篇:如何在Windosws 2000中安装PHP4并访问Oracle 人气:520
下一篇:如何可以在RHAS3上成功安装Oracle9204 人气:695
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐