前言:前两天,在接触一个新项目,他们的数据库框架,在一台机器上,当时别人交代是一个数据库两个实例(当前举例a,b),我看了看交接文档,那明明是一台机器,不是单机数据库吗?怎么有两个实例?登录相应的环境,查看了一下,刚开始登录,查看了监听,只有一个ASM实例的监听,没有数据库服务的监听,很是摸不着头脑,通过env |grep ORACLE查看当前的Oracle实例名和数据库的安装位置,查看tnsname.ora文件,他们配置是通过主机名配置的,明显service_name一样,仅仅是网络服务名不一样,这不是单机数据库吗?通过他们提供的用户名和密码还有连接串登录,死活登不上去,后来使用sys登录,也不加连接串,看看是默认登录什么环境吧,然后,登录进去了,查看了一个db_name(a),instance_name(a),dba_users再查看了他们提供的用户(a1,b1),只有一个用户,没有找到(b1),后来退出去,设置新的实例名为另外一个b,sys默认登录,发现db_name 是另外一个,instance_name是(b),从这就可以看出来了,他们这不是单机数据库,不是双实例,而是在一台服务器上建立了两个数据库,对应了两个实例,两个用户,现在大白了。
后来我寻思着,为什么会出现这样的乌龙,主要是感觉他们对这个db_name和instance_name认知不深