是否可以通过jdbc在一个主机和端口以及数据库上拥有多个Oracle应用程序实例?

时间:2014-12-03 10:58:15

标签: oracle jdbc port host

在Sybase和SQL Server上,通常按主机和端口以及数据库对应用程序实例进行分区。 (因此,您在一台服务器上有多个数据库应用程序实例,但端口不同,反之亦然)。

所以你在jdbc中用这样的东西连接:

"jdbc:mssql://hostname:port/dbname"

所以这将是在一个实例上运行的两个数据库:

"jdbc:mssql://myhost1:1234/db1"
"jdbc:mssql://myhost1:1234/db2"

这将是在一个主机上运行的两个应用程序实例:

"jdbc:mssql://myhost1:1234/db1"
"jdbc:mssql://myhost1:1235/db1"

这将是在两个不同主机上运行的两个应用程序实例:

"jdbc:mssql://myhost1:1234/db1"
"jdbc:mssql://myhost2:1234/db1"

我今天看到在一个端口和主机上看起来似乎是多个Oracle应用程序实例,区别在于JDBC字符串中的描述字段。它看起来像这样:

"jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = host1)
(PORT = 1234))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = 
DEV1)))

"jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = host1)
(PORT = 1234))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = 
DEV2)))

我错了或是否可以通过jdbc在一台主机和端口上安装多个Oracle应用程序实例?

假设:

  • 我将数据库区分为应用程序中的架构分区,应用程序实例是服务器上运行的程序。

1 个答案:

答案 0 :(得分:0)

通常,使用jdbc或sql * net,您可以使用host,port和service_name从客户端连接到数据库。该服务名称指向数据库。可以在主机上运行多个数据库,也可以运行一个托管多个服务的数据库,或两者的组合。

我们更喜欢创建统一数据库,其中多个应用程序托管在单个数据库中,其中每个应用程序都拥有自己的service_name。资源管理器用于管理负载并保护应用程序免受试图获取所有系统资源的流氓应用程序的影响。

所以,简短的回答是:是的。