暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

[译] Oracle 自动升级单线

原创 黑色VF 2022-07-02
564

原文地址:AutoUpgrade One-liner
原文作者:

您可以使用 AutoUpgrade 仅使用单个命令行来升级数据库,并且不需要配置文件!

每当我们谈论 AutoUpgrade 时,我们也会提到配置文件。包含有关必须升级的信息的文件。这种配置文件的一个非常简单的版本可能如下所示:

upg1.sid=DB12
upg1.source_home=/u01/app/oracle/product/12.2.0.1
upg1.target_home=/u01/app/oracle/product/19
复制

这是使用 AutoUpgrade 的首选和推荐方式。但是您实际上可以在命令行上指定所有内容。

一站式升级

通过使用命令行选项config_values,您现在可以在命令行上指定配置文件条目。您可以执行以下命令,而不是使用上述配置文件:

java -jar autoupgrade.jar \
   -config_values "sid=DB12,source_home=/u01/app/oracle/product/12.2.0.1,target_home=/u01/app/oracle/product/19" \
   -mode analyze
复制

请注意我过去是如何config_values指定配置文件的内容的。您必须在配置文件中使用的前缀(在本例中为upg1)未在此处使用(仅用于全局条目,例如global.autoupg_log_dir)。

如果您有多个数据库要升级,则用星号 (*) 将它们分开:

-config_values "sid=DB1,...,*,sid=DB2,...,*,sid=DB3,..."
复制

使用环境变量

一些配置文件条目可以指定为环境变量:

配置文件入口 环境变量
席位 $ORACLE_SID
source_home $ORACLE_HOME
target_home $ORACLE_TARGET_HOME
目标版本 $ORACLE_TARGET_VERSION

因此,您也可以像这样启动 AutoUpgrade:

export ORACLE_SID=DB12
export ORACLE_HOME=/u01/app/oracle/product/12.2.0.1
export ORACLE_TARGET_HOME=/u01/app/oracle/product/19
java -jar autoupgrade.jar -config_values -mode analyze
复制

它在 Windows 上也能正常工作。只需使用set而不是export.

如何做

AutoUpgrade 首先需要确定全局日志目录 ( global.autoupg_log_dir)。

如果您指定全局日志记录目录,它将被使用。
如果您未指定全局日志记录目录,则将使用以下之一:

  • Linux/Unix:/tmp/autoupgrade
  • Windows:C:\Users\name\AppData\Local\Temp\autoupgrade
    接下来,AutoUpgrade 将使用环境提供的信息config_values或从环境提供的信息创建一个配置文件。

从这里开始,AutoUpgrade 将照常运行。

结论

如果需要,您可以在一个命令行中向 AutoUpgrade 提供所有输入。如果您在脚本或 Ansible 或类似的编排工具中使用 AutoUpgrade,这将非常有用。

我仍然建议使用配置文件。在格式良好的文本文件中读取和写入选项更容易。此外,您还避免了在命令行上转义字符的潜在麻烦。最后,您可以避免使用很长的不可读的命令行。顺便说一下,这些参数与我们推荐使用 Data Pump 的参数文件 (.par) 时使用的参数相同。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论