关于oracle配置多个数据库的问题

2016-02-19 14:50 4 1 收藏

今天图老师小编要向大家分享个关于oracle配置多个数据库的问题教程,过程简单易学,相信聪明的你一定能轻松get!

【 tulaoshi.com - 编程语言 】

  Oracle中可以配多个数据库,并只需要开启一个侦听器就可以了,对多个数据库只要配置相应的服务命名就可以连接了。

  我用的是Oracle 8.1.7 Enterprise Edition,OS是Windows 2000 Server,我把我的配置过程和情况图解说明一下,和大家共同探讨。

  

  第一步:用Net8 Configuration Assistant工具配置监听器,一直点下一步,最后完成即可!监听地址一般配成默认的1521就可以了。

  也可以用Net8 Assistant工具来验证或配置监听器,如下图,可以配置主机和端口。

  

  第二步:用Net8 Assistant工具来配置命名服务,如下图:

  注意服务名是数据库名,主机名和端口号一定要和监听器的一样!

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  

  测试一下,连接成功,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:DATABASEOracle81etworkadminlistener.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$etworkADMINnsnames.ora,一般文件如下:

  # TNSNAMES.ORA Network Configuration File: D:DATABASEOracle81NETWORKADMINnsnames.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)

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  )

  )

  EXTPROC_CONNECTION_DATA =

  (DESCRIPTION =

  (ADDRESS_LIST =

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

  )

  (CONNECT_DATA =

  (SID = PLSExtProc)

  (PRESENTATION = RO)

  )

  )

  这2个文件在$ORACLE_HOME$etworkADMINSAMPLE下有相应的范例文件,可以参考。

  监听器配置修改后,需要重新启动监听器的服务!!!

  再补充一点,配置多个侦听器或者一个侦听器侦听多个数据库的时候,对侦听器注意需要配置数据库服务。

  如图,一个侦听器侦听多个数据库,如下配置,数据库名和SID分别是ORASUN和ORAGCE,同样配多个侦听器侦听一个数据库(分别对内网和外网提供),如果碰到连接问题,请大家检查一下数据库配置这一项,当然如果直接写文件来配置就很简单了,一下就可以搞定了,大家也可以对照我前面给出的配置文件看一下。

  

来源:http://www.tulaoshi.com/n/20160219/1608079.html

延伸阅读
标签: Web开发
用ORACLE9i、oracle8、有很长的一段时间,我把用于JSP中需要注意的问题在这里写出来,仅供大家参考了。 一、如何去处理Clob、BLOB的大类型 CLOB可用于存放大文本数据,最多可存储4GB数据,在应用开发中比较常见.java提供的sql.Clob类与之对应.它提供两个方法来读取Clob的数据: getCharacterStream() 方法返回按unicode编码的输入流(java.io...
Oracle数据库数据对象中最基本的是表和视图,其他还有约束、序列、函数、存储过程、包、触发器等。对数据库的操作可以基本归结为对数据对象的操作,理解和掌握Oracle数据库对象是学习Oracle的捷径。 表和视图 Oracle中表是数据存储的基本结构。ORACLE8引入了分区表和对象表,ORACLE...
笔者认为,在创建索引时要做到三个适当,即在适当的表上、适当的列上创建适当数量的索引。虽然这可以通过一句话来概括优化的索引的基本准则,但是要做到这一点的话,需要数据库管理员做出很大的努力。具体的来说,要做到这个三个适当有如下几个要求。 一、 根据表的大小来创建索引。 虽然给表创建索引,可以提高查询的效率。但是数...
      每个数据库管理员都会面临数据导入的问题,这有可能发生在数据库的新老移植过程中,或者是在数据库崩溃后的恢复重建过程中,还有可能是在创建测试数据库的模拟环境过程中,总之作为一名合格的数据库管理员,你应该做好接受各种数据导入请求的技术储备,同时还要尽量满足人本能的对导入速度的苛求。本文仅针对 O...

经验教程

974

收藏

100
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部