8.4.3.2 Patchmgr Syntax for Database Servers
You can use patchmgr to update software for Oracle Exadata database servers.
Prerequisites
Patchmgr is run on the "driving system", which is an Oracle Exadata database server or a non-Oracle Exadata system running Oracle Linux. This allows patchmgr to run from a central server to update multiple Oracle Exadata systems. If patchmgr is run from an Oracle Exadata database server, then that database server cannot be a target of the patchmgr command.
Patchmgr Syntax for Database Servers
./patchmgr --dbnodes database_node_file
{ --backup --repo { base_URL | zipped_iso_file } [--rolling] [--unkey] |
--precheck --repo { base_URL | zipped_iso_file } --target_version version [ --unkey ]
[ --live-update-target { highcvss | allcvss | full } ]
[ { --additional-rpms { rpm_spec[,rpm_spec]... | rpm_dir } |
--additional-rpms-list rpm_list }
[ --additional-rpms-from-repo ] ] |
--upgrade --repo { base_URL | zipped_iso_file } --target_version version [ --rolling ] [ --unkey ]
[ --live-update-target { highcvss | allcvss | full } [ --live-update-schedule-outstanding-work { timestamp | never }] ]
[ { --additional-rpms { rpm_spec[,rpm_spec]... | rpm_dir } |
--additional-rpms-list rpm_list }
[ --additional-rpms-from-repo ] ] |
--complete [ --target_version version ] [--unkey] |
--rollback [--rolling] [--unkey] |
--cleanup [--unkey] |
--live-update-schedule-outstanding-work { timestamp | never | reset } |
--live-update-list-outstanding-work }
[ --log_dir { log_directory | auto } ]
Main Arguments
Argument | Description |
---|---|
--dbnodes database_node_file |
The database_node_file is a text file identifying the database servers that are the target of the patchmgr operation. The file must exist and contain one target database server host name or IP address on each line. The server running patchmgr cannot be included in the file. |
--backup |
Perform backup for the database nodes specified in the host list. Specify the |
--precheck |
Runs the pre-upgrade validation checks in the database nodes specified in the host list in non-rolling fashion. |
--upgrade |
Updates the database nodes specified in the host list. Specify the Specify the |
--complete |
Runs 'completion-steps' only. In normal cases there is no
need to run this separately as this already runs as part of
--upgrade . Note: If the database stack or user
domains are up, they will be shut down and restarted.
|
--rollback |
Rollback the database nodes specified in the host list. Specify the |
--cleanup |
Cleans up all temporary content on the database servers specified in the host list in non-rolling fashion. |
Options for Updating Exadata Database Servers
The following options are supported for database server patching and rollback:
Table 8-3 Patchmgr Options for Exadata Database Servers
Option | Description |
---|---|
|
Allows This is equivalent to the |
|
Allow |
|
User preferred location on target database servers where
patch iso image and Note: Provided location must be an absolute path of local file system and it should have sufficient amount of free space and inodes. |
|
Remove any custom RPMs when the database server update includes a major operating system update. For example, from Oracle Linux 7 to Oracle Linux 8. |
--ignore_alerts |
Ignore any active hardware alerts on the Exadata server and proceed with the patching. |
|
The absolute path to the log directory, or you can specify
Specifying the |
|
Disables database connection draining for Fleet Patching and Provisioning, formerly known as Rapid Home Provisioning (RHP). The connection draining availability depends on the Oracle Grid Infrastructure release. This option is applicable to only rolling updates. |
|
Do not backup the database servers before an update. |
|
Specifies the base URL for the Exadata update repository or the path to a zipped ISO file. This option must be specified for |
|
Specifies that the update is to be done in a rolling fashion, one server at a time. If not specified, the update is done in a non-rolling fashion. Environment variable
Note: Prerequisite checks and cleanups are always
done in a non-rolling fashion, even if the |
|
Directs patchmgr to backup each node prior to updating that node in a rolling manner. If this option is not specified (default), then patchmgr completes the backups of all nodes in parallel before updating the first node. This option can only be used in conjunction with the
This option is ignored if |
|
Skip certification of Oracle Grid Infrastructure and Oracle Database home compatibility with Oracle Linux 7. Only for updates from Oracle Linux 6 to Oracle Linux 7. |
|
Specifies the from email address for the patchmgr notification. |
|
Specifies the to email addresses for the patchmgr notification. |
|
Specifies that the same from address in Return-Path: mail header should be used. |
--target_version version |
The full patch version as specified in the patch README file. For example: 23.1.8.0.0.231109 This option must be specified for
|
--unkey |
Removes passwordless SSH access to the servers before exit. |
Exadata Live Update Options
Oracle Exadata System Software release 24.1.0 introduces Exadata Live Update, a suite of update enhancements for Exadata database servers.
Exadata Live Update uses online update capabilities. Depending on the specific contents of the update, the operation might be completed without interrupting databases or rebooting the server. If a reboot is required, it can be deferred to a later time.
Exadata Live Update also supports partial updates to address security issues.
Note:
Exadata Live Update may only be used for specific updates that it supports. For details, always refer to the release information associated with each update.
The following additional options support Exadata Live Update on Exadata database servers:
Table 8-4 Patchmgr Options for Exadata Live Update on Exadata Database Servers
Option | Description |
---|---|
|
Performs the operation using Exadata Live Update. One of the following values must be specified after
|
|
Controls the schedule for outstanding work. Outstanding work is any update items that cannot be completed online and require a system reboot. For example, Exadata Live Update can update the Linux kernel online using ksplice but changing to a new Linux kernel version requires a system reboot. To control outstanding work in conjunction with an Exadata Live Update operation, specify
You can also use
The following values may be specified after
This option is only applicable for updates using Exadata Live Update. |
|
Display information about any system reboot scheduled to complete outstanding work. This option is only applicable for updates using Exadata Live Update. |
Options for Updating Additional RPMs
For updates that do not change the major Oracle Linux version number, Oracle Exadata System Software release 25.1.0 introduces options to update additional non-Exadata software packages as part of an Exadata database server update operation. This integrated capability enables you to easily handle software package dependency issues that arise when additional non-Exadata software packages are installed on the system.
With this capability, you can iteratively run patchmgr with the --precheck
option to find and resolve package dependency issues associated with any additional non-Exadata software packages installed on the system. After you understand the additional package updates required for a clean update, you can confidently perform the Exadata database server update and update the additional packages at the same time.
The following additional options enable you to update additional non-Exadata software packages on Exadata database servers using patchmgr.
Note:
The following options are not available for updates that change the major Oracle Linux version number. For example, from Oracle Linux 7 to Oracle Linux 8.
Table 8-5 Patchmgr Options for Updating Additional RPMs
Option | Description |
---|---|
|
Optionally specifies additional packages (RPMs) to include during a pre-check or update operation. You can specify the additional RPMs as a comma-separated list, or you can provide the name of a directory containing the additional RPMs. If you specify this option without the Alternatively, you can instruct the update target server(s) to download the RPMs directly from a Yum or DNF repository by adding the |
|
Optionally specifies a text file containing a list of additional packages (RPMs) to include during a pre-check or update operation. In the file, each RPM must be specified on a separate line. If you specify this option without the Alternatively, you can instruct the update target server(s) to download the RPMs directly from a Yum or DNF repository by adding the |
|
Optionally instructs the update target server(s) to download the RPMs directly from a Yum or DNF repository. To use this option, a suitable repository must be configured on the target server and the configured repository must be accessible from the target server. |
Examples
Example 8-7 Backup database servers then perform the update
The following commands backup the Oracle Exadata database servers, run the prerequisite checks for the database server update, and then update the database servers in a rolling manner.
[root@pmserver ~]# ./patchmgr --dbnodes dbnode_group --backup --repo /var/stage/p35869377_231000_Linux-x86-64.zip --target_version 23.1.8.0.0.231109
[root@pmserver ~]# ./patchmgr --dbnodes dbnode_group --precheck --repo /var/stage/p35869377_231000_Linux-x86-64.zip --target_version 23.1.8.0.0.231109
[root@pmserver ~]# ./patchmgr --dbnodes dbnode_group --upgrade --nobackup --repo /var/stage/p35869377_231000_Linux-x86-64.zip --target_version 23.1.8.0.0.231109 --rolling
Example 8-8 Perform an update using Exadata Live Update
The following commands perform a full update using Exadata Live Update. The first command performs a precheck operation. The second command performs the update. The third command defers any outstanding work arising from the update. The fourth command displays information about the outstanding work arising from the update. The final command schedules the outstanding work for a specific time.
[root@pmserver ~]# ./patchmgr --dbnodes dbs_group --precheck --repo /my/dir/exadata_ol8_24.1.0.0.0.240409_Linux-x86-64.zip --target_version 24.1.0.0.0.240409 --log_dir auto --live-update-target full
[root@pmserver ~]# ./patchmgr --dbnodes dbs_group --upgrade --repo /my/dir/exadata_ol8_24.1.0.0.0.240409_Linux-x86-64.zip --target_version 24.1.0.0.0.240409 --log_dir auto --live-update-target full
[root@pmserver ~]# ./patchmgr --dbnode dbs_group --live-update-schedule-outstanding-work never --log_dir auto
[root@pmserver ~]# ./patchmgr --dbnodes dbs_group --live-update-list-outstanding-work --log_dir auto
[root@pmserver ~]# ./patchmgr --dbnode dbs_group --live-update-schedule-outstanding-work "2024-12-31 23:10:10 PDT" -log_dir auto
Example 8-9 Perform a precheck including additional RPMs
This example shows a precheck including additional RPM files specified on the command line using the --additional-rpms
option. In this case, the patchmgr command does not use the --additional-rpms-from-repo
option, so patchmgr needs to access the additional RPM files and transfer them to each target server.
[root@pmserver ~]# patchmgr --dbnodes dbs_group --precheck --repo /my/dir/exadata_ol8_25.1.0.0.0.241130_Linux-x86-64.zip --target_version 25.1.0.0.0.241130 --log_dir auto
--additional-rpms /my/dir/rpms/elfutils-debuginfod-client-0.190-2.el8.x86_64.rpm,/my/dir/rpms/elfutils-libelf-devel-0.190-2.el8.x86_64.rpm,/my/dir/rpms/keyutils-libs-devel-1.5.10-9.0.1.el8.x86_64.rpm
Example 8-10 Perform an update including additional RPMs
This example shows an update including additional RPM files specified as a list of local file names in a text file at /my/dir/additionalpackages1.txt
. In this case, the patchmgr command does not use the --additional-rpms-from-repo
option, so patchmgr needs to access the additional RPM files and transfer them to each target server.
[root@pmserver ~]# cat /my/dir/additionalpackages1.txt
/my/dir/rpms/elfutils-debuginfod-client-0.190-2.el8.x86_64.rpm
/my/dir/rpms/elfutils-libelf-devel-0.190-2.el8.x86_64.rpm
/my/dir/rpms/keyutils-libs-devel-1.5.10-9.0.1.el8.x86_64.rpm
/my/dir/rpms/krb5-devel-1.18.2-28.0.1.el8_10.x86_64.rpm
[root@pmserver ~]# ./patchmgr --dbnodes dbs_group --upgrade --repo /my/dir/exadata_ol8_25.1.0.0.0.241130_Linux-x86-64.zip --target_version 25.1.0.0.0.241130 --log_dir auto --additional-rpms-list /my/dir/additionalpackages1.txt
Example 8-11 Perform an update using additional RPMs
This example shows an update including additional RPM files specified as a list of HTTPS URLs in a text file at /my/dir/additionalpackages1.txt
. In this case, the patchmgr command does not use the --additional-rpms-from-repo
option, so patchmgr needs to download the additional RPM files and transfer them to each target server.
[root@pmserver ~]# cat /my/dir/additionalpackages2.txt
https://yum-mirror.example.com/repo/OracleLinux/OL8/baseos/latest/x86_64/getPackage/sssd-nfs-idmap-2.9.4-3.0.1.el8_10.x86_64.rpm
https://yum-mirror.example.com/repo/OracleLinux/OL8/baseos/latest/x86_64/getPackage/timedatex-0.5-3.el8.x86_64.rpm
https://yum-mirror.example.com/repo/OracleLinux/OL8/baseos/latest/x86_64/getPackage/zlib-devel-1.2.11-25.el8.x86_64.rpm
[root@pmserver ~]# ./patchmgr --dbnodes dbs_group --upgrade --repo /my/dir/exadata_ol8_25.1.0.0.0.241130_Linux-x86-64.zip --target_version 25.1.0.0.0.241130 --log_dir auto --additional-rpms-list /my/dir/additionalpackages2.txt
Example 8-12 Perform an update using additional RPMs
This example shows an update including additional RPM files specified in a text file at /my/dir/additionalpackages3.txt
. The example uses the --additional-rpms-from-repo
option, so the file identifying additional RPM files requires only the RPM names. In this case, patchmgr only propagates the RPM names to each target server, and each target server downloads the RPMs directly from a suitably configured Yum or DNF repository.
[root@pmserver ~]# cat /my/dir/additionalpackages3.txt
elfutils-debuginfod-client-0.190-2.el8.x86_64.rpm
elfutils-libelf-devel-0.190-2.el8.x86_64.rpm
keyutils-libs-devel-1.5.10-9.0.1.el8.x86_64.rpm
krb5-devel-1.18.2-28.0.1.el8_10.x86_64.rpm
zlib-devel-1.2.11-25.el8.x86_64.rpm
[root@pmserver ~]# ./patchmgr --dbnodes dbs_group --upgrade --repo /my/dir/exadata_ol8_25.1.0.0.0.241130_Linux-x86-64.zip --target_version 25.1.0.0.0.241130 --log_dir auto --additional-rpms-list /my/dir/additionalpackages3.txt --additional-rpms-from-repo
Related Topics
Parent topic: Patchmgr Syntax