18禁网站免费,成年人黄色视频网站,熟妇高潮一区二区在线播放,国产精品高潮呻吟AV

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 電腦安全 > 防火墻知識(shí) > windows8防火墻如何設(shè)置oracle

windows8防火墻如何設(shè)置oracle

時(shí)間: 林輝766 分享

windows8防火墻如何設(shè)置oracle

  windows8 防火墻想要設(shè)置下oracle,該怎么辦呢?下面由學(xué)習(xí)啦小編給你做出詳細(xì)的windows8 防火墻設(shè)置oracle方法介紹!希望對(duì)你有幫助!

  windows8 防火墻設(shè)置oracle方法如下:

  在windows上安裝oracle服務(wù)后,本地訪問(wèn)數(shù)據(jù)庫(kù)沒(méi)問(wèn)題,但遠(yuǎn)程計(jì)算機(jī)無(wú)法訪問(wèn)本地?cái)?shù)據(jù)庫(kù),這種情況主要是由于本地防火墻造成的,關(guān)閉本地防火墻就可以解決該問(wèn)題,但關(guān)閉防火墻后就會(huì)有安全隱患,下面就講一下在不關(guān)閉防火墻的情況下實(shí)現(xiàn)數(shù)據(jù)庫(kù)的遠(yuǎn)程訪問(wèn)。(所有的設(shè)置都是在安裝數(shù)據(jù)庫(kù)服務(wù)的機(jī)器上進(jìn)行)

  要訪問(wèn)防火墻后的windows oracle數(shù)據(jù)庫(kù),僅僅通過(guò)簡(jiǎn)單的打開(kāi)固定TCP端口的方式是不行的。這個(gè)問(wèn)題的根本原因是windows oracle數(shù)據(jù)庫(kù)的BT設(shè)計(jì)(unix/linux無(wú)此問(wèn)題)。

  一、Oracle的網(wǎng)絡(luò)通信端口原理

  oracle數(shù)據(jù)庫(kù)的網(wǎng)絡(luò)訪問(wèn)采用了一個(gè)很BT的工作模式,其大概流程如下:

  1) oracle server上的oracle net listener進(jìn)程持續(xù)監(jiān)聽(tīng)一個(gè)固定的TCP端口(缺省是1521);

  2) client向server上的net listener端口發(fā)起連接請(qǐng)求;

  3) listenr收到client的請(qǐng)求之后,建立與client的連接,并通知server新建一個(gè)數(shù)據(jù)庫(kù)連接的服務(wù)進(jìn)程(以下簡(jiǎn)稱P),該進(jìn)程會(huì)隨機(jī)選擇一個(gè)沒(méi)有被使用的TCP端口并綁定,然后將端口號(hào)通知listener;

  4) listenr將P綁定的端口號(hào)轉(zhuǎn)發(fā)給client;

  5) client收到P的端口號(hào)后,終止與listener的連接,然后通過(guò)P的綁定端口直接連接P;

  到第5步,連接才最終完成,之后client就可以訪問(wèn)數(shù)據(jù)庫(kù)了。

  從上面的工作流程可以知道,在這種工作模式下,client實(shí)際最終連接的oracle server端口是隨機(jī)的。所以根本無(wú)法在防火墻上預(yù)先設(shè)定固定的TCP端口來(lái)使oracle server可以被訪問(wèn)。據(jù)說(shuō)oracle這么做也是不得已的,因?yàn)樵缙趙indows nt的TCP/IP部分有bug,直接使用公用端口連接會(huì)有問(wèn)題,所以oracle才搞出這么個(gè)天才的設(shè)計(jì)。不過(guò),NT4SP3之后不就沒(méi)這個(gè)bug了嗎,為啥到oracle 11g了還在用這個(gè)BT模式呢? 當(dāng)然啦,現(xiàn)在網(wǎng)絡(luò)安全性問(wèn)題這么嚴(yán)重,如果真的無(wú)法使用防火墻,windows版的oracle數(shù)據(jù)庫(kù)豈不是要賣(mài)不出去了嗎? oracle公司當(dāng)然不會(huì)那么白癡,從oracle 8i開(kāi)始,windows版的oracle也可以使用正常的工作模式了,只不過(guò)默認(rèn)仍是使用BT工作模式罷了。

  只有Windows平臺(tái)上的9i及以下版本的Oracle才會(huì)有這個(gè)問(wèn)題。Oracle在Linux以及Unix平臺(tái)下,多個(gè)進(jìn)程間可以對(duì)端口進(jìn)行復(fù)用,Oracle Server Process仍然使用的是跟監(jiān)聽(tīng)進(jìn)程一個(gè)端口(1521),客戶端只連接了一次,并沒(méi)有進(jìn)行第二次連接,與上面描述的流程相比已經(jīng)發(fā)生了變化。在Windows平臺(tái)上,10g及以上版本的數(shù)據(jù)庫(kù),也同樣利用端口復(fù)用,避免了這樣的問(wèn)題。實(shí)際上10g就是默認(rèn)USE_SHARED_SOCKET為T(mén)RUE。

  二、在防火墻中設(shè)置程序例外

  在Oracle的BT模式下,其實(shí)可通過(guò)在防火墻中設(shè)置Oracle程序例外來(lái)穿越防火墻。在防火墻的例外中添加 oracle.exe 和TNSLSNR.exe 倆個(gè)應(yīng)用程序。(在 "Oracle安裝路徑\oracle\product.2.0\db_1\BIN" 中可以找到這倆個(gè)應(yīng)用程序)

  三、在防火墻中設(shè)置端口例外

  在windows注冊(cè)表的\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEDIR (HOMEDIR是你機(jī)器上安裝的oracle數(shù)據(jù)庫(kù)的instance名稱)中添加一個(gè)字符串鍵值,名稱為USE_SHARED_SOCKET,值為T(mén)RUE(注意大小寫(xiě)),然后重啟oracle instance或直接重啟windows就OK了。

  這樣,你只要再在防火墻上打開(kāi)oracle的監(jiān)聽(tīng)端口(缺省為1521),就可以在防火墻外訪問(wèn)oracle了!

  需要在MTS模式下(共享模式) Oracle默認(rèn)是專用模式。

  經(jīng)試驗(yàn)發(fā)現(xiàn),如果不在init文件中設(shè)參數(shù)的話,Oracle仍然會(huì)要求一個(gè)隨機(jī)端口和1521端口來(lái)共同通訊,只是這個(gè)隨機(jī)端口,并不隨客戶端會(huì)話和登 錄的變化而變化,在沒(méi)有重啟服務(wù)器時(shí),是固定的。 (試驗(yàn)發(fā)現(xiàn),在專用模式下,每次連接,oracle服務(wù)器會(huì)按+1方式,提供一個(gè)非1521的端口。) 所以,還需要在init.ora文件的最后加上一條參數(shù):

  mts_dispatchers="(address=(protocol=tcp)(host=myoradb)(port=1521))(dispatchers=1)"

  這樣才真正實(shí)現(xiàn)只用一個(gè)端口,穿過(guò)防火墻。

  看了“ windows8 防火墻如何設(shè)置oracle”文章的還看了:

1.cisco PIX防火墻怎么配置

2.cisco ios防火墻特性集

3.電子商務(wù)的一種解決方案

4.linux系統(tǒng)怎么優(yōu)化

878975