记录一些开发中遇到的问题
开发环境,测试环境连接数据库,都用的SID。但是到了生产环境,改用SERVICE_NAME
SID:数据库实例,实例是访问oracle数据库所需的一部分计算机内存和辅助处理后台进程,是由进程所使用的内存(SGA)所构成的一个集合,就是用来访问和使用数据库的一块儿进程。它只存在于内存中。就像java中new出来的实例对象一样。我们访问oracle都是访问一个实例,但这个实例如果关联了数据库文件,就是可以访问的。如果没有,就会得到实例不可用的错误。实例名指的是用于响应某个数据库操作的数据库管理系统的名称。她同时也叫sid。实例名是由参数instance_name决定的。
SID使用场景:在做数据库服务集群的时候可以用到
参考地址:https://www.cnblogs.com/zouhao/p/3627522.html
SERVICE_NAME
SERVICE_NAME 是oracle8i新引进的,8i之前,一个数据库只能由一个实例对应,但是随着高性能的需求,并行技术的使用。一个数据库可以由多个实例对应(如:RAC)。该参数直接对应数据库,而不是某个实例
连接oracle数据库的方法有三种
格式一:jdbc:oracle:thin:@//<host>:<port>/<service_name>
格式二:jdbc:oracle:thin:@<host>:<port>:<SID>
格式三:jdbc:oracle:thin:@<TNSName>
参考地址:https://blog.csdn.net/a3060858469/article/details/80719457
TNSNAME : https://blog.csdn.net/zhangzl1012/article/details/50752572
RAC : https://blog.csdn.net/qq_34556414/article/details/79001267