程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> 關於Oracle數據庫 >> 關於oracle配置多個數據庫的問題

關於oracle配置多個數據庫的問題

編輯:關於Oracle數據庫

  Oracle中可以配多個數據庫,並只需要開啟一個偵聽器就可以了,對多個數據庫只要配置相應的服務命名就可以連接了。

  我用的是Oracle 8.1.7 Enterprise Edition,OS是Windows 2000 Server,我把我的配置過程和情況圖解說明一下,和大家共同探討。

  

  第一步:用Net8 Configuration Assistant工具配置監聽器,一直點下一步,最後完成即可!監聽地址一般配成默認的1521就可以了。

  也可以用Net8 Assistant工具來驗證或配置監聽器,如下圖,可以配置主機和端口。

  

  第二步:用Net8 Assistant工具來配置命名服務,如下圖:

  注意服務名是數據庫名,主機名和端口號一定要和監聽器的一樣!

  

  測試一下,連接成功,OK!

  

  好,再配第二個庫的服務命名,如下圖:

  注意服務名要對應到第二個數據庫名!

  

  再測試一下第二個庫的連接,連接成功,OK!

  

  最後有幾點注意:

  1.對一般如果有多個應用程序用Oracle的數據庫,一般只需要建立一個數據庫就可以了,對不同的應用設立不同的用戶(不同的表空間)就可以了。

  2.如果多個應用程序的字符集不一樣,如既有BIG5又有GB2312,那一般就需要考慮配置多個服務器,或者建立多個數據庫,或者轉換到UTF-8之類的字符集。

  3.如果開發需要裝多個版本的Oracle,如同時安裝Oracle9i和Oracle8.1.7,則需要配置各自的監聽端口,環境變量沒有什麼需要配置的,不會沖突;注冊表都放在HKEY_LOCAL_MACHINESOFTWAREORACLE下,但是會分HOME0~HOME...不同的Key中存放,所以也不會有沖突。

  4.配置命名服務和監聽器還可以直接編輯如下2個文件:

  監聽器:$ORACLE_HOME$ etworkADMINlistener.ora,一般文件如下:

  # LISTENER.ORA Network Configuration File: D:DATABASEOracle81 etworkadminlistener.ora

  # Generated by Oracle configuration tools.

  LISTENER =

  (DESCRIPTION_LIST =

  (DESCRIPTION =

  (ADDRESS_LIST =

  (ADDRESS = (PROTOCOL = TCP)(HOST = HARRY)(PORT = 1521))

  )

  )

  )

  SID_LIST_LISTENER =

  (SID_LIST =

  (SID_DESC =

  (SID_NAME = PLSExtProc)

  (ORACLE_HOME = D:DATABASEOracle81)

  (PROGRAM = extproc)

  )

  (SID_DESC =

  (GLOBAL_DBNAME = ORASUN)

  (ORACLE_HOME = D:DATABASEOracle81)

  (SID_NAME = ORASUN)

  )

  (SID_DESC =

  (GLOBAL_DBNAME = ORAGCE)

  (ORACLE_HOME = D:DATABASEOracle81)

  (SID_NAME = ORAGCE)

  )

  )

  服務命名:$ORACLE_HOME$ etworkADMIN nsnames.ora,一般文件如下:

  # TNSNAMES.ORA Network Configuration File: D:DATABASEOracle81NETWORKADMIN nsnames.ora

  # Generated by Oracle configuration tools.

  SMEST =

  (DESCRIPTION =

  (ADDRESS_LIST =

  (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))

  )

  (CONNECT_DATA =

  (SERVICE_NAME = ORAGCE)

  )

  )

  SMEDI =

  (DESCRIPTION =

  (ADDRESS_LIST =

  (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))

  )

  (CONNECT_DATA =

  (SERVICE_NAME = ORASUN)

  )

  )

  INST1_HTTP =

  (DESCRIPTION =

  (ADDRESS_LIST =

  (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))

  )

  (CONNECT_DATA =

  (SERVER = SHARED)

  (SERVICE_NAME = ORAGCE)

  (PRESENTATION = http://admin)

  )

  )

  EXTPROC_CONNECTION_DATA =

  (DESCRIPTION =

  (ADDRESS_LIST =

  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))

  )

  (CONNECT_DATA =

  (SID = PLSExtProc)

  (PRESENTATION = RO)

  )

  )

  這2個文件在$ORACLE_HOME$ etworkADMINSAMPLE下有相應的范例文件,可以參考。

  監聽器配置修改後,需要重新啟動監聽器的服務!!!

  再補充一點,配置多個偵聽器或者一個偵聽器偵聽多個數據庫的時候,對偵聽器注意需要配置數據庫服務。

  如圖,一個偵聽器偵聽多個數據庫,如下配置,數據庫名和SID分別是ORASUN和ORAGCE,同樣配多個偵聽器偵聽一個數據庫(分別對內網和外網提供),如果碰到連接問題,請大家檢查一下數據庫配置這一項,當然如果直接寫文件來配置就很簡單了,一下就可以搞定了,大家也可以對照我前面給出的配置文件看一下。

  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved