Oracle Database 12c 版本 1 (12.1) DBUA 的静默模式 (文档 ID 1602878.1)

适用于:

Oracle Database - Enterprise Edition - 版本 12.1.0.1 和更高版本
本文档所含信息适用于所有平台
***Checked for relevance on 23-Sep-2015***

目标

 如何以静默模式运行 DBUA?

解决方案

Database Upgrade Assistant (DBUA) 是一种图形工具,用于对其支持版本的数据库执行升级。
它执行所有必需的步骤来验证源数据库、执行升级所需的更改并执行升级脚本。

在 12c 中 DBUA 引入的其他功能

  • 这是在版本和补丁程序集级别执行数据库升级的推荐方法

  • DBUA 对可直接升级的 Oracle 数据库执行主版本升级。

  • 它自动执行所有升级任务

  • DBUA 还可用于在不同 Oracle 主目录之间移动相同版本的 Oracle 数据库

  • DBUA 执行升级前检查并列出未满足的先决条件

  • 它针对表空间、重做日志、优化器统计信息和时区文件等配置选项提供合适的建议。然后,您可以根据这些建议进行操作。

  • DBUA 提供了选项,可以升级时区信息、在升级之前收集统计信息、将用户表空间设为只读,在升级开始之前获取 RMAN 备份

  • DBUA 还提供了还原数据库备份以回退数据库升级的能力

  • 它提供了选项,可以在升级前后执行定制脚本。其结果会在单独的日志文件中记录

  • 它可以将现有监听程序升级到 12c,或者升级期间在 12c 中创建新监听程序

  • DBUA 以改进的方式显示升级活动的进度

  • DBUA 提供了查看活动日志、告警日志的选项

  • DBUA 不会将源数据库中的隐藏参数传递到目标数据库。这是预期行为。Oracle 建议在升级前删除所有隐藏参数

DBUA 捕获的日志存放于:

$ORACLE_BASE/cfgtoolos/dbua//upgrade[n] 文件夹中

“n”表示 DBUA 已经执行的升级尝试次数

12c 升级支持的 Oracle 版本

  • DBUA 只能升级可直接升级的版本

  • 12c 数据库升级要求的不同版本的最低版本为 10.2.0.5、11.1.0.7、11.2.0.2

支持直接升级到 12c 的版本

   源数据库 目标数据库
10.2.0.5 12.1.x
11.1.0.7 12.1.x
11.2.0.2 和更高版本 12.1.x

间接升级到 12c

源数据库         升级路径 目标数据库
7.3.3(或更低版本) 7.3.4 --> 9.2.0.8 --> 10.2.0.5 12.1.x
8.0.5 (或更低版本) 8.0.6 --> 9.2.0.8 --> 10.2.0.5 12.1.x
8.1.7 (或更低版本) 8.1.7.4 --> 10.2.0.5 12.1.x
9.0.1.3 (或更低版本) 9.0.1.4 --> 10.2.0.5 12.1.x
9.2.0.7 (或更低版本) 10.2.0.5 12.1.x
10.2.0.4 (或更低版本) 10.2.0.5 12.1.x
11.1.0.6 11.1.0.7 12.1.x
11.2.0.1 11.2.0.2 12.1.x

DBUA 静默模式

DBUA 也可以通过静默模式调用。
在静默模式下,Database Upgrade Assistant 不使用 GUI。
DBUA 的静默升级进度可在控制台上查看。
它还可以将任何消息(包括状态信息、错误和警告)包括时间戳写入到日志文件,存储在

$ORACLE_BASE/cfgtoollogs/dbua/logs 文件夹中

执行步骤

dbua   [-silent [ [options *  ]

以下为可用选项:

sid <系统标识符>

oracleHome <源数据库 Oracle 主目录>

oracleBase <数据库 Oracle 基目录>

diagnosticDest <数据库诊断路径>

sysDBAUserName

sysDBAPassword

autoextendFiles <升级期间自动扩展数据库文件。数据文件将在升级后还原回其原始自动扩展设置。>

newGlobalDbName <新全局数据库名称>

newSid <新系统标识符>

generateMapFile <在日志位置仅生成数据库映射文件,然后退出 DBUA>

useASM <数据库是否使用 Automatic Storage Management>

commonFileLocation <用于存储数据库文件的通用位置>

omfLocation

databaseMapFile <用于映射数据库文件的映射文件全名>

newRecoveryArea <已移动数据库的新恢复区>

newRecoveryAreaSize <已移动数据库的新恢复区大小 (MB)>

apexAdminPassword

disableUpgradeScriptLogging {此命令在升级期间,禁用所运行 SQL脚本的详细日志生成操作。默认情况下启用此项。要启用日志生成,请勿指定此参数。}

backupLocation <在开始升级之前数据库的备份目录>

initParam <逗号分隔的初始化参数值的列表,格式为 name=value,name=value。>

disableArchiveLogMode <在升级期间,关闭归档和闪回日志记录。>

recompile_invalid_objects

degree_of_parallelism <并行重新编译所用的 CPU 数量>

upgradeTimezone

h | -help {显示此使用帮助。}

注意: recompile_invalid_objects 的默认值为 "true"

12c DBUA 中引入的新参数包括

auditFileDest <数据库审计文件路径>

preUpgradeScripts <逗号分隔的 SQL 脚本列表,包括其完整路径名。这些脚本将在升级之前执行,并将结果存储在 PreUpgCustomScript.log 中>

postUpgradeScripts <逗号分隔的 SQL 脚本列表,包括其完整路径名。这些脚本将在升级结束之后执行,并将结果存储在 CustomScript.log 中>

changeUserTablespacesReadOnly <在升级期间,将用户表空间更改为只读。>

gatheringStatistics <先收集统计信息,然后再升级数据库。>

upgrade_parallelism <并行升级所用的 CPU 数量>

recoveryAreaDestination <所有恢复文件的目标目录>

localRacSid <集群数据库未注册到 OCR 时,集群数据库的本地 sid>

createGRP <在数据库处于归档日志和闪回模式时创建保证还原点>

useGRP <使用指定的保证还原点来还原数据库>

useExistingBackup <使用指定的保证还原点来还原数据库>

listeners <使用现有监听程序注册数据库,使用逗号分隔的“listenerName:Oracle 主目录”格式指定监听程序。较低版本主目录中的监听程序将被移植到较新版本的主目录。指定 -listeners lsnrName1,lsnrName2,DBUA 在 GI 主目录(如果已配置)、目标主目录和源主目录中搜索指定的监听程序。>

createListener <在较新版本的 Oracle 主目录中创建监听程序,指定 listenrName:lsnrPort>

局限性

所有数据文件应启用了 autoextensible

在 Unix 环境中,DBUA在内部使用 Unix Shell 来运行,所以$SHELL环境变量具有错误值时将停止 DBUA 执行

生成的日志

静默日志: $ORACLE_BASE/cfgtoollogs/dbua/logs/silent.log_

DBUA 日志:$ORACLE_BASE/cfgtoollogs/dbua//upgrade[n]

upgrade.xml

PreUpgradeResults.html

PreUpgCustomScript.log – 升级之前所执行定制脚本的输出

PreUpgrade.log

Oracle_Server.log

catupgrd0.log to catupgrd[n].log – “n”表示 cpu 数量

PostUpgrade.log

CustomScript.log – 升级之后所执行定制脚本的输出

UpgradeTimezone.log - – 时区升级的输出日志

UpgradeResults.html

trace.log

sqls.log

 

 

参考

NOTE:1520299.1 - Master Note For Oracle Database 12c Release 1 (12.1) Database/Client Installation/Upgrade/Migration Standalone Environment (Non-RAC)
请使用浏览器的分享功能分享到微信等