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.0

15 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

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

发布了342 篇原创文章 · 获赞 42 · 访问量 54万+

猜你喜欢

转载自blog.csdn.net/stevensxiao/article/details/103741683