|
oracle的几个概念
db_name = "WTDB"
instance_name = WTDB
service_names = WTDB
对于Oracle数据库来说,db_name和instance_name可以不同。 我们来看一下Oracle文档中对于db_name的定义:
DB_NAME必须是一个不超过8个字符的文本串.在数据库创建过程中,db_name被记录在数据文件,日志文件和控制文件中。如果数据库实例启动过程中参数文件中的db_name和控制文件中的数据库名称不一致,则数据库不能启动。 一个实例可以mount并打开任何数据库,但是同一时间一个实例只能打开一个数据库。 一个数据库可以被一个或多个实例所mount并打开(在OPS/RAC环境下,一个数据库可以被多个实例所打开).
SERVICE_NAME:是oracle8i新引进的。在8i以前,我们用SID来表示标识数据库的一个实例,但是在Oracle的并行环境中,一个数据库对应多个实例,这样就需要多个网络服务名,设置繁琐。为了方便并行环境中的设置,引进了Service_name参数,该参数对应一个数据库,而不是一个实例,而且该参数有许多其它的好处。该参数的缺省值为Db_name. Db_domain,即等于Global_name。一个数据库可以对应多个Service_name,以便实现更灵活的配置。该参数与SID没有直接关系,即不必Service name 必须与SID一样。 在tnsnames.ora中,既可以用service_name, 也可以用sid
中间件设置数据源连接ORACLE RAC 如下。 jdbc:oracle:thin:@(DEs criptION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.11)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.12)(PORT = 1521))(LOAD_BALANCE = on))(CONNECT_DATA =(SERVICE_NAME = WTDB))) 2007-5-17 14:45:00
阅读全文 | 回复(0) | 引用通告 | 编辑
|