Oracle 运维篇+应用容器数据库的install、upgrade、patch、uninstall

本文主要是介绍Oracle 运维篇+应用容器数据库的install、upgrade、patch、uninstall,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

★ 知识点
※ DEFAULT_SHARING参数的取值

  • METADATA: 元数据链接共享数据库对象的元数据,但其数据对于每个容器是唯一的。这些数据库对象被称为元数据链接的应用程序公共对象。此设置为默认设置。
  • DATA: 数据链接共享数据库对象,其数据对于应用程序容器中的所有容器都是相同的。它的数据只存储在应用程序根目录中。这些数据库对象称为数据链接应用程序公共对象.
  • EXTENDED DATA: 扩展数据链接共享数据库对象,其在应用程序根目录中的数据对于应用程序容器中的所有容器都是相同的。但是,应用程序容器中的每个应用程序PDB都可以存储该应用程序PDB独有的数据。对于这种类型的数据库对象,数据存储在应用程序根目录中,也可选地存储在每个应用程序PDB中。这些数据库对象被称为扩展数据链接应用程序公共对象.
  • NONE: 不共享数据库对象

✔ 安装
alter session set container=APP1_ROOT;
alter system set default_sharing='METADATA' scope=both;
alter pluggable database application app1_root begin install '1';
drop   user zzt_pub cascade;
create user zzt_pub identified by zzt;
grant  dba,unlimited tablespace to zzt_pub;
create table zzt_pub.t(id int,name varchar2(9));
alter pluggable database application app1_root end install '1';
insert into  zzt_pub.t values(1,'a');
commit;
--将应用容器中的Application Release同步到应用PDB中
alter session set container=APP1_pdb1;
alter pluggable database application all sync;
select * from zzt_pub.t;
alter session set container=APP1_pdb2;
alter pluggable database application all sync;
select * from zzt_pub.t;
alter session set container=APP1_ROOT;
select * from zzt_pub.t;


✔ 升级
--版本 1 to 2
alter session set container=app1_root;
alter system set default_sharing='METADATA' scope=both;
alter pluggable database application app1_root begin upgrade '1' to '2';
alter table zzt_pub.t add(ver int);
update zzt_pub.t set ver=1;
commit;
alter pluggable database application app1_root end upgrade to '2';
--版本 2 to 3
alter session set container=app1_root;
alter system set default_sharing='METADATA' scope=both;
alter pluggable database application app1_root begin upgrade '2' to '3';
alter table zzt_pub.t add(country varchar2(9));
update zzt_pub.t set country='china';
commit;
alter pluggable database application app1_root end upgrade to '3';
--将应用容器中的版本同步到应用pdb中
alter session set container=app1_root;
select * from zzt_pub.t;
alter session set container=app1_pdb1;
alter pluggable database application app1_root sync to '2';
select * from zzt_pub.t;
alter session set container=app1_pdb2;
alter pluggable database application app1_root sync to '3';
select * from zzt_pub.t;


✔ 打补丁
--给2打补丁
alter session set container=APP1_ROOT;
alter system set default_sharing='METADATA' scope=both;
alter pluggable database application app1_root begin patch 222 minimum version '2';
update zzt_pub.t set ver=2;
commit;
alter pluggable database application app1_root end patch 222;
--给3打补丁
alter session set container=APP1_ROOT;
alter system set default_sharing='METADATA' scope=both;
alter pluggable database application app1_root begin patch 333 minimum version '3';
update zzt_pub.t set ver=3;
commit;
alter pluggable database application app1_root end patch 333;
--同步
alter session set container=app1_root;
select * from zzt_pub.t;
alter session set container=app1_pdb1;
alter pluggable database application app1_root sync to patch 222;
select * from zzt_pub.t;
alter session set container=app1_pdb2;
alter pluggable database application app1_root sync to patch 333;
select * from zzt_pub.t;


✔ 卸载
alter session set container=app1_root;
alter system set default_sharing='METADATA' scope=both;
alter pluggable database application app1_root begin uninstall;
drop  user zzt_pub cascade;
alter pluggable database application app1_root end uninstall;
--同步
alter session set container=app1_pdb1;
alter pluggable database application app1_root sync;
alter session set container=app1_pdb2;
alter pluggable database application app1_root sync;
--删除application root
alter session set container=cdb$root;
alter  pluggable database APP1_ROOT close;
drop   pluggable database APP1_PDB1 including datafiles;
drop   pluggable database APP1_PDB2 including datafiles;
drop   pluggable database APP1_ROOT including datafiles;
--查验application root clone是否被删除
alter session set container=cdb$root;
show pdbs;

这篇关于Oracle 运维篇+应用容器数据库的install、upgrade、patch、uninstall的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/222273

相关文章

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

mysql数据库重置表主键id的实现

《mysql数据库重置表主键id的实现》在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,本文主要介绍了mysql数据库重置表主键id的实现,具有一定的参考价值,感兴趣的可以了... 目录关键语法演示案例在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,当我们

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

如何将Tomcat容器替换为Jetty容器

《如何将Tomcat容器替换为Jetty容器》:本文主要介绍如何将Tomcat容器替换为Jetty容器问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat容器替换为Jetty容器修改Maven依赖配置文件调整(可选)重新构建和运行总结Tomcat容器替

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Spring Boot 整合 MyBatis 连接数据库及常见问题

《SpringBoot整合MyBatis连接数据库及常见问题》MyBatis是一个优秀的持久层框架,支持定制化SQL、存储过程以及高级映射,下面详细介绍如何在SpringBoot项目中整合My... 目录一、基本配置1. 添加依赖2. 配置数据库连接二、项目结构三、核心组件实现(示例)1. 实体类2. Ma

Java中&和&&以及|和||的区别、应用场景和代码示例

《Java中&和&&以及|和||的区别、应用场景和代码示例》:本文主要介绍Java中的逻辑运算符&、&&、|和||的区别,包括它们在布尔和整数类型上的应用,文中通过代码介绍的非常详细,需要的朋友可... 目录前言1. & 和 &&代码示例2. | 和 ||代码示例3. 为什么要使用 & 和 | 而不是总是使

C++从序列容器中删除元素的四种方法

《C++从序列容器中删除元素的四种方法》删除元素的方法在序列容器和关联容器之间是非常不同的,在序列容器中,vector和string是最常用的,但这里也会介绍deque和list以供全面了解,尽管在一... 目录一、简介二、移除给定位置的元素三、移除与某个值相等的元素3.1、序列容器vector、deque