文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Oracle 12c R2版本 Application Containers 特性(二)

2024-04-02 19:55

关注
沃趣科技  杨禹航



在上一篇Oracle 12c R2版本 Application Containers 特性(一)中讲解了Application Root/PDBs的创建以及“Application”的维护,本篇将介绍“Application Common Objects”,即公共对象。

公共对象是用户在Application Container特性下创建的共享对象,且只能创建在Application Root中,共享给Application PDB,其有三种类型可共选择,分别为:METADATA-LINKED、DATA-LINKED、EXTENDED DATA-LINKED.

如下是不同类型公共对象的元数据和数据的存储位置对照表:

Oracle 12c R2版本 Application Containers 特性(二)

指定共享属性时有两种方式,第一种使用系统参数default_sharing,另一种是在CREATE语句中指定SHARING的类型子句(该子句覆盖default_sharing参数)。

下面是共享属性的选择:

以下数据库中的对象可以被创建为公共对象:

Analytic views

Attribute dimensions

Directories

External procedure libraries

Hierarchies

Java classes, Java resources, Java sources

Packages

Object tables

Object types

Object views

Sequences

Stored functions

Stored procedures

Synonyms

Tables (including temporary tables)

Triggers

Views

对于上面列出的对象,均可以在创建时指定METADATA或NONE选项,而DATA/EXTENDED DATA只能被如下对象创建时所指定:

如下测试将通过表来展示不同共享方式的差别

在qdatacon1中安装Application:qd_reg1:

Oracle 12c R2版本 Application Containers 特性(二)

DATA-LINKED类型

创建sharing=data的表t_data,并且结束qd_reg1的安装:

Oracle 12c R2版本 Application Containers 特性(二)

在qdcpdb1中同步qd_reg1:

Oracle 12c R2版本 Application Containers 特性(二)

在qdatacon1中向t_data插入数据:

Oracle 12c R2版本 Application Containers 特性(二)

在qdcpdb1内查询t_data:

Oracle 12c R2版本 Application Containers 特性(二)

查看在qdcpdb1中查询t_data的执行计划信息:

Oracle 12c R2版本 Application Containers 特性(二)

以上执行计划走的是DATA LINK FULL方式。

在qdcpdb1中对表进行delete/insert:

Oracle 12c R2版本 Application Containers 特性(二)

data liked类型的对象数据存储在Application root内,在Application PDB内无法对其进行DML操作。

在qdcpdb1内查询数据的rowid信息:

Oracle 12c R2版本 Application Containers 特性(二)

METADATA LIKED类型

创建sharing=metadata类型的表t_meta:

Oracle 12c R2版本 Application Containers 特性(二)

在qdcpdb1内同步qd_reg1:

Oracle 12c R2版本 Application Containers 特性(二)

在qdatacon1中插入数据:

Oracle 12c R2版本 Application Containers 特性(二)

在qdcpdb1内查询:

Oracle 12c R2版本 Application Containers 特性(二)

metadata liked类型仅共享元数据给Application PDB,在Application PDB内无法查询共享对象在Application Root内存储的数据。

在qdcpdb1中向t_meta插入数据:

Oracle 12c R2版本 Application Containers 特性(二)

在qdcpdb1内查询t_meta数据的rowid信息:

Oracle 12c R2版本 Application Containers 特性(二)

数据在本地存储,可以获得ROWID。

查看执行计划:

Oracle 12c R2版本 Application Containers 特性(二)

以上执行计划走的TABLE ACCESS FULL。

在qdcpdb1中删除数据:

Oracle 12c R2版本 Application Containers 特性(二)

EXTENDED DATA类型

创建sharing=extended data类型的表t_exte:

Oracle 12c R2版本 Application Containers 特性(二)

在qdcpdb1内同步:

Oracle 12c R2版本 Application Containers 特性(二)

在qdatacon1中插入数据:

Oracle 12c R2版本 Application Containers 特性(二)

在qdcpdb1中查询并删除数据:

Oracle 12c R2版本 Application Containers 特性(二)

qdcpdb1中可以访问公共对象在Application root内存储的数据,但是不能对其进行DML操作。

在qdcpdb1中插入数据:

Oracle 12c R2版本 Application Containers 特性(二)

0 QBackup存储在 Application root内,1 QMonitor  存储在本地。

在qdcpdb1内查询数据的rowid信息:

Oracle 12c R2版本 Application Containers 特性(二)

在qdcpdb1内将表t_exte truncate掉:

Oracle 12c R2版本 Application Containers 特性(二)

这里仅将本地数据truncate掉了。

查看执行计划:

Oracle 12c R2版本 Application Containers 特性(二)

以上执行计划走的EXTENDED DATA LINK。

这里只做了TABLE的演示,关于其他对象的共享方式与之相近,不在演示。

Oracle 12c R2版本 Application Containers 特性(二)


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯