谁给解释一下oracle DB_NAME、INSTANCE_NAME、ORACLE_SID的含义与区别

2024-12-18 20:22:07
推荐回答(2个)
回答1:



刚开始学的人都容易把这两个概念混淆

下面就我个人的观点帮你分析一下

什么是数据库名(db_name)?

数据库名就是一个数据库的标识,就像每个人有身份证一样

在参数文件里用db_name来标识,这个才是你的数据库名字。

什么是instance_name呢?

也 就是常说的实例名,它是用于与操作系统之间联系的标识

也就是操作系统与数据库之间交互的一个接口。数据库名与实

例名是一一对应的关系,二者可以相同,也可以不同,不会影

响数据库的使用。

什么是oracle_sid呢?

ORACLE_SID和实例的作用相同,但二者是有区别的,

instance_name是数据库的参数配置

ORACLE_SID是操作系统的环境变量

也就是说从操作系统的角度来访问数据库的话,就必须通过实

例名instance_name,而操作系统与实例连接的端口就是ORACLE_SID。

简言之操作系统要通过这样的一个顺序才能连接到数据库

即操作系统-->oracle_sid-->instance_name

即:ORACLE_SID是用于操作系统与数据库之间交互的。

但要注意的是oracle_sid必须与instance_name一致

否则连接的时候会出错。。

回答2:

V$LOGFILEThis view contains information about redo log files.

Column Datatype Description
GROUP# NUMBER Redo log group identifier number
STATUS VARCHAR2(7) Status of the log member:
INVALID - File is inaccessible

STALE - File's contents are incomplete

DELETED - File is no longer used

null - File is in use

TYPE VARCHAR2(7) Type of the logfile:
ONLINE

STANDBY

MEMBER VARCHAR2(513) Redo log member name
IS_RECOVERY_DEST_FILE VARCHAR2(3) Indicates whether the file was created in the flash recovery area (YES) or not (NO)