Mục đích: Hướng dẫn Apply patch Oracle Grid Infrastructure (GI) và database 19.30 (38629535) trên GI, database 19.23Môi trường:
[grid@cbs-cust-db01 ~]$ $ORACLE_HOME/OPatch/opatch lspatches
36460248;TOMCAT RELEASE UPDATE 19.0.0.0.0 (36460248)
36383196;DBWLM RELEASE UPDATE 19.0.0.0.0 (36383196)
36240578;OCW RELEASE UPDATE 19.23.0.0.0 (36240578)
36233343;ACFS RELEASE UPDATE 19.23.0.0.0 (36233343)
36233263;Database Release Update : 19.23.0.0.240416 (36233263)
(oracle)$ $ORACLE_HOME/OPatch/opatch lspatches
36240578;OCW RELEASE UPDATE 19.23.0.0.0 (36240578)
36233263;Database Release Update : 19.23.0.0.240416 (36233263)
36199232;OJVM RELEASE UPDATE: 19.23.0.0.240416 (36199232)1. Bạn phải sử dụng OPatch từ phiên bản 12.2.0.1.48 để apply patch này trên mọi node:
Node 1:
Download p6880880_190000_Linux-x86-64.zip – OPatch 12.2.0.1.48 for DB 19.0.0.0.0, hoặc mới hơn.
Thay thế bản opatch mới hơn:
# export ORACLE_HOME=/u01/app/19c/grid # mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch.xxx # su - grid $ export ORACLE_HOME=/u01/app/19c/grid $ unzip -o /u01/swtmp/p6880880_190000_Linux-x86-64.zip -d $ORACLE_HOME $ $ORACLE_HOME/OPatch/opatch version OPatch Version: 12.2.0.1.48
Node 2, 3, 4: Cập nhật Opatch của GRID_HOME và ORACLE_HOME mới nhất node 2, 3, 4:
(node2)# mv /u01/app/oracle/product/19c/db_1/OPatch /u01/app/oracle/product/19c/db_1/OPatch.bak.20260226
(node3)# mv /u01/app/oracle/product/19c/db_1/OPatch /u01/app/oracle/product/19c/db_1/OPatch.bak.20260226
(node4)# mv /u01/app/oracle/product/19c/db_1/OPatch /u01/app/oracle/product/19c/db_1/OPatch.bak.20260226
Node1-grid$ scp -rf /u01/app/19c/grid/OPatch grid@10.2.20.156:/u01/app/19c/grid/
Node1-grid$ scp -r /u01/app/19c/grid/OPatch grid@10.2.20.157:/u01/app/19c/grid/
Node1-grid$ scp -r /u01/app/19c/grid/OPatch grid@10.2.20.158:/u01/app/19c/grid/
Node1-oracle$ scp -r /u01/app/oracle/product/19c/db_1/OPatch oracle@10.2.20.156:/u01/app/oracle/product/19c/db_1/
Node1-oracle$ scp -r /u01/app/oracle/product/19c/db_1/OPatch oracle@10.2.20.157:/u01/app/oracle/product/19c/db_1/
Node1-oracle$ scp -r /u01/app/oracle/product/19c/db_1/OPatch oracle@10.2.20.158:/u01/app/oracle/product/19c/db_1/
2. Giải nén bản patch 38629535 (down tại đây) (các bản 19.15, 19.16,.. down ở đây) với user owner ví dụ grid:
# su - grid $ cd /u01 $ unzip p33509923_190000_Linux-x86-64.zip
3. Kiểm tra xem có bản patch nào xung đột với bản patch 33509923 hay không:
# su - grid $ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/38629535/38632161 -- oracle homes Oracle Interim Patch Installer version 12.2.0.1.48 Copyright (c) 2026, Oracle Corporation. All rights reserved. PREREQ session Oracle Home : /u01/app/19c/grid Central Inventory : /u01/app/oraInventory from : /u01/app/19c/grid/oraInst.loc OPatch version : 12.2.0.1.42 OUI version : 12.2.0.7.0 Log file location : /u01/app/19c/grid/cfgtoollogs/opatch/opatch2026-02-26_15-21-48PM_1.log Invoking prereq "checkconflictagainstohwithdetail" Prereq "checkConflictAgainstOHWithDetail" passed. OPatch succeeded. (grid)$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/setup/patch/38629535/38661284 --oracle homes (grid)$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/setup/patch/38629535/38729293 --GI (grid)$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/setup/patch/38629535/36758186 --GI (grid)$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /u01/setup/patch/38629535/38653268 --GI
Note: Trong trường hợp phát hiện ra xung đột, cần dừng ngay việc cài đặt patch và làm việc với Oracle Support Services, sau khi fix xong mới tiếp tục, nếu CỐ patch có khả năng không bật được Grid
4. Dừng database instances chạy trên máy chủ đó (không cần dừng, chạy bằng root nên sẽ tự stop crs, stop instance khi thực hiện, xong thì lại bật lên)
5. Apply patch sử dụng opatchauto:
# cd /u01/33509923/ # export ORACLE_HOME=/u01/app/19c/grid/ # export PATH=$ORACLE_HOME/bin:$PATH # $ORACLE_HOME/OPatch/opatchauto apply ... OPatchauto session is initiated at Thu Feb 26 18:27:53 2026 System initialization log file is /u01/app/19c/grid/cfgtoollogs/opatchautodb/systemconfig2026-02-26_06-27-58PM.log. Session log file is /u01/app/19c/grid/cfgtoollogs/opatchauto/opatchauto2026-02-26_06-28-20PM.log The id for this session is CJFK Executing OPatch prereq operations to verify patch applicability on home /u01/app/19c/grid Patch applicability verified successfully on home /u01/app/19c/grid Executing OPatch prereq operations to verify patch applicability on home /u01/app/oracle/product/19c/db_1 Patch applicability verified successfully on home /u01/app/oracle/product/19c/db_1 Executing patch validation checks on home /u01/app/19c/grid Patch validation checks successfully completed on home /u01/app/19c/grid Executing patch validation checks on home /u01/app/oracle/product/19c/db_1 Patch validation checks successfully completed on home /u01/app/oracle/product/19c/db_1 Verifying SQL patch applicability on home /u01/app/oracle/product/19c/db_1 SQL patch applicability verified successfully on home /u01/app/oracle/product/19c/db_1 Preparing to bring down database service on home /u01/app/oracle/product/19c/db_1 Successfully prepared home /u01/app/oracle/product/19c/db_1 to bring down database service Performing prepatch operations on CRS - bringing down CRS service on home /u01/app/19c/grid Prepatch operation log file location: /u01/app/grid/crsdata/cbs-cust-db01/crsconfig/crs_prepatch_apply_inplace_cbs-cust-db01_2026-02-26_06-32-13PM.log CRS service brought down successfully on home /u01/app/19c/grid Performing prepatch operation on home /u01/app/oracle/product/19c/db_1 Prepatch operation completed successfully on home /u01/app/oracle/product/19c/db_1 Start applying binary patch on home /u01/app/oracle/product/19c/db_1 Binary patch applied successfully on home /u01/app/oracle/product/19c/db_1 Running rootadd_rdbms.sh on home /u01/app/oracle/product/19c/db_1 Successfully executed rootadd_rdbms.sh on home /u01/app/oracle/product/19c/db_1 Performing postpatch operation on home /u01/app/oracle/product/19c/db_1 Postpatch operation completed successfully on home /u01/app/oracle/product/19c/db_1 Start applying binary patch on home /u01/app/19c/grid Binary patch applied successfully on home /u01/app/19c/grid Running rootadd_rdbms.sh on home /u01/app/19c/grid Successfully executed rootadd_rdbms.sh on home /u01/app/19c/grid Performing postpatch operations on CRS - starting CRS service on home /u01/app/19c/grid Postpatch operation log file location: /u01/app/grid/crsdata/cbs-cust-db01/crsconfig/crs_postpatch_apply_inplace_cust-db01_2026-02-26_06-46-28PM.log CRS service started successfully on home /u01/app/19c/grid Preparing home /u01/app/oracle/product/19c/db_1 after database service restarted No step execution required......... Trying to apply SQL patch on home /u01/app/oracle/product/19c/db_1 No SQL patch operations are required on local node for this home OPatchAuto successful. --------------------------------Summary-------------------------------- Patching is completed successfully. Please find the summary as follows: Host:cbs-cust-db01 RAC Home:/u01/app/oracle/product/19c/db_1 Version:19.0.0.0.0 Summary: ==Following patches were SKIPPED: Patch: /u01/setup/patch/38629535/38653268 Reason: This patch is not applicable to this specified target type - "rac_database" Patch: /u01/setup/patch/38629535/36758186 Reason: This patch is not applicable to this specified target type - "rac_database" Patch: /u01/setup/patch/38629535/38729293 Reason: This patch is not applicable to this specified target type - "rac_database" ==Following patches were SUCCESSFULLY applied: Patch: /u01/setup/patch/38629535/38632161 Log: /u01/app/oracle/product/19c/db_1/cfgtoollogs/opatchauto/core/opatch/opatch2026-02-26_18-33-20PM_1.log Patch: /u01/setup/patch/38629535/38661284 Log: /u01/app/oracle/product/19c/db_1/cfgtoollogs/opatchauto/core/opatch/opatch2026-02-26_18-33-20PM_1.log Host:cbs-cust-db01 CRS Home:/u01/app/19c/grid Version:19.0.0.0.0 Summary: ==Following patches were SUCCESSFULLY applied: Patch: /u01/setup/patch/38629535/36758186 Log: /u01/app/19c/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-02-26_18-39-15PM_1.log Patch: /u01/setup/patch/38629535/38632161 Log: /u01/app/19c/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-02-26_18-39-15PM_1.log Patch: /u01/setup/patch/38629535/38653268 Log: /u01/app/19c/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-02-26_18-39-15PM_1.log Patch: /u01/setup/patch/38629535/38661284 Log: /u01/app/19c/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-02-26_18-39-15PM_1.log Patch: /u01/setup/patch/38629535/38729293 Log: /u01/app/19c/grid/cfgtoollogs/opatchauto/core/opatch/opatch2026-02-26_18-39-15PM_1.log
Kiểm tra phiên bản hiện tại của Grid và Oracle Database đảm bảo lên 19.30:
- Kiểm tra bản patch của Oracle Grid:
# export ORACLE_HOME=/u01/app/19c/grid/ # export PATH=$ORACLE_HOME/bin:$PATH # $ORACLE_HOME/OPatch/opatch lspatches 33515361;Grid Release Update : 19.14.0.0.220118 (33515361) 33239955;TOMCAT RELEASE UPDATE 19.0.0.0.0 (33239955)
hoặc user grid:[grid@cust-db01 ~]$ $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_HOME/bin/crsctl query crs releasepatch
- Kiểm tra bản patch của Oracle Database:
[[oracle@cust-db01 ~]$ $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) OPatch succeeded.
Hoặc:[oracle@rac1 ~]$ sqlplus / as sysdbaSQL> SELECT description,ACTION,STATUS,TARGET_BUILD_TIMESTAMP from dba_registry_sqlpatch; DESCRIPTION ACTION STATUS TARGET_BUILD_TIMESTAMP ————— ————— ——— ————————- Database Release Update : 19.30.0.0.190416 (33509923) (nếu chưa lên thì sau khi patch node 2 thì datapatch chỉ trên 1 node)
SQL*Plus: Release 19.0.0.0.0 – Production on Sat Dec .....
Version 19.30.0.0.0
6. Bật lại Grid, Instance trên node 1
7. Copy thư mục patch từ node 1 sang node 2
[root@rac2 u01]# chown -Rf 775 38629535
NODE 2:
8. Dừng database instances chạy trên máy chủ đó (không cần)
9. Bật apply trên node 2
# cd /u01/33509923/
# export ORACLE_HOME=/u01/app/19c/grid/
# export PATH=$ORACLE_HOME/bin:$PATH
# $ORACLE_HOME/OPatch/opatchauto applyKiểm tra phiên bản hiện tại của Grid và Oracle Database đảm bảo lên 19.14:
- Kiểm tra bản patch của Oracle Grid:
# export ORACLE_HOME=/u01/app/19c/grid/ # export PATH=$ORACLE_HOME/bin:$PATH # $ORACLE_HOME/OPatch/opatch lspatches (có thể chạy từ grid)
[grid@cust-db01 ~]$ $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_HOME/bin/crsctl query crs releasepatch
- Kiểm tra bản patch của Oracle Database:
[[oracle@cust-db01 ~]$ $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)10. Datapatch
Sau khi patch xong hết tiến hành datapatch CHỈ trên 1 node:
10.1.Running Datapatch Sanity Checks:
[oracle@cbs-cust-db01 38632161]$ datapatch -sanity_checks
SQL Patching sanity checks version 19.30.0.0.0 on Fri 27 Feb 2026 11:11:50 AM +07
Copyright (c) 2021, 2026, Oracle. All rights reserved.
Log file for this invocation: /u01/app/oracle/cfgtoollogs/sqlpatch/sanity_checks_20260227_111150_13212/sanity_checks_20260227_111150_13212.log
Running checks
JSON report generated in /u01/app/oracle/cfgtoollogs/sqlpatch/sanity_checks_20260227_111150_13212/sqlpatch_sanity_checks_summary.json file
Checks completed. Printing report:
Check: Database component status - INFO
There should be no INVALID components prior patching due to risk of potential errors.
Listed components have a non-valid status.
For INVALID components: Run '?/rdbms/admin/utlrp.sql' (per container) to try recompiling invalid objects and restore component status.
For other non-valid status, depending on patch content warnings may be returned.
cbscust1:
| COMPONENT | STATUS |
|-----------+---------|
| SDO | LOADING |
|-----------+---------|
Check: PDB Violations - OK
Check: Invalid System Objects - WARNING
There should be no invalid objects in Oracle-maintained schemas before patching.
The following number of objects are invalid (per container).
Run '?/rdbms/admin/utlrp.sql' (per container) to try recompiling invalid objects.
For more details please review /u01/app/oracle/cfgtoollogs/sqlpatch/sanity_checks_20260227_111150_13212/sqlpatch_sanity_checks_invalid_objects.log file.
ARRAY(0x2e904c8):
| OWNER | OBJ_CNT |
|-------------------+---------|
| CTXSYS | 32 |
|-------------------+---------|
| GSMADMIN_INTERNAL | 1 |
|-------------------+---------|
| MDSYS | 254 |
|-------------------+---------|
| SYS | 96 |
|-------------------+---------|
| XDB | 3 |
|-------------------+---------|
Check: Tablespace Status - OK
Check: Backup jobs - OK
Check: Temp file exists - OK
Check: Temp file online - OK
Check: Data Pump running - OK
Check: Container status - OK
Check: Oracle Database Keystore - OK
Check: Dictionary statistics gathering - OK
Check: Scheduled Jobs - WARNING
Execution of scheduler jobs while database patching is running may lead to failures and/or performance issues.
There are jobs currently running or scheduled to be executed during next hour.
If you experience Datapatch errors caused by locking in the database, consider patching the database when jobs are not running or preventing jobs from starting.
To check for jobs that are running or scheduled to run:
SELECT owner as schema_name, job_name, state, next_run_date
FROM sys.all_scheduler_jobs
WHERE state = 'RUNNING'
UNION
SELECT owner as schema_name, job_name, state, next_run_date
FROM sys.all_scheduler_jobs
WHERE state = 'SCHEDULED'
and cast(next_run_date as date) > sysdate
and cast(next_run_date as date) < sysdate + 1/24;
cbscust1:
| SCHEMA_NAME | JOB_NAME | STATE | NEXT_RUN_DATE |
|-------------+------------------+-----------+-----------------------------------------------|
| CUST | DBMS_JOB$_5 | SCHEDULED | 27-FEB-26 11.12.00.741041 AM +07:00 |
|-------------+------------------+-----------+-----------------------------------------------|
| CUST | MV_RF$J_0_S_12 | SCHEDULED | 27-FEB-26 11.12.01.000000 AM +07:00 |
|-------------+------------------+-----------+-----------------------------------------------|
| CUST | MV_RF$J_0_S_156 | SCHEDULED | 27-FEB-26 11.12.01.000000 AM +07:00 |
|-------------+------------------+-----------+-----------------------------------------------|
| MIG | MV_RF$J_0_S_1002 | SCHEDULED | 27-FEB-26 11.13.01.000000 AM +07:00 |
|-------------+------------------+-----------+-----------------------------------------------|
| MIG | MV_RF$J_0_S_1206 | SCHEDULED | 27-FEB-26 12.09.23.000000 PM +07:00 |
|-------------+------------------+-----------+-----------------------------------------------|
| MIG | MV_RF$J_0_S_1244 | SCHEDULED | 27-FEB-26 11.13.01.000000 AM +07:00 |
|-------------+------------------+-----------+-----------------------------------------------|
| MIG | MV_RF$J_0_S_1250 | SCHEDULED | 27-FEB-26 11.13.01.000000 AM +07:00 |
|-------------+------------------+-----------+-----------------------------------------------|
| MIG | MV_RF$J_0_S_850 | SCHEDULED | 27-FEB-26 11.13.01.000000 AM +07:00 |
|-------------+------------------+-----------+-----------------------------------------------|
| MIG | MV_RF$J_0_S_852 | SCHEDULED | 27-FEB-26 11.13.01.000000 AM +07:00 |
|-------------+------------------+-----------+-----------------------------------------------|
| MIG | MV_RF$J_0_S_856 | SCHEDULED | 27-FEB-26 11.13.01.000000 AM +07:00 |
|-------------+------------------+-----------+-----------------------------------------------|
| MIG | MV_RF$J_0_S_858 | SCHEDULED | 27-FEB-26 11.13.01.000000 AM +07:00 |
|-------------+------------------+-----------+-----------------------------------------------|
| MIG | MV_RF$J_0_S_860 | SCHEDULED | 27-FEB-26 11.13.01.000000 AM +07:00 |
|-------------+------------------+-----------+-----------------------------------------------|
| SYS | DBAVIET_ADD_DF | SCHEDULED | 27-FEB-26 11.15.13.000000 AM ASIA/HO_CHI_MINH |
|-------------+------------------+-----------+-----------------------------------------------|
| SYS | DBMS_JOB$_1 | SCHEDULED | 27-FEB-26 11.39.23.000000 AM +07:00 |
|-------------+------------------+-----------+-----------------------------------------------|
Check: GoldenGate triggers - OK
Check: Logminer DDL triggers - OK
Check: Check sys public grants - OK
Check: Statistics gathering running - OK
Check: Optim dictionary upgrade parameter - OK
Check: Symlinks on oracle home path - OK
Check: Central Inventory - OK
Check: Java Virtual Machine Enable - OK
Check: Oracle Database Vault Enabled - OK
Check: Queryable Inventory database directories - OK
Check: Queryable Inventory locks - OK
Check: Queryable Inventory package - OK
Check: Queryable Inventory external table - OK
Check: Imperva processes - OK
Check: Guardium processes - OK
Check: Locale - OK
Refer to MOS Note 2975965.1 and debug log
/u01/app/oracle/cfgtoollogs/sqlpatch/sanity_checks_20260227_111150_13212/sanity_checks_debug_20260227_111150_13212.log
SQL Patching sanity checks completed on Fri 27 Feb 2026 11:13:21 AM +07
10.2. Applying SQL Patches with Datapatch
11. Post-Patch Validation
Recompile invalids if needed:
Note: Nên backup các thành phần của clusterware trước khi patch:
[oracle@cbs-cust-db01 38632161]$ cd $ORACLE_HOME/rdbms/admin/
[oracle@cbs-cust-db01 admin]$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Fri Feb 27 12:06:16 2026
Version 19.30.0.0.0
Copyright (c) 1982, 2025, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.30.0.0.0
SQL> @utlrp.sql
BACKUP TRƯỚC KHI THỰC HIỆN
1. Backup ASM spfile:
ASMCMD> spget +GRID/myrac/ASMPARAMETERFILE/registry.253.974466047
Copy Oracle ASM SPFILE tới phân vùng backup:
ASMCMD> spbackup +GRID/myrac/ASMPARAMETERFILE/registry.253.974466047 /backup/spfileasm.ora
2. Backup ASM password file :
ASMCMD> pwget --asm +GRID/orapwASM
Nếu sang phân vùng khác:
ASMCMD> pwcopy +GRID/orapwASM /backup/orapwASM copying +GRID/orapwASM -> /backup/orapwASM
3. Dùng md_backup để backup metadata diskgroup:
ASMCMD> md_backup /tmp/dgmetabackup Disk group metadata to be backed up: DATA Disk group metadata to be backed up: FRA Disk group metadata to be backed up: GRID
4. Backup OLR trên mỗi node RAC:
# ocrconfig -local -manualbackup
Copy file được tạo ra sang phân vùng khác:
# cp /u01/app/19c/grid/cdata/rac1/backup_20180510_230359.olr /backup/
hoặc thay đổi phân vùng backup mặc định tới phân vùng /backup:
# ocrconfig -local -backuploc /backup # ocrconfig -local -manualbackup
5. Mirror và Backup OCR.
Nên cấu hình OCR vào 2 diskgroup độc lập cho an toàn:
# ocrconfig -add +FRA
OCR backup tự động sau 4h, bạn có thể backup thủ công trước khi patch hoặc upgrade GI home như sau:
# ocrconfig -manualbackup
Kiểm tra bản backup cuối cùng:
[grid@rac1 ~]$ ocrconfig -showbackup rac1 2018/05/10 13:06:18 +CRS:/myrac/OCRBACKUP/backup00.ocr.289.975762375 830990544 ..
Copy nó tới phân vùng backup:
$ ocrconfig -copy +CRS:/myrac/OCRBACKUP/backup00.ocr.289.975762375 /backup/backup00.ocr
Hoặc thay đổi phân vùng backup mặc định tới diskgroup khác:
# ocrconfig -backuploc +FRA
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