OCA/OCP Oracle 数据库12c考试指南读书笔记:第29章: Upgrading Oracle Database Software and Migrating Data

本文主要是介绍OCA/OCP Oracle 数据库12c考试指南读书笔记:第29章: Upgrading Oracle Database Software and Migrating Data,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

从11.2.x开始,主版本升级或应用patchset都需要新的Oracle Home。升级数据库软件同时,也需升级数据库,或将数据库迁移到新的数据库软件。

描述升级方法

升级包括升级数据库软件和数据数据库两步。两者最终必须版本一致。软件升级通过OUI,数据库升级通过DBCA或手工。

软件升级

软件版本可查询v$version:

SQL> select banner_full from v$version;BANNER_FULL
------------------------------------------------------------------------------------------------------------------------
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

查询每一个版本都安装了什么:

SQL> select comp_id, version from dba_registry;COMP_ID                        VERSION
------------------------------ ------------------------------
CATALOG                        19.0.0.0.0
CATPROC                        19.0.0.0.0
RAC                            19.0.0.0.0
JAVAVM                         19.0.0.0.0
XML                            19.0.0.0.0
CATJAVA                        19.0.0.0.0
APS                            19.0.0.0.0
XDB                            19.0.0.0.0
OWM                            19.0.0.0.0
CONTEXT                        19.0.0.0.0
ORDIM                          19.0.0.0.0
SDO                            19.0.0.0.0
XOQ                            19.0.0.0.0
OLS                            19.0.0.0.0
DV                             19.0.0.0.015 rows selected.

12c11g是市场标签。
patchset可独立安装,之中含有OUI。patchset需安装到新的Oracle Home,为使用新的软件,需重设环境变量。OUI可检测到之前的所有安装,因都在OUI Inventory中,然后提升用户选择数据库,然后OUI启动DBUA进行升级。

数据库升级

DBUA的好处是图形化,自动化和简单。但由于是串行执行,时间比手工升级长。
DUBA支持单实例和RAC,支持ASM。
手工升级包括以下步骤:

  • SYSTEM 和SYSAUX表空间空间检查
  • 调整老的或过期的参数
  • 升级数据字典和安装的组件
  • 重编译代码

描述数据迁移方法

数据库升级有两个限制:

  1. 同一平台
  2. 在升级期间不能实施新特性或重新组织

简单来说,只是二进制代码变了。而数据库迁移可突破这些限制。
迁移是将数据从一个数据库移动到另一数据库的过程,迁移通常宕机时间比升级长。
迁移相对于升级的另一个优点是有一个干净的数据字典。

数据迁移常用Data Pump,因为其可跨平台,字符集可不同,版本支持范围广,支持子集迁移,Data Segment可重新组织。
10g之前的数据库可使用imp/exp。在这里插入代码片

描述升级过程

升级技术上简单,但可能涉及应用改变,因此测试非常重要,Testing is Vital
升级通常包括6个步骤:

  1. 准备升级。选择升级方法,安装新的Oracle Home,制定测试计划,选择需实施的新功能
  2. 升级测试数据库。在生产系统数据库的克隆上测试升级过程,记录宕机时间
  3. 测试升级后的数据库。测试应用的性能和功能,步骤2和3可能往复多次,直到问题解决。
  4. 准备生产数据库。停止生产数据库上的活动,做全备
  5. 升级生产数据库。执行前面演练过的过程,做全备。
  6. 调优升级后的数据库。监控性能并调优。

使用DATA PUMP迁移数据

Data Pump支持单个表,schema,不同对象类型,也支持整库。
Data Pump可以跨平台,应为对象以逻辑方式存储。
Data Pump默认会自动建立表空间,schema和对象,不过这些也可以预先建立。
源和目标端都需要预留空间用于Data Pump导出文件,同样传输需要时间。不过也可以用不落地的network直连模式。直连模式需要目标库到源库的Database Link,并需要DATAPUMP_EXP_FULL_DATABASE权限。直连模式不能用direct path,因此性能不一定好。

create database link orcla connect to system identified by password using 'orcla';
impdp system/password network_link=orcla full=y

整库导入只包括用户数据。这也意味着目标端通常需要预先删除用户表空间,示例用户等。

这篇关于OCA/OCP Oracle 数据库12c考试指南读书笔记:第29章: Upgrading Oracle Database Software and Migrating Data的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

全面掌握 SQL 中的 DATEDIFF函数及用法最佳实践

《全面掌握SQL中的DATEDIFF函数及用法最佳实践》本文解析DATEDIFF在不同数据库中的差异,强调其边界计算原理,探讨应用场景及陷阱,推荐根据需求选择TIMESTAMPDIFF或inte... 目录1. 核心概念:DATEDIFF 究竟在计算什么?2. 主流数据库中的 DATEDIFF 实现2.1

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

MySQL中的LENGTH()函数用法详解与实例分析

《MySQL中的LENGTH()函数用法详解与实例分析》MySQLLENGTH()函数用于计算字符串的字节长度,区别于CHAR_LENGTH()的字符长度,适用于多字节字符集(如UTF-8)的数据验证... 目录1. LENGTH()函数的基本语法2. LENGTH()函数的返回值2.1 示例1:计算字符串

浅谈mysql的not exists走不走索引

《浅谈mysql的notexists走不走索引》在MySQL中,​NOTEXISTS子句是否使用索引取决于子查询中关联字段是否建立了合适的索引,下面就来介绍一下mysql的notexists走不走索... 在mysql中,​NOT EXISTS子句是否使用索引取决于子查询中关联字段是否建立了合适的索引。以下

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Qt使用QSqlDatabase连接MySQL实现增删改查功能

《Qt使用QSqlDatabase连接MySQL实现增删改查功能》这篇文章主要为大家详细介绍了Qt如何使用QSqlDatabase连接MySQL实现增删改查功能,文中的示例代码讲解详细,感兴趣的小伙伴... 目录一、创建数据表二、连接mysql数据库三、封装成一个完整的轻量级 ORM 风格类3.1 表结构

MySQL 中的 CAST 函数详解及常见用法

《MySQL中的CAST函数详解及常见用法》CAST函数是MySQL中用于数据类型转换的重要函数,它允许你将一个值从一种数据类型转换为另一种数据类型,本文给大家介绍MySQL中的CAST... 目录mysql 中的 CAST 函数详解一、基本语法二、支持的数据类型三、常见用法示例1. 字符串转数字2. 数字