适用于:
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/
“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 [
以下为可用选项:
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.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