Oracle-MTS經過防火墻的設定

  如果Oracle資料庫和client端連線有經過firewall,在MTS模式下連線的設定可能需要特別注意,因為就算你防火墻開通了1521 port,但是在MTS下listener會把連線要求redirect給dispatcher,而dispatcher的port又是random port,這時候你可以選擇client端改用Dedicated 連線,或者修改dispatcher設定來達成正常連結,而不會出現ORA-12535: TNS:operation timed out。??
  1)client端改用Dedicated mode
  DD =
  (DESCRIPTION =
  (ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
  )
  (CONNECT_DATA =
  (SID = DD)
  (SERVER = DEDICATED)
  )
  )??
  2)修改dispatcher固定使用port number??
  # vi initSID.ora
  *.dispatchers="(address=(protocol=tcp)(port=5000))(dispatchers=3)"??
  # restart instance??
  # SQL> select name,network from v$dispatcher??
  NAME NETWORK
  ---- --------------------------------------------------
  D000 (ADDRESS=(PROTOCOL=tcp)(HOST=ora1)(PORT=5000))
  D001 (address=(protocol=tcp)(port=5000))
  D002 (address=(protocol=tcp)(port=5000))??
  # netstat -al |grep 5000??
  tcp 0 0 *:5000 *:* LISTEN??
  # 開放firewall 5000 port number

轉:http://www.sysop.com.cn/forum/archiver/tid-66810.html