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

相关文章

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

JavaScript中的isTrusted属性及其应用场景详解

《JavaScript中的isTrusted属性及其应用场景详解》在现代Web开发中,JavaScript是构建交互式应用的核心语言,随着前端技术的不断发展,开发者需要处理越来越多的复杂场景,例如事件... 目录引言一、问题背景二、isTrusted 属性的来源与作用1. isTrusted 的定义2. 为

Python调用另一个py文件并传递参数常见的方法及其应用场景

《Python调用另一个py文件并传递参数常见的方法及其应用场景》:本文主要介绍在Python中调用另一个py文件并传递参数的几种常见方法,包括使用import语句、exec函数、subproce... 目录前言1. 使用import语句1.1 基本用法1.2 导入特定函数1.3 处理文件路径2. 使用ex

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

数据库oracle用户密码过期查询及解决方案

《数据库oracle用户密码过期查询及解决方案》:本文主要介绍如何处理ORACLE数据库用户密码过期和修改密码期限的问题,包括创建用户、赋予权限、修改密码、解锁用户和设置密码期限,文中通过代码介绍... 目录前言一、创建用户、赋予权限、修改密码、解锁用户和设置期限二、查询用户密码期限和过期后的修改1.查询用

mysql数据库分区的使用

《mysql数据库分区的使用》MySQL分区技术通过将大表分割成多个较小片段,提高查询性能、管理效率和数据存储效率,本文就来介绍一下mysql数据库分区的使用,感兴趣的可以了解一下... 目录【一】分区的基本概念【1】物理存储与逻辑分割【2】查询性能提升【3】数据管理与维护【4】扩展性与并行处理【二】分区的

IDEA如何切换数据库版本mysql5或mysql8

《IDEA如何切换数据库版本mysql5或mysql8》本文介绍了如何将IntelliJIDEA从MySQL5切换到MySQL8的详细步骤,包括下载MySQL8、安装、配置、停止旧服务、启动新服务以及... 目录问题描述解决方案第一步第二步第三步第四步第五步总结问题描述最近想开发一个新应用,想使用mysq

Spring核心思想之浅谈IoC容器与依赖倒置(DI)

《Spring核心思想之浅谈IoC容器与依赖倒置(DI)》文章介绍了Spring的IoC和DI机制,以及MyBatis的动态代理,通过注解和反射,Spring能够自动管理对象的创建和依赖注入,而MyB... 目录一、控制反转 IoC二、依赖倒置 DI1. 详细概念2. Spring 中 DI 的实现原理三、

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像