Oracle RAC是Oracle Real Application Cluster的简写,官方中文文档一般翻译为“真正应用集群”,它一般有两台或者两台以上同构计算机及共享存储设备构成,可提供强大的数据库处理能力。

    最近有机会接触到有关Oracle 一体机项目,在配置数据库连接时出现了几个问题,现在记录一下:

方案一:PLSQL 连接:通过

wKioL1N8SLrjSUP8AAEbjsbtxyE983.jpg

wKiom1N8SOaiofKGAAMLJMbjeH8319.jpg

下一步:

wKioL1N8SLvBuSCGAAGxqOdU8ys285.jpg

wKiom1N8SOewQYHUAAHCKglqXco882.jpg

wKioL1N8SLuCKVcdAAGV0GP4VD0544.jpg

在完成配置测试后,可以在 \Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN 文件夹下看到 tnsnames.ora 文件中新增了配置信息:wKioL1N8Sh7hzdpBAACxVmnzx38628.jpg

就可以使用PLSQL连接数据库了。


方案二:SQL Plus 连接:wKioL1N8SquR5bf0AADhGp97lQE319.jpg


方案三:Oracle SQL Developer 连接:

wKioL1N8TDTDXtbpAALfWBTRkA4140.jpg

wKiom1N8TGDC5RWGAAF_KvK70wU337.jpg

这里要注意的是:连接选择的SID还是服务名,根据不同的选择填写不同的配置信息。

下面说一下Java JDBC Thin Driver 连接 Oracle的三种方法:

格式一: Oracle JDBC Thin using a ServiceName: 
jdbc:oracle:thin:@//<host>:<port>/<service_name> 

jdbc:oracle:thin:@//192.168.248.210:1521/orcl

注意这里的格式,@后面有//, 这是与使用SID的主要区别。 
这种格式是Oracle 推荐的格式,因为对于集群来说,每个节点的SID 是不一样的,但是SERVICE_NAME 确可以包含所有节点。

格式二: Oracle JDBC Thin using an SID: 
jdbc:oracle:thin:@<host>:<port>:<SID> 

jdbc:oracle:thin:@192.168.248.210:1521:orcl

格式三:Oracle JDBC Thin using a TNSName: 
jdbc:oracle:thin:@<TNSName> 

jdbc:oracle:thin:@orcl


在windows环境下,oracle是以后台服务的方式被管理的,所以看"控制面板->管理工具->服务 里面的名称:"OracleServiceORCL",则ORCL就是sid; 
service_name 和sid的区别: 
Service_name:该参数是由oracle8i引进的。在8i以前,使用SID来表示标识数据库的一个实例,但是在Oracle的并行环境中,一个数据库对应多个实例,这样就需要多个网络服务名,设置繁琐。为了方便并行环境中的设置,引进了Service_name参数,该参数对应一个数据库,而不是一个实例,而且该参数有许多其它的好处。该参数的缺省值为Db_name. Db_domain,即等于Global_name。一个数据库可以对应多个Service_name,以便实现更灵活的配置。该参数与SID没有直接关系,即不必Service name 必须与SID一样 
sid是数据库实例的名字,每个实例各不相同。