Oracle的数据库,实例,服务名
参数文件中可以指定
数据库名称(DB_NAME)
数据库实例名(INSTANCE_NAME)
SID必须与INSTANCE_NAME一致
在非集群环境中
一个数据库只对应一个实例,比如手工建库的时候,创建的是静态文件,在加载这些静态文件的时候就形成了实例,类似于程序与进行的关系
该实例在启动(加载)之后,就会产生一个服务名(SERVICE_NAME),该SERVICE_NAME默认是sid相同,在服务端可以通过lsnrctl status查看
在客户端配置tnsnames.ora的时候,外面的服务名可以自己随意取名(你喜欢去什么名字,就去什么名字),但是里面的SERVICE_NAME虽然和服务端的sid相同,但是实际上并不是sid,而是lsnrctl status中可见的Service,只不过是由于如果在init
.ora中没有手工配置serivce_name参数,因此服务名默认为sid,结果造成 客户端中配置的SERVICE_NAME和服务端中的sid、Service都是一样的
LLTF_DEV=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.150.37)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = lltf)
)
)
- 一个主机(ip)上可以安装多个(版本)的Oracle软件(比如11g,12c)
在一个Oracle软件中,可以创建多个数据库,比如lltf、ZSMS,每个数据库对应的是单个实例lltf、ZSMS