oracle遠程機器plSql連接問題

(一)不安裝客戶端的解決辦法。
第一種方法:
1、在安裝ORACLE服務器的機器上搜索下列文件,
oci.dll
ocijdbc10.dll
ociw32.dll
orannzsbb10.dll
oraocci10.dll
oraociei10.dll   (可能服務器沒有,如果沒有則pl sql 隨便用戶名密碼可以登陸)
sqlnet.ora
tnsnames.ora
classes12.jar
ojdbc14.jar
放到一個文件夾,如 oraclient
2、配置tnsnames.ora,如果本機上沒有安裝oracle,可以從安裝了oracle的機上拷貝一個(tnsnames.ora文件在%ORACLE_HOME%\network\admin下)放在上面的目錄D:\oraclient下。
oracledata =
(DESCRIPTION =
(ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.58)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = oracledata)
    )
)
3、添加一個環境變量,名爲TNS_ADMIN,值爲tnsnames.ora文件所在路徑(如:D:\oraclient,特別是重裝後或其它操作,忘了TNS_ADMIN變量,plsql登陸就會報無法解析指定的連接標識符),這是爲了能夠找到上面說的tnsnames.ora。如果本機上安裝了ORACLE,並且設置了ORACLE_HOME環境變量,那麼會自動在%ORACLE_HOME%/network/admin/位置查找tnsnames.ora文件。
4、設置ORACLE的語言,添加環境變量:
“NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,(AMERICAN_AMERICA.US7ASCII 是ASCII編碼類型,其它類型可自己到服務器看一下或網上查找一下)
(本步驟暫時要做對,如果編碼不對,會產生亂碼)
5、下載並安裝PL.SQL.Developer配置應用
配置tools->preferences->connection
Oracle Home=D:\oracleclient
OCI library=D:\oracleclient\oci.dll
6、再次打開plsql則會在database中有oracledata 選項輸入用戶名密碼就可以登陸。


第二種方法:
1。首先去oracle的官方下載客戶端的壓縮包,地址是:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html,選擇機器的操作系統後選擇oracle對應的版本的base那個壓縮包下載。
2。將下載後的壓縮包解壓到相應的目錄,比如 D:\worksoftware\instantclient_10_2下;
3。在這個目錄下建立NETWORD目錄,再在NETWORK目錄下建立ADMIN目錄,如D:\worksoftware\instantclient_10_2\NETWORK\ADMIN;
4。在第二步所建立的目錄下新建一個tnsnames.ora文件,當然也可以從服務器上copy這個文件,文件的內容如下
databasename =   
(DESCRIPTION =   
      (ADDRESS_LIST =   
        (ADDRESS = (PROTOCOL = TCP)(HOST = ip address)(PORT = 1521))   
      )   
      (CONNECT_DATA =   
        (SERVICE_NAME = database name)   
      )  
    ) 
databasename =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = ip address)(PORT = 1521))
      )
      (CONNECT_DATA =
        (SERVICE_NAME = database name)
      )
    )
 
例如我的就是
  ORCL =  
  (DESCRIPTION =   
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.113)(PORT = 1521))   
    (CONNECT_DATA =   
      (SERVER = DEDICATED)  
      (SERVICE_NAME = orcl)  
    )   
  ) 
ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.113)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )
5。打開PL SQL DEVELOPER 工具,點擊tools-》preferences在右側的oracle home裏填上客戶端的home,如D:\worksoftware\instantclient_10_2;在OCI Library裏填上oci.dll路徑,如D:\worksoftware\instantclient_10_2\oci.dll;
6。配置環境變量nls_lang 變量值是:SIMPLIFIED CHINESE_CHINA.ZHS16GBK這個東西主要是解決中文問題的。
7。ok配置完畢,應該是可以的啦,最好在啓動之前先ping下遠程的服務器,通了就應該可以連接上了
我的配置,其中BOC_TEST_91等爲連接字符串
BOC_TEST_91 =   
  (DESCRIPTION =   
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.29.91)(PORT = 1521))   
    (CONNECT_DATA =     
      (SERVICE_NAME = bot)   
    )   
  )
BOC_TEST_68 =   
  (DESCRIPTION =   
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.19.68)(PORT = 1521))   
    (CONNECT_DATA =     
      (SERVICE_NAME = bot)  
    )  
  )
BOC_PRO_56 =   
  (DESCRIPTION =   
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.11.56)(PORT = 1521))   
    (CONNECT_DATA =     
      (SERVICE_NAME = bop)  
    )  
  )


(二)安裝客戶端的解決辦法
一、配置oracle服務器的監聽器listener
修改<安裝目錄>/network/admin/目錄下的listener.ora和tnsnames.ora兩個文件。其中
listener文件大致如下:
# listener.ora Network Configuration File: /oracle/app/product/10.1.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = /oracle/app/product/10.1.0/db_1)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = demo1) #demo1爲oracle實例名
      (ORACLE_HOME = /oracle/app/product/10.1.0/db_1)
      (SID_NAME = demo1)
    )
)
LISTENER =
(DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.100)(PORT = 1521))    #IP地址爲oracle服務器
    )
)
tnsnames.ora文件大致修改如下:
# tnsnames.ora Network Configuration File: /oracle/app/product/10.1.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
DEMO1 =
(DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.100)(PORT = 1521)) #IP地址爲oracle服務器
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = DEMO1) #demo1爲oracle實例名,或者服務名稱此名稱可通過netmgr或netca修改
    )
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
)
以上修改也可通過圖形界面的netmgr和netca進行配置。修改之後,重啓監聽器
二、下載安裝oracle客戶端。
在安裝pl/sql developer的本地機器上必須安裝oracle客戶端(此處指針對oracle 10g版本,有說也可只安裝相關驅動如oci驅動,具體不詳。並且客戶端不一定爲10g版本,8i,9i皆可)。
1.從官網上下載綠色版本的客戶端,地址如下(或有改變):
http://www.oracle.com/technology/software/tech/oci/instantclient/index.html
下載需要oracle用戶,可免費註冊
2.綠色版無需安裝,將此下載解壓至某處,並在其下建立一network目錄,目錄下再建admin目錄,結構如下
<客戶端目錄>/network/admin,在admin目錄中建立tnsnames.ora文件,內容大致如下:
demo1 = #oracle服務名
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.100)(PORT = 1521)) #oracle服務器地址與端口
      )
      (CONNECT_DATA =
        (SERVICE_NAME = demo1)
      )
    )
三、在PL/SQL developer中配置客戶端信息。
打開PL/SQL developer,暫不登錄,選擇菜單tools->preferences->connection,設置如下兩項:
Oracle Home: D:\Program Files\instantclient_11_1       #客戶端解壓目錄
OCI library: D:\Program Files\instantclient_11_1\oci.dll       #oci庫文件路徑,oci.dll應該在客戶端目錄下。
 
保存,重啓PL/SQL developer,些時應可看到登錄框中Database下拉選項裏有你剛剛配置的遠程服務器上的服務實例demo1了。
發佈了87 篇原創文章 · 獲贊 9 · 訪問量 30萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章