Background and Introduction:
Starting with AIX® Version 7.2, the AIX operating system provides the AIX live update function. This eliminates the workload downtime that is associated with AIX system restart when fixes to the AIX kernel are deployed. The workloads on the system are not stopped in a live update operation, yet the workloads can use the interim fixes after the live update operation.
AIX provides a flexible and centralized method for managing the tunable parameters on the systems.
And if we want to apply system tuning parameters after live update then it can be achieved in AIX 7.3
Prior to AIX 7.3, the tunables which require reboot were not supported across live update operation. Now, the changes have been made in the AIX System tuning and live update infrastructure to support the tunables changes across live update operation. That is, the active tunable settings will be changed even after live update operation.
The system tuning and live update infrastructure that is used to manage the tunables uses 3 important files namely
- /etc/tunables/lastboot
- /etc/tunables/nextboot
- /etc/tunables/nextliveupdate
Supported Tunable parameters for live update
In AIX 7.3 , only the vmo and no tunables are supported for live update operation.
The no command sets the current or next system boot values for network tuning parameters.
And the vmo command is used to configure Virtual Memory manager tuning parameters.
These commands can also make permanent changes or defer changes until the next reboot or next live update.
AIX supports 5 vmo and 12 no tunable parameters for LU.
vmo
- ame_cpus_per_pool
- kernel_heap_size
- msem_nlocks
- num_locks_per_semid
- vmm_klock_mode
no
- timer_wheel_tick
- extendednetstats
- lo_perf
- ipqmaxlen
- arptab_bsiz
- arptab_nb
- tcp_inpcb_hashtab_siz
- udp_inpcb_hashtab_siz
- use_sndbufpool
- udp_recv_perf
- udp_send_perf
- rtentry_lock_complex
To keep the parameter values intact even after doing live update, we must use “-K” flag along with existing “-r” option. We support only the above tunable parameters that have tunable type of “R” (reboot).
The example below will set the vmo tunable having tuning parameter vmm_klock_mode set to 1 and note that “-K” flag must be used along with “-r” flag. Using this option will have vmm_klock_mode parameter to be updated to “1” even after LU operation
# vmo -r -K -o vmm_klock_mode=1
Setting vmm_klock_mode to 1 in nextboot file
Warning: some changes will take effect only after a bosboot and a reboot
Run bosboot now? yes/no yes
0301-177 A previous bosdebug command has changed characteristics of this boot image. Use bosdebug -L to display what these changes are.
bosboot: Boot image is 65564 512 byte blocks.
Warning: changes will take effect only at next reboot
Setting vmm_klock_mode to 1 in nextliveupdate file
Warning: changes will take effect at next reboot or live update operation
After setting the kernel locking memory mode parameter, we can confirm if these values are properly set in /etc/tunables/nextboot and /etc/tunables/nextliveupdate files as well.
# grep -p vmm_klock_mode /etc/tunables/nextboot
vmo:
vmm_klock_mode = "1"
grep -p vmm_klock_mode /etc/tunables/nextliveupdate
vmo:
vmm_klock_mode = "1"
We can also modify these values using SMIT(System Management Interface Tool) menu by navigating through System Management --> Performance & Resource Scheduling --> Tuning Kernel & Network Parameters --> Tuning Virtual Memory Manager, File System and Logical Volume Manager Params--> Change /Show Parameters for Next Live update menu.
Change / Show VM Manager, File System and
LV Manager Parameters for Next Live Update
Type or select values in entry fields.
Press Enter AFTER making all desired changes.
[Entry Fields]
ame_cpus_per_pool [8] +#
msem_nlocks [0] +#
num_locks_per_semid [1] +#
vmm_klock_mode [1] +#
vtiol_mode [] +#
kernel_heap_psize [0] +
F1=Help F2=Refresh F3=Cancel F4=List
F5=Reset F6=Command F7=Edit F8=Image
F9=Shell F10=Exit Enter=Do
And not only vmo, but we can also set the supported tuning parameters of the network using no command with similar flags “-K” along with “-r” option.
# no -r -K -o ipqmaxlen=1000
Setting ipqmaxlen to 1000 in nextboot file
Warning: changes will take effect only at next reboot
Setting ipqmaxlen to 1000 in nextliveupdate file
Warning: changes will take effect at next reboot or live update operation
Next, we will perform the live update operation and we will confirm if the values are unchanged.
# geninstall -k
+-----------------------------------------------------------------------------+
Pre-Live Update Verification...
+-----------------------------------------------------------------------------+
Verifying environment...done
Verifying /var/adm/ras/liveupdate/lvupdate.data file...done
Computing the estimated time for the live update operation...done
Results...
EXECUTION INFORMATION
---------------------
............................
# vmo -a |grep vmm_klock_mode
vmm_klock_mode = 1
# no -a | grep ipqmaxlen
ipqmaxlen = 1000
We can see from the above commands that the values are still intact even after doing live update thereby eliminating downtime coupled with system tunable changing.
Tunable changes with Oracle application running
We are taking 2 tunable parameters as an example and LPAR with AME enabled. Tunable parameters are ame_cpus_per_pool and tcp_inpcb_hashtab_siz. We have Oracle single instance running on system. Below snapshots will show details :
# what /unix|grep buil
_kdb_buildinfo unix_64 Nov 21 2021 08:05:02 2146C_730
(0) root @ lpar: /
# oslevel -s
7300-00-01-2148
(0) root @ lpar: /
#
(0) root @ lpar: /
# ps -eaf |grep ora
oracle 6816238 1 0 05:47:10 - 0:00 ora_w01e_oastdb
oracle 7930222 1 0 05:34:56 - 0:00 ora_aqpc_oastdb
oracle 8126954 1 0 05:34:55 - 0:00 ora_tt02_oastdb
oracle 8716596 1 0 05:34:55 - 0:00 ora_tt01_oastdb
oracle 14352826 1 0 05:35:02 - 0:00 ora_w004_oastdb
oracle 15073684 1 0 08:29:59 - 0:00 ora_m005_oastdb
oracle 15139094 1 0 05:34:50 - 0:00 ora_tmon_oastdb
oracle 15270278 1 0 05:34:55 - 0:00 ora_tt00_oastdb
oracle 15335822 1 0 05:34:50 - 0:00 ora_mmnl_oastdb
oracle 15466780 1 0 05:34:50 - 0:00 ora_d000_oastdb
oracle 15663594 1 0 05:34:50 - 0:01 ora_mmon_oastdb
oracle 15925710 1 0 05:34:50 - 0:00 ora_pxmn_oastdb
oracle 16056594 1 0 05:34:50 - 0:00 ora_lreg_oastdb
oracle 16253326 1 0 05:34:50 - 0:00 ora_w000_oastdb
oracle 16318962 1 0 05:34:50 - 0:00 ora_reco_oastdb
oracle 16449922 1 0 05:34:50 - 0:00 ora_smco_oastdb
oracle 16515400 1 0 05:34:50 - 0:00 ora_lg01_oastdb
oracle 16580918 1 0 05:34:50 - 0:05 ora_lg00_oastdb
oracle 16646452 1 0 05:34:50 - 0:01 ora_ckpt_oastdb
oracle 16712082 1 0 05:34:50 - 0:24 ora_dbw3_oastdb
oracle 16777706 1 0 05:34:50 - 0:00 ora_s000_oastdb
oracle 16843022 1 0 05:34:50 - 0:26 ora_dbw1_oastdb
oracle 16908572 1 0 05:34:50 - 0:00 ora_smon_oastdb
oracle 16974094 1 0 05:34:50 - 0:24 ora_dbw0_oastdb
oracle 17039648 1 0 05:34:56 - 0:01 ora_cjq0_oastdb
oracle 17105170 1 0 05:34:50 - 0:02 ora_dia0_oastdb
oracle 17432864 1 0 05:34:49 - 0:00 ora_pman_oastdb
oracle 17498398 1 0 05:34:49 - 0:00 ora_svcb_oastdb
oracle 17563936 1 0 05:34:49 - 0:00 ora_vkrm_oastdb
oracle 17629474 1 0 05:34:49 - 0:00 ora_dbrm_oastdb
oracle 18022702 1 0 05:34:49 - 0:00 ora_diag_oastdb
oracle 18350404 1 0 07:45:21 - 0:00 ora_w001_oastdb
oracle 20119918 1 0 05:35:06 - 0:00 ora_q003_oastdb
oracle 20185478 1 0 05:37:08 - 0:00 ora_w006_oastdb
oracle 20382070 1 0 05:35:06 - 0:00 ora_q002_oastdb
oracle 20578684 1 0 05:35:06 - 0:00 ora_qm02_oastdb
oracle 21365140 1 0 05:34:49 - 0:00 ora_gen1_oastdb
oracle 21430680 1 0 05:34:50 - 0:06 ora_lgwr_oastdb
oracle 21496216 1 0 05:34:49 - 0:00 ora_gen0_oastdb
oracle 21561776 1 0 05:34:50 - 0:24 ora_dbw2_oastdb
oracle 21692830 1 0 05:34:49 - 0:03 ora_vktm_oastdb
oracle 21758368 1 0 05:34:48 - 0:00 ora_psp0_oastdb
oracle 22217168 1 0 05:34:48 - 0:00 ora_clmn_oastdb
oracle 22282698 1 0 05:34:48 - 0:00 ora_pmon_oastdb
oracle 23265550 1 0 05:34:49 - 0:00 ora_mman_oastdb
oracle 23331072 1 0 05:47:29 - 0:00 ora_w01k_oastdb
oracle 24904190 1 0 05:47:32 - 0:00 ora_w01l_oastdb
oracle 26149156 1 0 05:47:35 - 0:00 ora_w01m_oastdb
oracle 27001150 1 0 05:46:46 - 0:00 ora_w016_oastdb
oracle 28508524 1 0 05:46:52 - 0:00 ora_w018_oastdb
oracle 29098366 1 0 05:47:07 - 0:00 ora_w01d_oastdb
oracle 30212512 1 0 05:47:01 - 0:00 ora_w01b_oastdb
oracle 30278052 1 0 06:48:11 - 0:00 ora_w010_oastdb
oracle 30409140 1 0 07:45:18 - 0:00 ora_w00i_oastdb
oracle 32637418 1 0 05:47:04 - 0:00 ora_w01c_oastdb
oracle 34734378 1 0 05:46:40 - 0:00 ora_w014_oastdb
oracle 35324220 1 0 05:47:13 - 0:00 ora_w01f_oastdb
oracle 38470044 1 0 05:47:44 - 0:00 ora_w01p_oastdb
oracle 39846342 1 0 05:47:19 - 0:00 ora_w01h_oastdb
oracle 42598682 1 0 05:47:47 - 0:00 ora_w01q_oastdb
oracle 43254062 1 0 05:47:50 - 0:00 ora_w01r_oastdb
oracle 46399884 1 0 05:44:59 - 0:00 ora_w007_oastdb
oracle 46465422 1 0 05:45:02 - 0:00 ora_w008_oastdb
oracle 46530962 1 0 05:45:05 - 0:00 ora_w009_oastdb
oracle 46596498 1 0 05:45:08 - 0:00 ora_w00a_oastdb
oracle 46662036 1 0 05:45:12 - 0:00 ora_w00b_oastdb
oracle 46727604 1 0 08:50:09 - 0:00 ora_m002_oastdb
oracle 46793112 1 0 05:45:18 - 0:00 ora_w00d_oastdb
oracle 46858650 1 0 05:45:21 - 0:00 ora_w00e_oastdb
oracle 46924188 1 0 05:45:24 - 0:00 ora_w00f_oastdb
oracle 46989726 1 0 05:45:27 - 0:00 ora_w00g_oastdb
oracle 47251890 1 0 08:41:06 - 0:00 ora_m003_oastdb
oracle 47448492 1 0 05:45:48 - 0:00 ora_w00n_oastdb
oracle 47514030 1 0 05:45:51 - 0:00 ora_w00o_oastdb
oracle 47579568 1 0 05:45:54 - 0:00 ora_w00p_oastdb
oracle 47645106 1 0 05:45:57 - 0:00 ora_w00q_oastdb
oracle 47710644 1 0 05:46:00 - 0:00 ora_w00r_oastdb
oracle 47776182 1 0 05:46:03 - 0:00 ora_w00s_oastdb
oracle 47907258 1 0 05:46:09 - 0:00 ora_w00u_oastdb
oracle 48038334 1 0 05:46:16 - 0:00 ora_w00w_oastdb
oracle 48103872 1 0 05:46:19 - 0:00 ora_w00x_oastdb
oracle 48169412 1 0 08:51:09 - 0:00 ora_m001_oastdb
oracle 48366024 1 0 05:46:31 - 0:00 ora_w011_oastdb
oracle 48497100 1 0 05:46:37 - 0:00 ora_w013_oastdb
oracle 55640500 1 0 07:45:14 - 0:00 ora_w01i_oastdb
oracle 62980494 1 0 07:45:11 - 0:00 ora_w00j_oastdb
oracle 65339864 1 0 08:46:09 - 0:00 ora_m000_oastdb
oracle 2425430 1 0 07:45:24 - 0:00 ora_w003_oastdb
(0) root @ lpar: /
#
(0) root @ lpar: /
# cat /var/adm/ras/liveupdate/lvupdate.data
general:
kext_check = yes
disks:
nhdisk = hdisk1
mhdisk = hdisk2
tohdisk =
tshdisk =
hmc:
lpar_id =
management_console = <HMC name>
user = hscroot
(0) root @ lpar: /
#
(0) root @ lpar: /
# amepat
Command Invoked : amepat
Date/Time of invocation : Tue Feb 15 08:54:44 CST 2022
Total Monitored time : NA
Total Samples Collected : NA
System Configuration:
---------------------
Partition Name : lpar
Processor Implementation Mode : POWER9 Mode
Number Of Logical CPUs : 32
Processor Entitled Capacity : 4.00
Processor Max. Capacity : 4.00
True Memory : 32.00 GB
SMT Threads : 8
Shared Processor Mode : Disabled
Active Memory Sharing : Disabled
Active Memory Expansion : Enabled
Target Expanded Memory Size : 160.00 GB
Target Memory Expansion factor : 5.00
System Resource Statistics: Current
--------------------------- ----------------
CPU Util (Phys. Processors) 0.00 [ 0%]
Virtual Memory Size (MB) 12102 [ 7%]
True Memory In-Use (MB) 27184 [ 83%]
Pinned Memory (MB) 2926 [ 9%]
File Cache Size (MB) 15015 [ 46%]
Available Memory (MB) 99544 [ 61%]
AME Statistics: Current
--------------- ----------------
AME CPU Usage (Phy. Proc Units) 0.00 [ 0%]
Compressed Memory (MB) 0 [ 0%]
Compression Ratio N/A
Deficit Memory Size (MB) 51215 [ 31%]
(0) root @ lpar: /
#
(0) root @ lpar: /
# vmo -L ame_cpus_per_pool
NAME CUR DEF BOOT LVUP MIN MAX UNIT TYPE
DEPENDENCIES
---------------------------------------------------------------------------------------
ame_cpus_per_pool 8 8 8 8 1 1920 processors B
---------------------------------------------------------------------------------------
(0) root @ lpar: /
#
(0) root @ lpar: /
# vmo -r -K -o ame_cpus_per_pool=192
Setting ame_cpus_per_pool to 192 in nextboot file
Warning: some changes will take effect only after a bosboot and a reboot
Run bosboot now? yes/no yes
0301-177 A previous bosdebug command has changed characteristics of this
boot image. Use bosdebug -L to display what these changes are.
bosboot: Boot image is 65564 512 byte blocks.
Warning: changes will take effect only at next reboot
Setting ame_cpus_per_pool to 192 in nextliveupdate file
Warning: changes will take effect at next reboot or live update operation
(0) root @ lpar: /
# vmo -L ame_cpus_per_pool
NAME CUR DEF BOOT LVUP MIN MAX UNIT TYPE
DEPENDENCIES
---------------------------------------------------------------------------------------
ame_cpus_per_pool 8 8 192 192 1 1920 processors B
---------------------------------------------------------------------------------------
(0) root @ lpar: /
# no -L tcp_inpcb_hashtab_siz
---------------------------------------------------------------------------------------
NAME CUR DEF BOOT LVUP MIN MAX UNIT TYPE
DEPENDENCIES
---------------------------------------------------------------------------------------
tcp_inpcb_hashtab_siz 24499 24499 24499 24499 1 999999 numeric R
---------------------------------------------------------------------------------------
(0) root @ lpar: /
# no -r -K -o tcp_inpcb_hashtab_siz=99999
Setting tcp_inpcb_hashtab_siz to 99999 in nextboot file
Warning: changes will take effect only at next reboot
Setting tcp_inpcb_hashtab_siz to 99999 in nextliveupdate file
Warning: changes will take effect at next reboot or live update operation
(0) root @ lpar: /
# no -L tcp_inpcb_hashtab_siz
---------------------------------------------------------------------------------------
NAME CUR DEF BOOT LVUP MIN MAX UNIT TYPE
DEPENDENCIES
---------------------------------------------------------------------------------------
tcp_inpcb_hashtab_siz 24499 24499 99999 99999 1 999999 numeric R
---------------------------------------------------------------------------------------
(0) root @ lpar: /
#
(0) root @ lpar: /
# hmcauth
Enter HMC URI: <hmc_name>
Enter HMC user name: <hmc_username>
Enter HMC password:
(0) root @ lpar: /
#
(0) root @ lpar: /
# geninstall -k -p
*******************************************************************************
Live update PREVIEW: Live update operation will not actually occur.
*******************************************************************************
+-----------------------------------------------------------------------------+
Pre-Live update Verification...
+-----------------------------------------------------------------------------+
Verifying environment...done
Verifying /var/adm/ras/liveupdate/lvupdate.data file...done
Computing the estimated time for the live update operation...done
Results...
EXECUTION INFORMATION
---------------------
LPAR: lpar
HMC: <HMC_IP>
user: hscroot
Blackout time(in seconds): 12
Total operation time(in seconds): 1680
<< End of Information Section >>
+-----------------------------------------------------------------------------+
Live update Requirement Verification...
+-----------------------------------------------------------------------------+
INFORMATION
-----------
INFO: Any system dumps present in the current dump logical volumes will not be available after live update is complete.
<< End of Information Section >>
+-----------------------------------------------------------------------------+
Live update Preview Summary...
+-----------------------------------------------------------------------------+
The live update preview succeeded.
*******************************************************************************
End of Live update PREVIEW: No Live update operation has actually occurred.
*******************************************************************************
(0) root @ lpar: /
#
(0) root @ lpar: /
# date;hostname;nohup geninstall -k >> lpar-lku.log 2>&1 &
Tue Feb 15 09:03:41 CST 2022
lpar
[1] 66978176
(0) root @ lpar: /
# tail -f lpar-lku.log
EXECUTION INFORMATION
---------------------
LPAR: lpar
HMC: <HMC_IP>
user: hscroot
Blackout time(in seconds): 12
Total operation time(in seconds): 1625
<< End of Information Section >>
+-----------------------------------------------------------------------------+
Live update Requirement Verification...
+-----------------------------------------------------------------------------+
INFORMATION
-----------
INFO: Any system dumps present in the current dump logical volumes will not be available after live update is complete.
<< End of Information Section >>
+-----------------------------------------------------------------------------+
Live update Preview Summary...
+-----------------------------------------------------------------------------+
The live update preview succeeded.
Non-interruptable live update operation begins in 10 seconds.
Broadcast message from root@lpar (pts/1) at 09:04:21 ...
Live AIX update in progress.
Initializing live update on original LPAR.
Validating original LPAR environment.
Beginning live update operation on original LPAR.
Requesting resources required for live update.
....................
Notifying applications of impending live update.
............
Creating rootvg for boot of surrogate.
........................................
Starting the surrogate LPAR.
....................................................
Creating mirror of original LPAR's rootvg.
....................................
Moving workload to surrogate LPAR.
............
Blackout Time started.
Blackout Time end.
Workload is running on surrogate LPAR.
............................................................................................................
Shutting down the Original LPAR.
................
Broadcast message from root@lpar (pts/1) at 09:18:47 ...
Live AIX update completed.
....
The live update operation succeeded.
File /etc/inittab has been modified.
One or more of the files listed in /etc/check_config.files have changed.
See /var/adm/ras/config.diff for details.
^C[1] + Done date;hostname;nohup geninstall -k >> lpar-lku.log 2>&1 &
(130) root @ lpar: /
#
(130) root @ lpar: /
# vmo -L ame_cpus_per_pool
NAME CUR DEF BOOT LVUP MIN MAX UNIT TYPE
DEPENDENCIES
---------------------------------------------------------------------------------------
ame_cpus_per_pool 192 8 192 192 1 1920 processors B
---------------------------------------------------------------------------------------
(0) root @ lpar: /
#
(0) root @ lpar: /
# no -L tcp_inpcb_hashtab_siz
---------------------------------------------------------------------------------------
NAME CUR DEF BOOT LVUP MIN MAX UNIT TYPE
DEPENDENCIES
---------------------------------------------------------------------------------------
tcp_inpcb_hashtab_siz 99999 24499 99999 99999 1 999999 numeric R
---------------------------------------------------------------------------------------
(0) root @ lpar: /
#
(0) root @ lpar: /
# ps -aef |grep ora
oracle 6816238 1 0 05:47:10 - 0:00 ora_w01e_oastdb
oracle 7930222 1 0 05:34:56 - 0:00 ora_aqpc_oastdb
oracle 8126954 1 0 05:34:55 - 0:00 ora_tt02_oastdb
oracle 8716596 1 0 05:34:55 - 0:00 ora_tt01_oastdb
oracle 14352826 1 0 05:35:02 - 0:00 ora_w004_oastdb
oracle 15073706 1 0 08:55:27 - 0:00 ora_w017_oastdb
oracle 15139094 1 0 05:34:50 - 0:00 ora_tmon_oastdb
oracle 15270278 1 0 05:34:55 - 0:00 ora_tt00_oastdb
oracle 15335822 1 0 05:34:50 - 0:00 ora_mmnl_oastdb
oracle 15466780 1 0 05:34:50 - 0:00 ora_d000_oastdb
oracle 15532458 1 0 08:55:30 - 0:00 ora_w01a_oastdb
oracle 15663594 1 0 05:34:50 - 0:00 ora_mmon_oastdb
oracle 15729078 1 0 08:55:33 - 0:00 ora_w01g_oastdb
oracle 15794646 1 0 08:55:00 - 0:00 ora_m004_oastdb
oracle 15925710 1 0 05:34:50 - 0:00 ora_pxmn_oastdb
oracle 16056594 1 0 05:34:50 - 0:00 ora_lreg_oastdb
oracle 16253326 1 0 05:34:50 - 0:00 ora_w000_oastdb
oracle 16318962 1 0 05:34:50 - 0:00 ora_reco_oastdb
oracle 16449922 1 0 05:34:50 - 0:00 ora_smco_oastdb
oracle 16515400 1 0 05:34:50 - 0:00 ora_lg01_oastdb
oracle 16580918 1 0 05:34:50 - 0:00 ora_lg00_oastdb
oracle 16646452 1 0 05:34:50 - 0:00 ora_ckpt_oastdb
oracle 16712082 1 0 05:34:50 - 0:00 ora_dbw3_oastdb
oracle 16777706 1 0 05:34:50 - 0:00 ora_s000_oastdb
oracle 16843022 1 0 05:34:50 - 0:00 ora_dbw1_oastdb
oracle 16908572 1 0 05:34:50 - 0:00 ora_smon_oastdb
oracle 16974094 1 0 05:34:50 - 0:00 ora_dbw0_oastdb
oracle 17039648 1 0 05:34:56 - 0:00 ora_cjq0_oastdb
oracle 17105170 1 0 05:34:50 - 0:00 ora_dia0_oastdb
oracle 17432864 1 0 05:34:49 - 0:00 ora_pman_oastdb
oracle 17498398 1 0 05:34:49 - 0:00 ora_svcb_oastdb
oracle 17563936 1 0 05:34:49 - 0:00 ora_vkrm_oastdb
oracle 17629474 1 0 05:34:49 - 0:00 ora_dbrm_oastdb
oracle 18022702 1 0 05:34:49 - 0:00 ora_diag_oastdb
oracle 18350404 1 0 07:45:21 - 0:00 ora_w001_oastdb
oracle 20119918 1 0 05:35:06 - 0:00 ora_q003_oastdb
oracle 20185478 1 0 05:37:08 - 0:00 ora_w006_oastdb
oracle 20316532 1 0 08:55:24 - 0:00 ora_w00h_oastdb
oracle 20578684 1 0 05:35:06 - 0:00 ora_qm02_oastdb
oracle 21365140 1 0 05:34:49 - 0:00 ora_gen1_oastdb
oracle 21430680 1 0 05:34:50 - 0:00 ora_lgwr_oastdb
oracle 21496216 1 0 05:34:49 - 0:00 ora_gen0_oastdb
oracle 21561776 1 0 05:34:50 - 0:00 ora_dbw2_oastdb
oracle 21692830 1 0 05:34:49 - 0:00 ora_vktm_oastdb
oracle 21758368 1 0 05:34:48 - 0:00 ora_psp0_oastdb
oracle 22217168 1 0 05:34:48 - 0:00 ora_clmn_oastdb
oracle 22282698 1 0 05:34:48 - 0:00 ora_pmon_oastdb
oracle 23265550 1 0 05:34:49 - 0:00 ora_mman_oastdb
oracle 23331072 1 0 05:47:29 - 0:00 ora_w01k_oastdb
oracle 24904190 1 0 05:47:32 - 0:00 ora_w01l_oastdb
oracle 26149156 1 0 05:47:35 - 0:00 ora_w01m_oastdb
oracle 27001150 1 0 05:46:46 - 0:00 ora_w016_oastdb
oracle 27328952 1 0 09:10:22 - 0:00 ora_m005_oastdb
oracle 28508524 1 0 05:46:52 - 0:00 ora_w018_oastdb
oracle 29098366 1 0 05:47:07 - 0:00 ora_w01d_oastdb
oracle 30212512 1 0 05:47:01 - 0:00 ora_w01b_oastdb
oracle 30278052 1 0 06:48:11 - 0:00 ora_w010_oastdb
oracle 30409140 1 0 07:45:18 - 0:00 ora_w00i_oastdb
oracle 31261102 1 0 08:55:18 - 0:00 ora_w00z_oastdb
oracle 32637418 1 0 05:47:04 - 0:00 ora_w01c_oastdb
oracle 34734378 1 0 05:46:40 - 0:00 ora_w014_oastdb
oracle 35324220 1 0 05:47:13 - 0:00 ora_w01f_oastdb
root 36241710 15597886 0 09:21:29 pts/1 0:00 grep ora
oracle 38470044 1 0 05:47:44 - 0:00 ora_w01p_oastdb
oracle 39846342 1 0 05:47:19 - 0:00 ora_w01h_oastdb
oracle 42598682 1 0 05:47:47 - 0:00 ora_w01q_oastdb
oracle 43254062 1 0 05:47:50 - 0:00 ora_w01r_oastdb
oracle 44040662 1 0 08:55:21 - 0:00 ora_w00l_oastdb
oracle 46399884 1 0 05:44:59 - 0:00 ora_w007_oastdb
oracle 46465422 1 0 05:45:02 - 0:00 ora_w008_oastdb
oracle 46530962 1 0 05:45:05 - 0:00 ora_w009_oastdb
oracle 46596498 1 0 05:45:08 - 0:00 ora_w00a_oastdb
oracle 46662036 1 0 05:45:12 - 0:00 ora_w00b_oastdb
oracle 46727604 1 0 08:50:09 - 0:00 ora_m002_oastdb
oracle 46793112 1 0 05:45:18 - 0:00 ora_w00d_oastdb
oracle 46858650 1 0 05:45:21 - 0:00 ora_w00e_oastdb
oracle 46924188 1 0 05:45:24 - 0:00 ora_w00f_oastdb
oracle 46989726 1 0 05:45:27 - 0:00 ora_w00g_oastdb
oracle 47251898 1 0 08:55:15 - 0:00 ora_w00t_oastdb
oracle 47448492 1 0 05:45:48 - 0:00 ora_w00n_oastdb
oracle 47514030 1 0 05:45:51 - 0:00 ora_w00o_oastdb
oracle 47579568 1 0 05:45:54 - 0:00 ora_w00p_oastdb
oracle 47645106 1 0 05:45:57 - 0:00 ora_w00q_oastdb
oracle 47710644 1 0 05:46:00 - 0:00 ora_w00r_oastdb
oracle 47776182 1 0 05:46:03 - 0:00 ora_w00s_oastdb
oracle 47907258 1 0 05:46:09 - 0:00 ora_w00u_oastdb
oracle 48038334 1 0 05:46:16 - 0:00 ora_w00w_oastdb
oracle 48103872 1 0 05:46:19 - 0:00 ora_w00x_oastdb
oracle 48169412 1 0 08:51:09 - 0:00 ora_m001_oastdb
oracle 48366024 1 0 05:46:31 - 0:00 ora_w011_oastdb
oracle 48497100 1 0 05:46:37 - 0:00 ora_w013_oastdb
oracle 55640500 1 0 07:45:14 - 0:00 ora_w01i_oastdb
oracle 62980494 1 0 07:45:11 - 0:00 ora_w00j_oastdb
oracle 64225774 1 0 08:55:12 - 0:00 ora_w00v_oastdb
oracle 65339864 1 0 08:46:09 - 0:00 ora_m000_oastdb
oracle 1966642 1 0 09:13:09 - 0:00 ora_q001_oastdb
oracle 2425430 1 0 07:45:24 - 0:00 ora_w003_oastdb
(0) root @ lpar: /
#
So, we conclude that application will not have any downtime and we also notice that tunables changed post live update.
And not only vmo and no commands, there are also other tunable commands like schedo, ioo and nfso whose tunable values can be changed without reboot.
If you have any questions, feel free to add your comments . We’d love to hear from you!
References:
vmo commands -- https://www.ibm.com/docs/en/aix/7.3?topic=v-vmo-command
no commands -- https://www.ibm.com/docs/en/aix/7.3?topic=n-no-command
Live update steps and more information on System tunable parameters –
https://www.ibm.com/docs/en/aix/7.3?topic=lu-performing-live-update-operation-by-using-geninstall-command
https://www.ibm.com/docs/en/aix/7.3?topic=customization-system-tunable-parameters
Contributors:
@SRIKANTH JOSHI
@KASINADH DIVVELA
@Himabindu P J