Oracle 12c R2版本 Application Containers的特性是什么

技术Oracle 12c R2版本 Application Containers的特性是什么本篇文章给大家分享的是有关Oracle 12c R2版本 Application Containers的特性是什么,小编觉得挺实

本文是关于Oracle 12c R2应用程序容器的特性。边肖觉得很实用,所以分享给大家学习。希望你看完这篇文章能有所收获。让我们和边肖一起看看。

在Oracle数据库12c R2版本中,Oracle带来了应用程序容器的新功能,它增强了原来的多租户功能。在CDB根容器中,可以创建一个名为应用程序根的容器,它类似于CDB根,并且可以在其中创建依赖于应用程序根的多个应用程序pdb。

“应用程序”

在应用程序容器特性下还有另一个概念,叫做“应用程序”。我们可以把“Application”理解为一个区域,“Application”只能在Application根目录下创建,在这里可以创建表、视图、函数等公共对象。然后,可以在应用程序数据库中使用同步同步命令,以实现将“应用程序”中的公共对象共享给应用程序数据库。

在本文中,通过创建“应用程序根/PDBs”和“应用程序”,我们将向您介绍应用程序容器的特性。在第二篇文章中,我们将向您介绍“应用程序”中的应用程序常见对象,并通过实验让您更直观地了解它们。

创建应用程序根

Root类似于普通的PDB创建语句,其中需要指定“作为应用程序容器”子句。

让我们先设置db_create_file_dest。

创建一个名为qdatacon1的应用程序根。

名为qdatacon1的应用程序根已成功创建。您可以检查它是否是应用程序根DBA _ pdbs。应用程序根字段为是。

打开QDatacon1

请注意,在使用应用程序容器功能时,有必要使用数据文件的OMF管理方法。虽然在没有OMF管理的情况下仍然可以成功创建应用程序根和应用程序pdb,但是当表空间包含在“应用程序”中时,在同步应用程序pdb中的“应用程序”时会报告错误ORA-01537,并且“应用程序”中的表空间不能同步到应用程序pdb中。

应用程序根的基本管理与普通PDB基本相同,包括应用程序根的克隆/拔出/插件/插件等。但是要注意作为应用程序容器的使用。

当然,如果您想拔出应用程序根并将其作为普通PDB插入CDB,那么请将其删除。

应用程序容器子句就可以了。

创建应用程序数据库

创建应用程序PDB时,它必须连接到相应的应用程序根目录,而不是CDB根目录。当它连接到应用程序根目录时,只需要以与普通PDB相同的方式创建它,并且不需要额外的子句。创建的PDB既是相应应用程序根中的应用程序PDB。

切换到应用程序根目录以创建应用程序PDB:qdcpdb1,然后切换到CDB

当通过show pdbs在CDB$root中显示时,应用程序PDB和普通PDB之间没有区别。

您可以通过cdb_pdbs视图查看应用程序PDB属于哪个应用程序根。

成功创建PDB应用程序后,可以使用同步命令将其与应用程序根目录中定义的应用程序同步。

更改可插入数据库应用程序所有同步;

应用程序

文章开头提到“应用”可以理解为一个区域,“应用”只能在Application root中创建和管理。

在“应用程序”的维护命令中,安装、修补、升级和卸载可能是最常用的命令。下面简要介绍三个命令。

安装应用程序

使用带有begin install子句的alter pluggable数据库时打开。

始一个“Application”的安装,这里可以理解为一个区域的开始,当安装完成后在Application PDB中使用sync命令同步相应的“Application”将会被自动安装在本PDB内。

这样我们开始了一个qdcon1_reg1的“Application”,使用end install命令封闭qdcon1_reg1,

可以通过dba_applications视图查看,已经安装的Application

Application安装完成后,可以在该Application root下的Application PDB中使用sync命令来进行同步,如下:

查看dba_applications视图,确认qdcon1_reg1是否已经安装

可以看到qdcon1_reg1已经安装完成,安装完成后qdcon1_reg1中的公共对象会以特定的方式被共享到相应的Application PDB中,

表tdata已经被共享到qdcpdb1中。

在Application root中可以通过dba_app_pdb_status视图,查看Application被安装到哪些Application PDB中

Patch an Application

在上面的小结中,当我们使用end install子句将“Application”封闭后,如果想再次在“Application”中创建对象(table/view/packages/sequence等),以及对“Application”内已经存在的对象进行alter操作时,我们可以使用patch子句对现有的“Application”进行修补操作。

如下示例,开始一个patch,并且在application内创添加表以及更改现存表的表结构:

删除Application内的表

删除失败

结束patch

查看patch信息

在qdcpdb1中同步qdcon1_reg1

tdata的表结构与texte表均同步完成

Upgrade an Application

对“Application”我们可以使用patch来对其进行修补操作,但修补操作只限添加/更改等,无法对已经存在“Application”中的公共对象进行删除操作,如果我们想对公共对象进行删除操作,可以使用UPGRADE子句对现有的“Application”进行升级,在升级的过程中,Oracle会首先自动创建Application root的Clone版本,Clone版本创建完成后,Application PDBs将指向Clone版本的Application root,“Application”将继续执行升级操作,升级完成之后,Application root的Clone版本将继续被保留,并且为不同步“Application”的Application PDB提供服务,同步“Application”后的Application PDB将指向升级后的Application root。

升级现有的qdcon1_reg1:F1956732192_4_1即为qdatacon1的clone版本

删除tdata表,并且创建新表tmeta:

结束升级,并查看版本信息

在qdcpdb1中同步qdcon1_reg1

tdata被删除/tmeata的创建已同步到qdcpdb1中。

Uninstall an Application

“Application”的卸载后并不会从数据字典中将该“Application”删除,它会被标记为UNINSTALL,以便“Application”不可以进行upgrade/patch/uninstall等操作,当uninstall命令发出后,需要将该“Application”中包含的对象全部删除。

uninstall同样会产生clone版本的Application root

删除对象且结束uninstall

因为对象并没有全部删除,导致end uninstall失败,下面继续drop用户和表空间:

查看被uninstall的qdcon1_reg1状态

在qdcpdb1中查看公共对象情况

表texte是extended data-linked方式,数据存储在Application root的qdata_tbs中,因为qdata_tbs已经被删除,所以在qdcpdb1中查询时报错,而tmeta为metadata-linked方式,数据存储在本地,所以可以在未做同步时可以查询。

同步qdcon1_reg1

同步完成。

以上就是Oracle 12c R2版本 Application Containers的特性是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/84802.html

(0)

相关推荐

  • BlenderPython如何安装

    技术BlenderPython如何安装这篇文章主要介绍了BlenderPython如何安装,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。简介blender

    攻略 2021年11月24日
  • 如何安装logstash

    技术如何安装logstash这篇文章主要为大家展示了“如何安装logstash”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何安装logstash”这篇文章吧。安装logs

    攻略 2021年11月26日
  • oracle静默安装的方法是什么

    技术oracle静默安装的方法是什么本篇内容介绍了“oracle静默安装的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够

    攻略 2021年11月4日
  • 抖音刷粉网址,人工刷粉丝会被封号吗?

    技术抖音刷粉网址,人工刷粉丝会被封号吗?抖音是当下非常受欢迎的一个社交软件,这样一个宣传度广的社交平台自然会吸引很多商家入驻广告,也就会衍生出很多的带货网红。成长一个做宣传推广的带货网红,前提是要有人气要有粉丝关注才能有

    测评 2021年11月11日
  • 双指针技巧总结

    技术双指针技巧总结 双指针技巧总结https://labuladong.gitee.io/algo/2/21/53/读完本文,你不仅学会了算法套路,还可以顺便去 LeetCode 上拿下如下题目:
    14

    礼包 2021年11月12日
  • html表格单元格的边框不显示的解决方法

    技术html表格单元格的边框不显示的解决方法这篇文章主要为大家展示了“html表格单元格的边框不显示的解决方法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“html表格单元格

    攻略 2021年11月14日