用以下查询看看各种"名字",如果刚开始学习oracle数据库的话,结果应该都是"orcl". select name from v$database; |
数据库名
这个是我最常用的环境 select name from v$database; 没什么可说的,就是数据库名字 |
数据库唯一名
select db_unique_name from v$database; 这个名字在DataGuard中不能相同,而且大多数情况下,跟数据库名都是不同的: | |
比如下图,这是灾备环境 主库: | 备库: |
实例名
select instance_name from v$instance; 实例名在RAC集群环境下,每个实例名都是不一样的: | |
下图,这是RAC环境(DBID和NAME是一致的): 节点1 | 节点2 |
服务名
服务名通常是一个域名, 像一个网址。
select name,network_name from v$services;
show parameter service_names
连接标识符
connect identifier
我们是这样连接数据库的: sqlplus scott/scott@orcl |
最后面这个orcl叫连接标识符, 而不是数据库名或者实例名, 英文叫connect identifier. 在(19c及之前的版本)$ORACLE_HOME/network/admin/tnsnames.ora文件中可以找到, 类似这种: (红框) |
$ORACLE_HOME/sqlplus/admin/glogin.sql里写的 "_connect_identifier" 就是这个东西。
我们通常会在$ORACLE_HOME/sqlplus/admin/glogin.sql自定义提示符,类似这种: set sqlprompt "_user'@'_connect_identifier >>> " |