oracle数据库服务名-实例名对比分析

oracle数据库服务名-实例名对比分析

前提了解:

Oracle数据库服务器包括两个主要部分:文件(Oracle数据库)和内存(Oracle实例)。之间关系如下图:
在这里插入图片描述

数据库实例名(INSTANCE_NAME):实例名用于和操作系统关联,在操作系统中要取得与数据库之间的交互必须使用数据库实例名。一个Oracle数据库系统中可以同时安装几个数据库,每个数据库对应唯一的实例(默认情况下数据库名和数据库实例名是相同的)。但在Oracle的并行服务结构中却不是,数据库与实例是一对多的关系。实例名是可以修改的。

Oracle rac 共享缓存架构的集群数据库,安装数据库类型是分三种库:

  1. 单实例数据库
  2. Real application cluster数据库(集群库)
  3. RAC one node 数据库库(一个节点一个实例)
    以上2和3属于并行服务结构。

在这里插入图片描述

数据库名(DB_NAME ):是用于区分一个数据的内部标示,即Oracle数据库的内部表示。是以二进制方式存储于数据库的控制文件的参数。在数据库安装或创建之后不得修改。组成Oracle数据库的文件可以分成三个类型:数据文件(data file)、重做日志文件(redo log file)和控制文件(control file)。数据文件保存数据,Oracle中可以存在任意数量的数据文件;重做日志文件用来保存对数据更改的记录,在系统恢复阶段需要用到;控制文件是一些特别的小文件,用来保存一些至关重要的关于数据库的信息,没有这个文件的话,实例就无法打开数据库。除了数据文件、重做日志文件、控制文件之外,数据库还包含参数文件(parameter file)、密码文件(password file)和可选的归档日志文件(archive log files)。

数据库服务名(SERVICE_NAME):是从oracle 9i,10g开始引入的参数。用service_names表示。数据库服务名与全局数据库名相同,一般也就与数据库名一致。

全局数据库名解释:
数据库域名(DB_DOMAIN):在Oracle10g中db_domain表示域名。与数据库名,数据库实例名一样数据库域名在安装数据库时候已经确定。如:ll.xxx.com.cn。后面的xxx.com.cn则表示域名。
全局数据库名(GLOBAL_NAME):则表示数据库名和域名的总和。如果没有域名,全局数据库名就与数据库名相同。

以上是oracle 12c之前版本,Oracle 12C引入了新特性多租用户环境(Multitenant Environment),它允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为Container Database,即容器数据库,PDB全称为Pluggable Database,即可插拔数据库。

CDB:Contenter Database,即容器数据库。一个CDB可以有多个PDB。
PDB:pluggable Database,即可插拔数据库,可以实现从一个CDB拔出,插入到另一个CDB中。 公共用户:CDB 公共用户,CDB 公共用户必须以 C## 或 c## 开头,并且 Oracle 会在每个 PDB 中同时创建该用户。
本地用户:PDB 用户,本地用户在所在 PDB中必须是唯一的。

在Oracle 12C之前,实例与数据库是一对一或多对一关系(RAC),而不能实现一对多的关系。在Oracle 12C中,基于多租用户环境这一新特性,实现了实例与数据库的一对多关系。
下图是官方文档给出的CDB与PDB的关系图。
在这里插入图片描述

部署oracle 19c版本环境,所以验证实例与数据库一对多的关系,创建的数据库关键信息如下图:
在这里插入图片描述

查看oracle数据库信息示例

1、登录数据库查看可拔插数据库PDB和数据库容器CDB;
在这里插入图片描述

2、查数据库名称
在这里插入图片描述

3、查看数据库实例名称
在这里插入图片描述

4、查看数据库域名|(创建数据库时没有配置所以为空)
在这里插入图片描述

5、查看数据库服务名|(服务名=全局数据库名称=数据库名+域名)
在这里插入图片描述

6、在CDB下创建公共用户C##sn11;并授DBA权限。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

登录操作示例:
在这里插入图片描述

7、在PDB下创建本地用户操作(略,非本次验证重点,用户比较省略)

验证内容

验证操作步骤:

1、使用sys用户以service_name方式:SN01
2、使用sys用户以S_ID方式:SN01
3、使用sys用户以service_name方式登录:PDB1
4、使用sys用户以S_ID方式:PDB1
5、使用sys用户以service_name方式登录:PDB2
6、使用sys用户以S_ID方式:PDB2

验证预期结果:

步骤1、3、5以service_name方式登录成功;
步骤2以S_ID方式登录成功;
步骤4、6以S_ID方式登录失败
结果:通过,oracle 19c版本部署的单实例数据库支持“一对多”的单实例多库模式

执行结果记录

步骤1执行结果截图:
在这里插入图片描述

步骤2执行结果截图:
在这里插入图片描述

步骤3执行结果截图:
在这里插入图片描述

步骤4执行结果截图:
在这里插入图片描述

步骤5执行结果截图:
在这里插入图片描述

步骤6执行结果截图:

在这里插入图片描述

总结

oracle 19c版本部署的单实例数据库支持“一对多”的单实例多库模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SN_01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值