VẤN ĐỀ:
Khi áp dụng bản vá cho tệp nhị phân Oracle bằng tiện ích opatch, tôi gặp lỗi sau.
$ORACLE_HOME/OPatch/opatch apply Oracle Interim Patch Installer version 12.1.0.1.10 Copyright (c) 2017, Oracle Corporation. All rights reserved. Oracle Home : /oracle/app/oracle/product/12.1.0/dbtest Central Inventory : /oracle/app/oraInventory from : /oracle/app/oracle/product/12.1.0/dbtest/oraInst.loc OPatch version : 12.1.0.1.10 OUI version : 12.1.0.2.0 Log file location : /oracle/app/oracle/product/12.1.0/dbtest/cfgtoollogs/opatch/opatch2017-02-16_15-30-33PM_1.log Verifying environment and performing prerequisite checks... Prerequisite check "CheckActiveFilesAndExecutables" failed. The details are: Following executables are active : /oracle/app/oracle/product/12.1.0/dbtest/lib/libclntsh.so.12.1 Prerequisite check "CheckActiveFilesAndExecutables" failed. The details are: Following executables are active : /oracle/app/oracle/product/12.1.0/dbtest/lib/libsqlplus.so UtilSession failed: Prerequisite check "CheckActiveFilesAndExecutables" failed.Prerequisite check "CheckActiveFilesAndExecutables" failed. Log file location: /oracle/app/oracle/product/12.1.0/dbtest/cfgtoollogs/opatch/opatch2017-02-16_15-30-33PM_1.log OPatch failed with error code 73
19.30: Ngày 01/02/2026: Tôi gặp lỗi này với cặp RAC 4 node, node 1/3/4 OK, riêng node 2 bị lỗi trên khi patch từ Oracle RAC 19.23 lên 19.30, reboot lại OS thì patch bình thường:
---------------------------Patching Failed---------------------------------
Command execution failed during patching in home: /u01/app/oracle/product/19c/db_1, host: cbs-cust-db02.
Command failed: /u01/app/oracle/product/19c/db_1/OPatch/opatchauto apply /u01/setup/patch/38629535 -oh /u01/app/oracle/product/19c/db_1 -target_type rac_database -binary -invPtrLoc /u01/app/19c/grid//oraInst.loc -jre /u01/app/19c/grid/OPatch/jre -persistresult /u01/app/oracle/product/19c/db_1/opatchautocfg/db/sessioninfo/sessionresult_cbs-cust-db02_rac_2.ser -analyzedresult /u01/app/oracle/product/19c/db_1/opatchautocfg/db/sessioninfo/sessionresult_analyze_cbs-cust-db02_rac_2.ser
Command failure output:
==Following patches FAILED in apply:
Patch: /u01/setup/patch/38629535/38632161
Log: /u01/app/oracle/product/19c/db_1/cfgtoollogs/opatchauto/core/opatch/opatch2026-02-28_22-49-31PM_1.log
Reason: Failed during Patching: oracle.opatch.opatchsdk.OPatchException:
Prerequisite check "CheckActiveFilesAndExecutables" failed.
The details are:
Patch 38632161:
Following active files/executables/libs are used by ORACLE_HOME :/u01/app/oracle/product/19c/db_1
/u01/app/oracle/product/19c/db_1/lib/libclntsh.so.19.1
Prerequisite check "CheckActiveFilesAndExecutables" failed.
Patch: /u01/setup/patch/38629535/38661284
Log: /u01/app/oracle/product/19c/db_1/cfgtoollogs/opatchauto/core/opatch/opatch2026-02-28_22-49-31PM_1.log
Reason: Failed during Patching: oracle.opatch.opatchsdk.OPatchException:
Prerequisite check "CheckActiveFilesAndExecutables" failed.
The details are:
Patch 38632161:
Following active files/executables/libs are used by ORACLE_HOME :/u01/app/oracle/product/19c/db_1
/u01/app/oracle/product/19c/db_1/lib/libclntsh.so.19.1
Prerequisite check "CheckActiveFilesAndExecutables" failed.
After fixing the cause of failure Run opatchauto resume
]'}
2026-02-28 22:51:08,928 SEVERE [81] com.oracle.cie.wizard.internal.engine.WizardControllerEngine - Wizard error cause
com.oracle.cie.wizard.tasks.TaskExecutionException: OPATCHAUTO-68128: Patch action execution failed.
OPATCHAUTO-68128: Failed to execute patch actions for goal offline:binary-patching
OPATCHAUTO-68128: Check the log for more information.
at com.oracle.glcm.patch.auto.wizard.silent.tasks.PatchActionTask.execute(PatchActionTask.java:106)
at com.oracle.cie.wizard.internal.cont.SilentTaskContainer$TaskRunner.run(SilentTaskContainer.java:102)
at java.lang.Thread.run(Thread.java:750)
Caused by: com.oracle.glcm.patch.auto.OPatchAutoException: OPATCHAUTO-68067: Patch action execution failed.
OPATCHAUTO-68067: Failed to execute patch action [com.oracle.glcm.patch.auto.db.integration.controller.action.OPatchAutoBinaryAction
Patch Target : cbs-cust-db02->/u01/app/oracle/product/19c/db_1 Type[rac]
Details: [
==> Sau khi reboot thực hiện:
# cd /u01/setup/patch/38629535
# export ORACLE_HOME=/u01/app/19c/grid/
# export PATH=$ORACLE_HOME/bin:$PATH
# $ORACLE_HOME/OPatch/opatchauto apply
ALTER SESSION ENABLE LOGICAL REPLICATION invoked from session 2272.51313 at SCN 0x00007fff173102ec
2026-03-01T00:49:34.49 +07:00: DATAPATCH: End apply of RU patch: 38632161 (Database Release Update : 19.30.0.0.260120(REL-JAN260130) (38632161))
SERVER ACTION=RU_APPLY id=: Patch applied from 19.3.0.0.0 to 19.30.0.0.0: Release_Update - 260126024251
OPatch failed with error code 14
[grid@cbs-cust-db02 ~]$ $ORACLE_HOME/OPatch/opatch lspatches
38729293;TOMCAT RELEASE UPDATE 19.0.0.0.0 (38729293)
38661284;OCW RELEASE UPDATE 19.30.0.0.0 (38661284)
38653268;ACFS RELEASE UPDATE 19.30.0.0.0 (38653268)
38632161;Database Release Update : 19.30.0.0.260120(REL-JAN260130) (38632161)
36758186;DBWLM RELEASE UPDATE 19.0.0.0.0 (36758186)
OPatch succeeded.
[grid@cbs-cust-db02 ~]$ $ORACLE_HOME/OPatch/opatch lspatches
38729293;TOMCAT RELEASE UPDATE 19.0.0.0.0 (38729293)
38661284;OCW RELEASE UPDATE 19.30.0.0.0 (38661284)
38653268;ACFS RELEASE UPDATE 19.30.0.0.0 (38653268)
38632161;Database Release Update : 19.30.0.0.260120(REL-JAN260130) (38632161)
36758186;DBWLM RELEASE UPDATE 19.0.0.0.0 (36758186)
[oracle@cbs-cust-db02 ~]$ $ORACLE_HOME/OPatch/opatch lspatches
38661284;OCW RELEASE UPDATE 19.30.0.0.0 (38661284)
38632161;Database Release Update : 19.30.0.0.260120(REL-JAN260130) (38632161)
36199232;OJVM RELEASE UPDATE: 19.23.0.0.240416 (36199232)
GIẢI PHÁP :
Khi áp dụng bản vá bằng opatch , tất cả các tiến trình sử dụng ORACLE_HOME đó đều phải được thực hiện. Nếu bất kỳ tiến trình nào vẫn đang sử dụng ORACLE_HOME, nó sẽ thất bại với lỗi như trên.
Thông báo lỗi hiển thị rõ ràng các tệp thực thi đang hoạt động.
Các tệp thực thi sau đang hoạt động:
/oracle/app/oracle/product/12.1.0/dbtest/lib/libclntsh.so.12.1 –>
Kiểm tra điều kiện tiên quyết “CheckActiveFilesAndExecutables” đã thất bại.
Chi tiết như sau:
Các tệp thực thi sau đang hoạt động:
/oracle/app/oracle/product/12.1.0/dbtest/lib/libsqlplus.so –>
Bây giờ hãy tìm ID tiến trình bằng lệnh sau.
Hãy tìm xem tiến trình nào đang sử dụng các tệp thực thi đang hoạt động được đề cập trong thông báo lỗi ở trên.
/sbin/fuser /oracle/app/oracle/product/12.1.0/dbtest/lib/libclntsh.so.12.1
/oracle/app/oracle/product/12.1.0/dbtest/lib/libclntsh.so.12.1: 29275m 29785m
ps -ef | grep 29785
oracle 29785 1 0 Feb 15 ? 0:25 /oracle/app/oracle/product/12.1.0/dbtest/bin/tnslsnr LISTENER_TEST -inherit
oracle 13640 27442 0 15:32:51 pts/1 0:00 grep 29785
ps -ef | grep 29275
oracle 29275 29255 0 15:02:33 pts/2 0:00 sqlplus / as sysdba
oracle 13802 27442 0 15:33:16 pts/1 0:00 grep 29275
Kết thúc cả hai tiến trình
giết -9 29785 29275
2.
/sbin/fuser /oracle/app/oracle/product/12.1.0/dbtest/lib/libsqlplus.so
/oracle/app/oracle/product/12.1.0/dbtest/lib/libsqlplus.so:
Nếu lệnh này hiển thị bất kỳ ID tiến trình nào, thì những tiến trình đó cũng cần phải bị chấm dứt (hoặc reboot lại OS)
Bây giờ hãy thử lại thao tác opatch .
# $ORACLE_HOME/OPatch/opatch apply
Oracle Interim Patch Installer version 12.1.0.1.10
Copyright (c) 2017, Oracle Corporation. All rights reserved.
Oracle Home : /oracle/app/oracle/product/12.1.0/dbtest
Central Inventory : /oracle/app/oraInventory
from : /oracle/app/oracle/product/12.1.0/dbtest/oraInst.loc
OPatch version : 12.1.0.1.10
OUI version : 12.1.0.2.0
Log file location : /oracle/app/oracle/product/12.1.0/dbtest/cfgtoollogs/opatch/opatch2017-02-16_15-33-59PM_1.log
Verifying environment and performing prerequisite checks...
OPatch continues with these patches: 19769480 20299023 20831110 21359755 21948354 22291127 23054246 24006101 24732082
Do you want to proceed? [y|n]
y
User Responded with: Y
All checks passed.
Provide your email address to be informed of security issues, install and
initiate Oracle Configuration Manager. Easier for you if you use your My
Oracle Support Email address/User Name.
Visit http://www.oracle.com/support/policies.html for details.
Email address/User Name:
You have not provided an email address for notification of security issues.
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]: Y
Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/oracle/app/oracle/product/12.1.0/dbtest')
Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files...
Applying sub-patch '19769480' to OH '/oracle/app/oracle/product/12.1.0/dbtest'
Patching component oracle.rdbms.deconfig, 12.1.0.2.0...
Patching component oracle.xdk, 12.1.0.2.0...
Patching component oracle.tfa, 12.1.0.2.0...
Patching component oracle.rdbms.util, 12.1.0.2.0...
Patching component oracle.rdbms, 12.1.0.2.0...
Patching component oracle.rdbms.dbscripts, 12.1.0.2.0...
Patching component oracle.xdk.parser.java, 12.1.0.2.0...
Patching component oracle.oraolap, 12.1.0.2.0...
Patching component oracle.xdk.rsf, 12.1.0.2.0...
Patching component oracle.rdbms.rsf, 12.1.0.2.0...
Patching component oracle.rdbms.rman, 12.1.0.2.0...
Patching component oracle.ldap.rsf, 12.1.0.2.0...
Patching component oracle.ldap.rsf.ic, 12.1.0.2.0...
Applying sub-patch '20299023' to OH '/oracle/app/oracle/product/12.1.0/dbtest'
ApplySession: Optional component(s) [ oracle.has.crs, 12.1.0.2.0 ] not present in the Oracle Home or a higher version is found.
Patching component oracle.tfa, 12.1.0.2.0...
Patching component oracle.rdbms.deconfig, 12.1.0.2.0...
Patching component oracle.rdbms.rsf, 12.1.0.2.0...
Patching component oracle.rdbms, 12.1.0.2.0...
Patching component oracle.rdbms.dbscripts, 12.1.0.2.0...
Patching component oracle.rdbms.rsf.ic, 12.1.0.2.0...
Patching component oracle.ldap.rsf, 12.1.0.2.0...
Patching component oracle.ldap.rsf.ic, 12.1.0.2.0...
Applying sub-patch '20831110' to OH '/oracle/app/oracle/product/12.1.0/dbtest'
Patching component oracle.rdbms, 12.1.0.2.0...
Patching component oracle.oraolap.dbscripts, 12.1.0.2.0...
Patching component oracle.ldap.rsf, 12.1.0.2.0...
Patching component oracle.tfa, 12.1.0.2.0...
Patching component oracle.rdbms.dbscripts, 12.1.0.2.0...
Patching component oracle.rdbms.rsf, 12.1.0.2.0...
Applying sub-patch '21359755' to OH '/oracle/app/oracle/product/12.1.0/dbtest'
Patching component oracle.assistants.server, 12.1.0.2.0...
Patching component oracle.rdbms.rsf, 12.1.0.2.0...
Patching component oracle.rdbms, 12.1.0.2.0...
Patching component oracle.rdbms.dbscripts, 12.1.0.2.0...
Patching component oracle.tfa, 12.1.0.2.0...
Applying sub-patch '21948354' to OH '/oracle/app/oracle/product/12.1.0/dbtest'
Patching component oracle.rdbms.deconfig, 12.1.0.2.0...
Patching component oracle.xdk, 12.1.0.2.0...
Patching component oracle.tfa, 12.1.0.2.0...
Patching component oracle.rdbms, 12.1.0.2.0...
Patching component oracle.rdbms.dbscripts, 12.1.0.2.0...
Patching component oracle.xdk.parser.java, 12.1.0.2.0...
Patching component oracle.rdbms.rsf, 12.1.0.2.0...
Patching component oracle.xdk.rsf, 12.1.0.2.0...
Applying sub-patch '22291127' to OH '/oracle/app/oracle/product/12.1.0/dbtest'
ApplySession: Optional component(s) [ oracle.oid.client, 12.1.0.2.0 ] not present in the Oracle Home or a higher version is found.
Patching component oracle.ldap.rsf, 12.1.0.2.0...
Patching component oracle.ldap.client, 12.1.0.2.0...
Patching component oracle.tfa, 12.1.0.2.0...
Patching component oracle.rdbms, 12.1.0.2.0...
Patching component oracle.rdbms.dbscripts, 12.1.0.2.0...
Patching component oracle.rdbms.rsf, 12.1.0.2.0...
Patching component oracle.oraolap, 12.1.0.2.0...
Patching component oracle.rdbms.rman, 12.1.0.2.0...
Patching component oracle.oraolap.dbscripts, 12.1.0.2.0...
Applying sub-patch '23054246' to OH '/oracle/app/oracle/product/12.1.0/dbtest'
Patching component oracle.rdbms.dv, 12.1.0.2.0...
Patching component oracle.rdbms.rsf, 12.1.0.2.0...
Patching component oracle.rdbms.rman, 12.1.0.2.0...
Patching component oracle.rdbms, 12.1.0.2.0...
Patching component oracle.rdbms.dbscripts, 12.1.0.2.0...
Patching component oracle.ldap.rsf, 12.1.0.2.0...
Patching component oracle.install.deinstalltool, 12.1.0.2.0...
Patching component oracle.ldap.rsf.ic, 12.1.0.2.0...
Patching component oracle.oracore.rsf, 12.1.0.2.0...
Patching component oracle.ctx, 12.1.0.2.0...
Patching component oracle.xdk, 12.1.0.2.0...
Patching component oracle.nlsrtl.rsf, 12.1.0.2.0...
Patching component oracle.xdk.parser.java, 12.1.0.2.0...
Patching component oracle.ctx.atg, 12.1.0.2.0...
Applying sub-patch '24006101' to OH '/oracle/app/oracle/product/12.1.0/dbtest'
Patching component oracle.sqlplus, 12.1.0.2.0...
Patching component oracle.rdbms, 12.1.0.2.0...
Patching component oracle.network.listener, 12.1.0.2.0...
Patching component oracle.network.rsf, 12.1.0.2.0...
Patching component oracle.rdbms.dv, 12.1.0.2.0...
Patching component oracle.rdbms.rman, 12.1.0.2.0...
Patching component oracle.rdbms.dbscripts, 12.1.0.2.0...
Patching component oracle.sqlplus.ic, 12.1.0.2.0...
Patching component oracle.rdbms.rsf, 12.1.0.2.0...
Applying sub-patch '24732082' to OH '/oracle/app/oracle/product/12.1.0/dbtest'
Patching component oracle.rdbms.install.plugins, 12.1.0.2.0...
Patching component oracle.rdbms.rsf, 12.1.0.2.0...
Patching component oracle.tfa, 12.1.0.2.0...
Patching component oracle.rdbms.rman, 12.1.0.2.0...
Patching component oracle.rdbms, 12.1.0.2.0...
Patching component oracle.rdbms.dbscripts, 12.1.0.2.0...
OPatch found the word "warning" in the stderr of the make command.
Please look at this stderr. You can re-run this make command.
Stderr output:
+ PATH=/bin:/usr/bin:/usr/ccs/bin
+ export PATH
+ lib=/oracle/app/oracle/product/12.1.0/dbtest/sqlplus/lib/libsqlplus.so
+ makefile=/oracle/app/oracle/product/12.1.0/dbtest/sqlplus/lib/ins_sqlplus.mk
+ so_ext=so
+ target=dlopenlib
+ basename /oracle/app/oracle/product/12.1.0/dbtest/sqlplus/lib/libsqlplus.so .so
+ libname=libsqlplus
+ dirname /oracle/app/oracle/product/12.1.0/dbtest/sqlplus/lib/libsqlplus.so
+ sodir=/oracle/app/oracle/product/12.1.0/dbtest/sqlplus/lib
+ ardir=/oracle/app/oracle/product/12.1.0/dbtest/lib/
+ [ var '=' dlopenlib ]
+ suffix=LIBS
+ var=''
+ [ ! -f /oracle/app/oracle/product/12.1.0/dbtest/lib/libsqlplus.a ]
+ [ '' '!=' '' ]
+ make -f /oracle/app/oracle/product/12.1.0/dbtest/sqlplus/lib/ins_sqlplus.mk dlopenlib _FULL_LIBNAME=/oracle/app/oracle/product/12.1.0/dbtest/sqlplus/lib/libsqlplus.so _LIBNAME=libsqlplus _LIBDIR=/oracle/app/oracle/product/12.1.0/dbtest/lib/ _LIBNAME_LIBS='$(libsqlplusLIBS)' _LIBNAME_EXTRALIBS='$(libsqlplusEXTRALIBS)'
ld: warning: symbol '_init' not found, but .init section exists - possible link-edit without using the compiler driver
ld: warning: symbol '_fini' not found, but .fini section exists - possible link-edit without using the compiler driver
Composite patch 24732082 successfully applied. Chúng tôi đã áp dụng bản vá thành công.
GHI CHÚ:
Vì vậy, trước khi chạy trực tiếp lệnh opatch apply, tốt hơn hết là nên chạy lệnh dưới đây để kiểm tra xem có tiến trình nào đang sử dụng tệp nhị phân oracle hay không.
[oracle@eaidb3 27072683]$ $ORACLE_HOME/OPatch/opatch prereq CheckActiveFilesAndExecutables -ph ./ Oracle Interim Patch Installer version 12.2.0.1.8 Copyright (c) 2017, Oracle Corporation. All rights reserved. PREREQ session Oracle Home : /u01/app/oracle/product/12.1.0.2/dbhome_1 Central Inventory : /u01/app/oraInventory from : /u01/app/oracle/product/12.1.0.2/dbhome_1/oraInst.loc OPatch version : 12.2.0.1.8 OUI version : 12.1.0.2.0 Log file location : /u01/app/oracle/product/12.1.0.2/dbhome_1/cfgtoollogs/opatch/opatch2017-11-12_11-58-03AM_1.log Invoking prereq "checkactivefilesandexecutables" Prereq "checkActiveFilesAndExecutables" for patch 27072683 failed. The details are: Following executables are active : /u01/app/oracle/product/12.1.0.2/dbhome_1/bin/oracle OPatch succeeded.
TƯ VẤN: Click Here hoặc Hotline/Zalo 090.29.12.888
=============================
Website không chứa bất kỳ quảng cáo nào, mọi đóng góp để duy trì phát triển cho website (donation) xin vui lòng gửi về STK 90.2142.8888 - Ngân hàng Vietcombank Thăng Long - TRAN VAN BINH
=============================
Nếu bạn không muốn bị AI thay thế và tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp hay làm chủ Database thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ bí kíp thực chiến, thủ tục, quy trình của gần 20 năm kinh nghiệm (mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google) từ đó giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
=============================
cơ sở dữ liệu, cơ sở dữ liệu quốc gia, database, AI, trí tuệ nhân tạo, artificial intelligence, machine learning, deep learning, LLM, ChatGPT, DeepSeek, Grok, oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c/21c/23c/23ai, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, docker, k8s, micro service, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty