oracle遠程連接(PLSQL,SQL developement + Oracle數據庫 + 客戶端 + 遠程連接設置

  服務器端

    配置:oracle11g R2 x64

   1.設置監聽

    a.啓動欄 -> 開始 -> 程序 -> Oracle-OraDb11g_home1 -> 配置和移植工具 -> Net Manager

    b.Oracle  Net 配置 -> 本地 -> 監聽程序 -> LISTENER ,查看是否有本地地址在監聽,沒有則添加,主機:"localhost",端口:1521,協議:TCP/IP

    2.關閉所有防火牆(包括Window防火牆)。若出現無監聽程序,就是防火牆問題了。

    3.啓動TNS監聽服務:lsnrctl  start  (此程序LSNRCTL.exe位於oracle_path/product/11.2.0/dbhome_1/BIN目錄下


PS: 我的system用戶登陸不上,sys,scott 用戶倒是可以登錄的。我貌似明白了,DBA 是不讓遠程連接的?但是用sys用戶可以以DBA登錄呀。

    客戶端(Windows)

    1.下載Instant Client for Microsoft Windows (32bit) 並安裝,地址:   instant client下載

    2.將instant client的安裝目錄加入path環境變量中

    3.創建tnsnames.ora配置文件,內容格式如下:

[plain] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. # tnsnames.ora Network Configuration File: C:\e\orcldb\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora  
  2. # Generated by Oracle configuration tools.  
  3.   
  4. WSR =  
  5.   (DESCRIPTION =  
  6.     (ADDRESS_LIST =  
  7.       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.112)(PORT = 1521))  
  8.     )  
  9.     (CONNECT_DATA =  
  10.       (SERVICE_NAME = orcl)  
  11.     )  
  12.   )  
  13.   
  14. ORACLR_CONNECTION_DATA =  
  15.   (DESCRIPTION =  
  16.     (ADDRESS_LIST =  
  17.       (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))  
  18.     )  
  19.     (CONNECT_DATA =  
  20.       (SID = CLRExtProc)  
  21.       (PRESENTATION = RO)  
  22.     )  
  23.   )  
  24.   
  25. LISTENER_ORCL =  
  26.   (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))  
  27.   
  28. ORCL =  
  29.   (DESCRIPTION =  
  30.     (ADDRESS_LIST =  
  31.       (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))  
  32.     )  
  33.     (CONNECT_DATA =  
  34.       (SERVER = DEDICATED)  
  35.       (SERVICE_NAME = orcl)  
  36.     )  
  37.   )  

    比如此文件,我創建的TNS服務名爲WRS,Oracle服務器地址爲192.168.1.112,Oracle服務器監聽端口爲1521,連接的Oracle數據庫名爲orcl,可以按此格式進行替換。

    4.添加TNS_ADMIN環境變量,指向創建的tnsnames.ora配置文件。


    至此,配置已經完成,可以用pl/sql developer之類的工具連接遠程oracle數據庫,database即爲添加的tns服務名(這裏爲WSR)


    如果要用odbc連接數據庫,還要添加odbc數據源,64位系統用C:\Windows\SysWOW64\odbcad32.exe,32位系統用C:\Windows\System32\odbcad32.exe



以下方法沒有成功呀。。。。。。。。


Oracle數據庫的遠程連接可以通過多種方式來實現,本文我們主要介紹四種遠程連接的方法和注意事項,並通過示例來說明,接下來我們就開始介紹。

第一種情況:

若oracle服務器裝在本機上,那就不多說了,連接只是用戶名和密碼的問題了。不過要注意環境變量%ORACLE_HOME%/network/admin/是否設置。

第二種情況:

本機未安裝oracle服務器,也未安裝oracle客戶端。但是安裝了pl sql development、toad sql development、sql navigator等管理數據庫的工具。在虛擬機或者另一臺電腦上安裝了oracle服務器,也就是虛擬機或者另一臺電腦此時作爲服務器。

這種情況下,本人以pl sql development遠程連接ORACLE服務端數據庫爲例:

1、在安裝oracle服務器的機器上搜索下列文件:

oci.dll
ocijdbc10.dll
ociw32.dll
orannzsbb10.dll
oraocci10.dll
oraociei10.dll
sqlnet.ora
tnsnames.ora
classes12.jar
ojdbc14.jar
把這些找到的文件複製放到一個文件夾,如 oraclient,將此文件夾複製到客戶端機器上。如放置路徑爲 D:oraclient。

2、配置tnsnames.ora,修改其中的數據庫連接串。

 

oracledata =   (DESCRIPTION =   (ADDRESS_LIST =   (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.58)(PORT = 1521))    (CONNECT_DATA =   (SERVICE_NAME = oracledata)    ) 

其中,oracledata是要連接的服務名;HOST = 192.168.0.58,是服務器IP地址;PORT = 1521是端口號。

3、添加第一個環境變量,名爲TNS_ADMIN,值爲tnsnames.ora文件所在路徑(如:D:oraclient,特別是重裝後或其它操作,忘了TNS_ADMIN變量,plsql登陸就會報無法解析指定的連接標識符),這是爲了能夠找到上面說的tnsnames.ora。這步是最重要的。

添加第二個環境變量(可有可無):“NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,(AMERICAN_AMERICA.US7ASCII 是ASCII編碼類型,其它類型可自己到服務器看一下或網上查找一下)(本步驟暫時要做對,如果編碼不對,會產生亂碼)。

 

4、下載並安裝PL SQL Developer配置應用:

打開PL SQL Developer,登入界面點取消,進入後選擇菜單欄 tools->preferences->connection :

 

Oracle Home=D:oracleclient   OCI library=D:oracleclientoci.dll 

5、再次打開plsql則會在database中有oracledata 選項輸入用戶名密碼就可以登陸。

第三種情況:

本機未安裝ORACLE服務器,但是安裝了oracle客戶端,也安裝了pl sql development、toad sql development、sql navigator等管理數據庫的工具。在虛擬機或者另一臺電腦上安裝了oracle服務器,也就是虛擬機或者另一臺電腦此時作爲服務器。

這種情況下,本人以pl sql development遠程連接oracle服務端數據庫爲例:

1、打開oracle客戶端中的net manager,配置要遠程連接的數據庫名、IP地址等,如果net manager中沒有要遠程連接的數據庫名,則新建即可。

2、其他步驟與第二種情況中的2---5相同。

第四種情況:

本機未安裝oracle服務器,也未安裝pl sql development、toad sql development、sql navigator等管理數據庫的工具,但是安裝了oracle客戶端。在虛擬機或者另一臺電腦上安裝了ORACLE服務器,也就是虛擬機或者另一臺電腦此時作爲服務器。

這種情況下,本人以oracle客戶端中的sqlplus遠程連接oracle服務端數據庫爲例:

1、打開oracle客戶端中的net manager,配置要遠程連接的數據庫名、IP地址等,如果net manager中沒有要遠程連接的數據庫名,則新建即可。

2、同第二種情況中的步驟二。

3、同第二種情況中的步驟三。

4、打開sqlplus:

(1)如果用sys用戶登入,則用戶名:sys 密碼:xxxxxx 主機字符串:要連接的數據庫名 as sysdba,登入即可。

(2)如果用其他用戶登入,則用戶名:xxx 密碼:xxxxxx 主機字符串:要連接的數據庫名,登入即可。

注意事項:

1、服務器端和客戶端防火牆需要關閉;

2、我們經常會遇到***服務無法啓動,那麼需要打開Net Configuration Assistant修復,或者新建***服務。

3、數據庫密碼如果忘了怎麼辦?按照以下方法修改密碼即可:

開始-->運行-->cmd

輸入 :sqlplus /nolog 回車

輸入 :connect / as sysdba 回車

用戶解鎖 : alter user system account unlock 回車

修改密碼:alter user system identified by manager

4、怎樣判斷數據庫是運行在歸檔模式下還是運行在非歸檔模式下?

進入dbastudio,歷程--〉數據庫---〉歸檔查看。

5、另外,如果本機和別的機子均安裝了oracle服務器端,那麼本機如果要連接別的機子,就必須修改環境變量。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章