Thứ Bảy, 31 tháng 1, 2026

Script gen partition theo ngày trong Oracle Database

/*  2.3.GEN PARTITION THEO NGAY */

Script gen partition theo tháng trong Oracle Database

-- 2.2.GEN PARTITION theo thang:  OK
-- Cac user he thong U1,U2,U3 tao partition vao DATA2026
-- Cac user khac tao partition ve USERS2 hoac user he thong va table_name like 'TMP%','XXX%','%TEST%','BK%
set serveroutput on size unlimited
DECLARE
   v_nam          NUMBER (4) := 2026;
   v_thang_from   NUMBER (2)    := 1;
   v_thang_to     NUMBER (2)    := 12;
   v_tablespace   varchar2(50):='DATA';
   CURSOR c1
    IS
        select table_owner, table_name,max(partition_name)
        from dba_tab_partitions 
        WHERE  
        (PARTITION_NAME LIKE '%2021%' or partition_name  like '%2026%')
        and table_owner in ('U1','U2','U3') 
        and table_name not like 'XXX%' and table_name not like 'TMP%' and table_name not like '%TEST%' and table_name not like 'BK%' and table_name not like '%$%' 
        GROUP BY table_owner, table_name
        having length(max(partition_name))=10 and (max(partition_name) like '%202112'  and max(partition_name) not like '%2026%')
        order by table_owner,table_name;
   CURSOR c2
    IS
        select table_owner, table_name,max(partition_name)
        from dba_tab_partitions 
        WHERE (PARTITION_NAME LIKE '%2021%' or partition_name  like '%2026%')
        and table_owner not in ('U1','U2','U3') 
        and table_name like 'XXX%' or table_name  like 'TMP%' and table_name like '%TEST%' and table_name like 'BK%'
        and table_name not like '%$%'        
        GROUP BY table_owner, table_name
        having length(max(partition_name))=10 and (max(partition_name) like '%202112'  and max(partition_name) not like '%2026%')
        order by table_owner,table_name;
BEGIN
    for r1 in c1 loop        
        FOR i IN v_thang_from .. (v_thang_to-1)
            LOOP
              --execute immediate 'alter table '||r1.table_owner ||'.'|| r1.table_name || ' add PARTITION DATA'||v_nam||LPAD (i, 2, '0')||' VALUES LESS THAN (TO_DATE('''|| v_nam ||'-'||LPAD (i+1, 2, '0')||'-01 00:00:00'', ''SYYYY-MM-DD HH24:MI:SS'', ''NLS_CALENDAR=GREGORIAN'')) LOGGING TABLESPACE '||v_tablespace||v_nam;
              DBMS_OUTPUT.put_line ('alter table '||r1.table_owner ||'.'|| r1.table_name || ' add PARTITION DATA'||v_nam||LPAD (i, 2, '0')||' VALUES LESS THAN (TO_DATE('''|| v_nam ||'-'||LPAD (i+1, 2, '0')||'-01 00:00:00'', ''SYYYY-MM-DD HH24:MI:SS'', ''NLS_CALENDAR=GREGORIAN'')) LOGGING TABLESPACE '||v_tablespace||v_nam||';');
            END LOOP;
            --execute immediate 'alter table '|| r1.table_owner ||'.'|| r1.table_name || ' add PARTITION DATA'||v_nam||LPAD (to_char(v_thang_to), 2, '0')||' VALUES LESS THAN (TO_DATE('''|| (v_nam +1) ||'-01-01 00:00:00'', ''SYYYY-MM-DD HH24:MI:SS'', ''NLS_CALENDAR=GREGORIAN'')) LOGGING TABLESPACE '||v_tablespace||v_nam;
            DBMS_OUTPUT.put_line ('alter table '|| r1.table_owner ||'.'|| r1.table_name || ' add PARTITION DATA'||v_nam||LPAD (to_char(v_thang_to), 2, '0')||' VALUES LESS THAN (TO_DATE('''|| (v_nam +1) ||'-01-01 00:00:00'', ''SYYYY-MM-DD HH24:MI:SS'', ''NLS_CALENDAR=GREGORIAN'')) LOGGING TABLESPACE '||v_tablespace||v_nam||';'); 
    end loop;
    
    for r2 in c2 loop        
        FOR i IN v_thang_from .. (v_thang_to-1)         
            LOOP
              --execute immediate 'alter table '||r2.table_owner ||'.'|| r2.table_name || ' add PARTITION DATA'||v_nam||LPAD (i, 2, '0')||' VALUES LESS THAN (TO_DATE('''|| v_nam ||'-'||LPAD (i+1, 2, '0')||'-01 00:00:00'', ''SYYYY-MM-DD HH24:MI:SS'', ''NLS_CALENDAR=GREGORIAN'')) LOGGING TABLESPACE USERS2';
              DBMS_OUTPUT.put_line ('alter table '||r2.table_owner ||'.'|| r2.table_name || ' add PARTITION DATA'||v_nam||LPAD (i, 2, '0')||' VALUES LESS THAN (TO_DATE('''|| v_nam ||'-'||LPAD (i+1, 2, '0')||'-01 00:00:00'', ''SYYYY-MM-DD HH24:MI:SS'', ''NLS_CALENDAR=GREGORIAN'')) LOGGING TABLESPACE USERS2;');
            END LOOP;            
            --execute immediate 'alter table '|| r2.table_owner ||'.'|| r2.table_name || ' add PARTITION DATA'||v_nam||LPAD (to_char(v_thang_to), 2, '0')||' VALUES LESS THAN (TO_DATE('''|| (v_nam +1) ||'-01-01 00:00:00'', ''SYYYY-MM-DD HH24:MI:SS'', ''NLS_CALENDAR=GREGORIAN'')) LOGGING TABLESPACE USERS2';
            DBMS_OUTPUT.put_line ('alter table '|| r2.table_owner ||'.'|| r2.table_name || ' add PARTITION DATA'||v_nam||LPAD (to_char(v_thang_to), 2, '0')||' VALUES LESS THAN (TO_DATE('''|| (v_nam +1) ||'-01-01 00:00:00'', ''SYYYY-MM-DD HH24:MI:SS'', ''NLS_CALENDAR=GREGORIAN'')) LOGGING TABLESPACE USERS2;');
            
    end loop;
END;

-- Add partition theo thang bo sung
set serveroutput on size unlimited
DECLARE
   v_nam          NUMBER (4) := 2026;
   v_thang_from   NUMBER (2)    := 1;
   v_thang_to     NUMBER (2)    := 12;
   v_tablespace   varchar2(50):='DATA';
   CURSOR c1
    IS
        select table_owner,table_name,partition_name from dba_tab_partitions where (table_owner,table_name,partition_position) in
        (select table_owner,table_name,max(partition_position) from dba_tab_partitions
        where table_name not like '%$%'
        and table_owner in  ('U1','U2','U3') 
        group by table_name,table_owner) 
        and length(partition_name)=10
        --and length(partition_name)<11
        and table_owner in  ('U1','U2','U3')    
        --and partition_name='DATA202612'
        and partition_name='DATA202112'
        order by table_owner, table_name, partition_name;

   CURSOR c2
    IS
       select table_owner,table_name,partition_name from dba_tab_partitions where (table_owner,table_name,partition_position) in
        (select table_owner,table_name,max(partition_position) from dba_tab_partitions
        where table_name not like '%$%'
        and table_owner not in  ('U1','U2','U3') 
        group by table_name,table_owner) 
        and length(partition_name)=10
        --and length(partition_name)<11
        and table_owner not in  ('CDR_OWNER','KHUYENMAI','THAMSOHOA','B5_TARIFF','CDR_MONITOR','BAOCAO','KHOASO','BILL_CHECK')    
        --and partition_name='DATA202612'
        and partition_name='DATA202112'
        order by table_owner, table_name, partition_name;

BEGIN
    for r1 in c1 loop        
        FOR i IN v_thang_from .. (v_thang_to-1)
            LOOP
              --execute immediate 'alter table '||r1.table_owner ||'.'|| r1.table_name || ' add PARTITION DATA'||v_nam||LPAD (i, 2, '0')||' VALUES LESS THAN (TO_DATE('''|| v_nam ||'-'||LPAD (i+1, 2, '0')||'-01 00:00:00'', ''SYYYY-MM-DD HH24:MI:SS'', ''NLS_CALENDAR=GREGORIAN'')) LOGGING TABLESPACE '||v_tablespace||v_nam;
              DBMS_OUTPUT.put_line ('alter table '||r1.table_owner ||'.'|| r1.table_name || ' add PARTITION DATA'||v_nam||LPAD (i, 2, '0')||' VALUES LESS THAN (TO_DATE('''|| v_nam ||'-'||LPAD (i+1, 2, '0')||'-01 00:00:00'', ''SYYYY-MM-DD HH24:MI:SS'', ''NLS_CALENDAR=GREGORIAN'')) LOGGING TABLESPACE '||v_tablespace||v_nam||';');
            END LOOP;
            --execute immediate 'alter table '|| r1.table_owner ||'.'|| r1.table_name || ' add PARTITION DATA'||v_nam||LPAD (to_char(v_thang_to), 2, '0')||' VALUES LESS THAN (TO_DATE('''|| (v_nam +1) ||'-01-01 00:00:00'', ''SYYYY-MM-DD HH24:MI:SS'', ''NLS_CALENDAR=GREGORIAN'')) LOGGING TABLESPACE '||v_tablespace||v_nam;
            DBMS_OUTPUT.put_line ('alter table '|| r1.table_owner ||'.'|| r1.table_name || ' add PARTITION DATA'||v_nam||LPAD (to_char(v_thang_to), 2, '0')||' VALUES LESS THAN (TO_DATE('''|| (v_nam +1) ||'-01-01 00:00:00'', ''SYYYY-MM-DD HH24:MI:SS'', ''NLS_CALENDAR=GREGORIAN'')) LOGGING TABLESPACE '||v_tablespace||v_nam||';'); 
    end loop;
    
    for r2 in c2 loop        
        FOR i IN v_thang_from .. (v_thang_to-1)         
            LOOP
              --execute immediate 'alter table '||r2.table_owner ||'.'|| r2.table_name || ' add PARTITION DATA'||v_nam||LPAD (i, 2, '0')||' VALUES LESS THAN (TO_DATE('''|| v_nam ||'-'||LPAD (i+1, 2, '0')||'-01 00:00:00'', ''SYYYY-MM-DD HH24:MI:SS'', ''NLS_CALENDAR=GREGORIAN'')) LOGGING TABLESPACE USERS2';
              DBMS_OUTPUT.put_line ('alter table '||r2.table_owner ||'.'|| r2.table_name || ' add PARTITION DATA'||v_nam||LPAD (i, 2, '0')||' VALUES LESS THAN (TO_DATE('''|| v_nam ||'-'||LPAD (i+1, 2, '0')||'-01 00:00:00'', ''SYYYY-MM-DD HH24:MI:SS'', ''NLS_CALENDAR=GREGORIAN'')) LOGGING TABLESPACE USERS2;');
            END LOOP;            
            --execute immediate 'alter table '|| r2.table_owner ||'.'|| r2.table_name || ' add PARTITION DATA'||v_nam||LPAD (to_char(v_thang_to), 2, '0')||' VALUES LESS THAN (TO_DATE('''|| (v_nam +1) ||'-01-01 00:00:00'', ''SYYYY-MM-DD HH24:MI:SS'', ''NLS_CALENDAR=GREGORIAN'')) LOGGING TABLESPACE USERS2';
            DBMS_OUTPUT.put_line ('alter table '|| r2.table_owner ||'.'|| r2.table_name || ' add PARTITION DATA'||v_nam||LPAD (to_char(v_thang_to), 2, '0')||' VALUES LESS THAN (TO_DATE('''|| (v_nam +1) ||'-01-01 00:00:00'', ''SYYYY-MM-DD HH24:MI:SS'', ''NLS_CALENDAR=GREGORIAN'')) LOGGING TABLESPACE USERS2;');
            
    end loop;
END;

-- 2.2.1.Rebuild INDEX theo thang: running luc 17h07 ngay 25/11 - 20h 25/11
-- Check
select * From dba_ind_partitions 
where length(partition_name)=10
and partition_name like 'DATA2026%'
and tablespace_name not like 'INDX' || substr(partition_name,5,4)
and index_name not like '%BIN%' 
and index_name not like '%XXX%'; 


set serveroutput on size unlimited
DECLARE
   v_nam          varchar2(4) := '2026';
   v_thang_from   NUMBER (2)    := 01;
   v_thang_to     NUMBER (2)    := 12;
   v_tablespace   varchar2(50):='INDX';
   cursor c1 is  
     select table_owner,table_name,max(partition_name)
     from dba_tab_partitions 
     where PARTITION_NAME LIKE '%2026%'   
     and table_owner in ('CDR_OWNER','KHUYENMAI','THAMSOHOA','B5_TARIFF','CDR_MONITOR','BAOCAO') 
     and table_name not like 'XXX%' and table_name not like 'TMP%' and table_name not like '%TEST%' and table_name not like 'BK%' and table_name not like '%$%'
     group by table_owner,table_name 
     having max(partition_name) like '%'||2026||'%' and length(max(partition_name))=10  
     order by table_owner,table_name;
   cursor c2 is  
     select table_owner,table_name,max(partition_name)
     from dba_tab_partitions 
     where  PARTITION_NAME LIKE '%2026%'   
     and (table_owner not in ('U1','U2','U3') 
            or   (table_owner  in ('U1','U2','U3') 
                    and  (table_name like 'XXX%' or table_name  like 'TMP%' or table_name  like '%TEST%' or table_name like 'BK%'))
                 )
     and table_name not like '%$%'
     group by table_owner,table_name 
     having max(partition_name) like '%'||2026||'%' and length(max(partition_name))=10  
     order by table_owner,table_name;            
   cursor c3 (p_owner varchar2,p_tablename varchar2) is
     select * from DBA_PART_INDEXES where owner=p_owner and table_name = p_tablename;
BEGIN
   for r1 in c1 
   LOOP
    FOR r3 in c3(r1.table_owner,r1.table_name)
    LOOP
        FOR i IN v_thang_from .. (v_thang_to)
        LOOP
          DBMS_OUTPUT.put_line ('alter index '|| r1.table_owner||'.'||r3.index_name || ' REBUILD PARTITION DATA'||v_nam||LPAD (to_char(i), 2, '0')||' TABLESPACE '||v_tablespace||v_nam||' nologging parallel 8 online;');
        END LOOP;  
        DBMS_OUTPUT.put_line ('alter index '|| r1.table_owner||'.'||r3.index_name || ' nologging noparallel;'); 
    END LOOP;  
   end loop;  
   
  for r2 in c2 
   LOOP
    FOR r4 in c3(r2.table_owner,r2.table_name)
    LOOP
        FOR i IN v_thang_from .. (v_thang_to)
        LOOP
          DBMS_OUTPUT.put_line ('alter index '|| r2.table_owner||'.'||r4.index_name || ' REBUILD PARTITION DATA'||v_nam||LPAD (to_char(i), 2, '0')||' TABLESPACE DUMP nologging parallel 8 online;');
        END LOOP;   
        DBMS_OUTPUT.put_line ('alter index '|| r2.table_owner||'.'||r4.index_name || ' nologging noparallel;'); 
    END LOOP;  
   end loop; 
END;

select * from dba_indexes;

---- Check partition Theo THANG,  max partiton 202612 la  OK: 
select table_owner,table_name,partition_name from dba_tab_partitions where (table_owner,table_name,partition_position) in
(select table_owner,table_name,max(partition_position) from dba_tab_partitions
where table_name not like '%$%'
and table_owner in  ('CDR_OWNER','KHUYENMAI','THAMSOHOA','B5_TARIFF','CDR_MONITOR','BAOCAO','KHOASO','BILL_CHECK')
group by table_name,table_owner) 
and length(partition_name)=10
--and length(partition_name)<11
and table_owner in  ('CDR_OWNER','KHUYENMAI','THAMSOHOA','B5_TARIFF','CDR_MONITOR','BAOCAO','KHOASO','BILL_CHECK')    
--and partition_name='DATA202612'
and partition_name='DATA202612'
order by table_owner, table_name, partition_name;

--+Tao them partition thoe thang: 
set serveroutput on size unlimited
DECLARE
   v_nam          NUMBER (4) := 2026;
   v_tablename    VARCHAR2 (50) := 'BAOCAO.LOG_THREAD_PROCESS';
   v_thang_from   NUMBER (2)    := 01;
   v_thang_to     NUMBER (2)    := 12;
   v_tablespace   varchar2(50):='DATA';
BEGIN
   FOR i IN v_thang_from .. (v_thang_to-1)
   LOOP
      DBMS_OUTPUT.put_line ('alter table '|| v_tablename || ' add PARTITION DATA'||v_nam||LPAD (i, 2, '0')||' VALUES LESS THAN (TO_DATE('''|| v_nam ||'-'||LPAD (i+1, 2, '0')||'-01 00:00:00'', ''SYYYY-MM-DD HH24:MI:SS'', ''NLS_CALENDAR=GREGORIAN'')) LOGGING TABLESPACE '||v_tablespace||v_nam||to_char(LPAD (i, 2, '0'))||';');
   END LOOP;
   DBMS_OUTPUT.put_line ('alter table '|| v_tablename || ' add PARTITION DATA'||v_nam||LPAD (to_char(v_thang_to), 2, '0')||' VALUES LESS THAN (TO_DATE('''|| (v_nam +1) ||'-01-01 00:00:00'', ''SYYYY-MM-DD HH24:MI:SS'', ''NLS_CALENDAR=GREGORIAN'')) LOGGING TABLESPACE '||v_tablespace||v_nam||to_char(v_thang_to)||';'); 
END;
=============================
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

Script gen partition theo năm trong Oracle

-- 2.1.GEN PARTITION  theo nam: 
select table_owner, table_name, max(partition_name)
from dba_tab_partitions         
WHERE 
--PARTITION_NAME LIKE '%2021%' and 
table_name not like '%$%'               
GROUP BY table_owner, table_name     
having length(max(partition_name))<9
order by table_owner,table_name;

select 'alter table '||table_owner||'.'||table_name||' add PARTITION DATA2026 VALUES LESS THAN (TO_DATE(''2023-01-01 00:00:00'', ''SYYYY-MM-DD HH24:MI:SS'', ''NLS_CALENDAR=GREGORIAN'')) LOGGING tablespace DATA2026;'
from dba_tab_partitions         WHERE PARTITION_NAME LIKE '%2021%' and table_name not like '%$%'               
GROUP BY table_owner, table_name     
having length(max(partition_name))<9
order by table_owner,table_name;

select  *
from dba_tab_partitions         WHERE PARTITION_NAME LIKE '%2019%' and table_name not like '%$%'
and length(partition_name)<9               
order by table_owner,table_name;
        
--2.1.1.Rebuild index theo nam: OK
-- Thuc hien sau buoc 2.1
-- Check
select * From dba_ind_partitions 
where length(partition_name)=8
and tablespace_name not like 'INDX' || substr(partition_name,5,4)
and index_name not like '%BIN%' 
and index_name not like '%XXX%';

DECLARE
   v_nam          varchar2(4) := '2026';
   v_tablespace   varchar2(50):='INDX';
   cursor c1 is  
     select table_owner,table_name,max(partition_name)
     from dba_tab_partitions where table_name not like '%$%' --and table_name not in ('FPT_SUPPORT')
     group by table_owner,table_name having max(partition_name) like '%'||2026||'%' and length(max(partition_name))<9  order by table_owner,table_name;
     
   cursor c2 (p_tablename varchar2,p_owner varchar2) is
     select * from DBA_PART_INDEXES where table_name = p_tablename and owner=p_owner;
BEGIN
   for r1 in c1 
   LOOP
        FOR r2 in c2(r1.table_name,r1.table_owner)
        LOOP
           DBMS_OUTPUT.put_line ('alter index '|| r1.table_owner||'.'||r2.index_name || ' REBUILD PARTITION DATA'||v_nam||' TABLESPACE '||v_tablespace||v_nam||' nologging online parallel 8;');
           DBMS_OUTPUT.put_line ('alter index '|| r1.table_owner||'.'||r2.index_name || ' nologging noprallel;');
        END LOOP;    
   end loop;   
END;

-- 3.Check partition Theo NAM, max partition 2026 la OK, OK
select table_owner,table_name,partition_name from dba_tab_partitions where (table_owner,table_name,partition_position) in
(select table_owner,table_name,max(partition_position) from dba_tab_partitions
where table_name not like '%$%'
--and table_owner not in ('FPT_SUPPORT')    
group by table_name,table_owner) 
and length(partition_name)<9
and table_owner in  ('U1')
order by partition_name;


THAM KHẢO:
=============================
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

RMAN-03009: failure of Control File and SPFILE Autobackup command

1.LỖI BACKUP
RMAN-03009: failure of Control File and SPFILE Autobackup command on ORA_DISK_1 channel at 01/31/2026 01:22:00

Thứ Sáu, 30 tháng 1, 2026

Hướng dẫn sử dụng công cụ Wireshark để bắt và phân tích gói tin.

Wireshark có thể cài trên Window 7 , 8 , 10, ....( 32bit /64 bit )

Hướng dẫn sử dụng dòng lệnh FTP

Để tải lên tập tin thông qua dòng lệnh FTP, hãy sử dụng lệnh 'put' theo sau là tên tập tin. Để tải xuống, hãy sử dụng lệnh 'get' với tên tập tin bạn muốn tải về. Các lệnh FTP thiết yếu này giúp truyền tập tin trực tiếp từ dòng lệnh của bạn, đơn giản hóa việc quản lý tập tin trên các hệ điều hành khác nhau, bao gồm cả Windows.

Thứ Tư, 28 tháng 1, 2026

Tiện ích Defgen trong Oracle Goldengate

Mục đích: Tiện ích Defgen trong Oracle Goldengate trên Dest (đích) giúp đồng bộ các bảng khác cấu trúc các phiên bản GGATE

Quản lý bản backup trong Oracle Database từ A-Z

Mục đích: Quản lý bản backup trong Oracle Database từ A-Z

Chủ Nhật, 25 tháng 1, 2026

Update Oracle Linux 7.3 lên 7.9_OK

Thủ tục Oracle Linux 7.x để update từ 7.3 lên 7.9 (minor upgrade, KHÔNG phải cài mới).

Thứ Năm, 22 tháng 1, 2026

Chuyển đổi từ các cơ sở dữ liệu khác sang PostgreSQL

Giới thiệu công cụ Ora2Pg

Ora2Pg là một công cụ miễn phí để chuyển đổi cơ sở dữ liệu Oracle hoặc MySQL sang PostgreSQL. Nó kết nối với cơ sở dữ liệu Oracle, thực hiện quét tự động và trích xuất cấu trúc và dữ liệu của cơ sở dữ liệu, sau đó tạo ra các tập lệnh SQL tương ứng. Các tập lệnh này có thể được sử dụng để nhập cấu trúc và dữ liệu cơ sở dữ liệu vào PostgreSQL.

Công cụ Oratop - công cụ giám sát hiệu suất cơ sở dữ liệu thời gian thực

Oratop là một công cụ tương tự như top, có thể cung cấp cái nhìn toàn diện về hiệu suất của cơ sở dữ liệu Oracle. Nếu được sử dụng cùng với top, bạn sẽ nhận được thông tin đầy đủ hơn về hiệu suất hệ thống và cơ sở dữ liệu.

Tối ưu hiệu năng các container PostgreSQL trong môi trường Docker

Tối ưu hiệu năng cho các container PostgreSQL trong môi trường Docker bao gồm việc tối ưu hóa cả cấu hình container và PostgreSQL để đảm bảo cơ sở dữ liệu hoạt động hiệu quả. Dưới đây là một số mẹo giúp bạn đạt được hiệu năng tốt nhất từ ​​các container PostgreSQL của mình:

1. Phân bổ tài nguyên một cách khôn ngoan: Sử dụng các cờ `--require` --memoryvà ` --cpus--require` để phân bổ tài nguyên phù hợp cho vùng chứa PostgreSQL. Hãy đảm bảo vùng chứa có đủ bộ nhớ và tài nguyên CPU để xử lý khối lượng công việc mà không gây ra xung đột tài nguyên với các vùng chứa khác hoặc hệ thống máy chủ.

  • docker run --memory=4g --cpus=4 ...

2. 
Sử dụng phân vùng riêng để lưu trữ dữ liệu: Để cải thiện hiệu suất I/O, hãy sử dụng phân vùng riêng hoặc gắn thư mục máy chủ để lưu trữ dữ liệu PostgreSQL. Điều này đảm bảo tính bền vững của dữ liệu và cho phép hiệu suất I/O ổ đĩa tốt hơn.
  • docker run -v /path/to/host/directory:/var/lib/postgresql/data ...

3. Tối ưu hóa cấu hình PostgreSQL: Tạo một 
postgresql.conftệp cấu hình tùy chỉnh với các thiết lập được tối ưu hóa cho khối lượng công việc của bạn. Một số thiết lập quan trọng cần xem xét là:
  • shared_buffersTăng dung lượng bộ nhớ đệm dùng chung để chứa được nhiều dữ liệu hơn trong bộ nhớ.
  • effective_cache_sizeTăng kích thước bộ nhớ đệm để cải thiện khả năng ra quyết định của bộ lập kế hoạch.
  • work_memTăng dung lượng bộ nhớ làm việc để thực hiện các thao tác truy vấn phức tạp hơn.
  • maintenance_work_memTăng dung lượng bộ nhớ bảo trì để tăng tốc các thao tác dọn dẹp và tạo chỉ mục.
  • max_connectionsĐiều chỉnh số lượng kết nối tối đa cho phép dựa trên nhu cầu của ứng dụng.
  • checkpoint_completion_targetTăng mục tiêu hoàn thành điểm kiểm tra để phân bổ thao tác I/O điểm kiểm tra trong một khoảng thời gian dài hơn.

4. Gắn tệp cấu hình tùy chỉnh vào vùng chứa và trỏ đến nó bằng 
POSTGRES_CONFIG_FILEbiến môi trường:
  • docker run -v /path/to/custom/postgresql.conf:/etc/postgresql/postgresql.conf -e POSTGRES_CONFIG_FILE=/etc/postgresql/postgresql.conf ...

5. Sử dụng giải pháp quản lý kết nối: Áp dụng giải pháp quản lý kết nối, chẳng hạn như PgBouncer hoặc Pgpool-II, để giảm thiểu chi phí kết nối và cải thiện hiệu suất. Điều này có thể được thực hiện bằng cách chạy một container riêng biệt cho trình quản lý kết nối và liên kết nó với container PostgreSQL.

6. Bật biên dịch JIT: Bật biên dịch Just-In-Time (JIT) trong PostgreSQL để cải thiện hiệu suất truy vấn cho các khối lượng công việc phức tạp. Thêm các thiết lập sau vào postgresql.conftệp cấu hình tùy chỉnh của bạn:
  • jit = on max_jit_above_cost = 100000
  • min_jit_inline_above_cost = 100000
  • jit_inline_above_cost = 50000

7. Sử dụng chỉ mục phù hợp: Hã
y đảm bảo lược đồ cơ sở dữ liệu của bạn có chỉ mục phù hợp để tăng tốc hiệu suất truy vấn. Thường xuyên phân tích và tối ưu hóa chiến lược lập chỉ mục dựa trên các mẫu truy vấn và tần suất truy cập.

8. Dọn dẹp và phân tích: Thường xuyên dọn dẹp và phân tích cơ sở dữ liệu để cập nhật số liệu thống kê và loại bỏ các hàng không sử dụng. Điều này giúp trình lập kế hoạch truy vấn của PostgreSQL đưa ra quyết định tốt hơn.

9. Giám sát hiệu năng: Sử dụng các công cụ giám sát như docker statspg_stat_statements, hoặc các giải pháp của bên thứ ba để theo dõi hiệu năng của container PostgreSQL. Việc giám sát thường xuyên giúp xác định các điểm nghẽn hiệu năng và các lĩnh vực cần cải thiện.

Bằng cách làm theo các mẹo tối ưu hiệu năng này, bạn có thể tối ưu hóa các container PostgreSQL trong môi trường Docker, đảm bảo hoạt động cơ sở dữ liệu hiệu quả và phản hồi nhanh chóng cho các ứng dụng của bạn

Cảm ơn bạn đã đọc bài viết này.

=============================
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

Thứ Tư, 21 tháng 1, 2026

Tạo một Vagrant Base Box (VirtualBox)

Khi sử dụng Vagrant, bạn thường dùng một Box có sẵn làm cơ sở cho quá trình cài đặt. Tuy nhiên, trong một số trường hợp, bạn sẽ muốn tự tạo Box của riêng mình. Điều này có thể là do Box đó chưa tồn tại, bạn có thiết lập chung mà bạn không muốn lặp lại cho mỗi lần xây dựng, hoặc đơn giản là bạn không muốn sử dụng Box của người khác. Trong bài viết này, chúng tôi sẽ hướng dẫn cách tạo một Vagrant base box mới sử dụng hệ điều hành Fedora và VirtualBox. Cách tiếp cận tương tự cũng áp dụng cho các bản phân phối Linux khác.

ORA-01119 / ORA-17502 / ORA-15041_Lỗi đầy diskgroup ASM +DATA trên standby database

Dưới đây là hướng dẫn khắc phục lỗi đầy diskgroup ASM +DATA trên standby database (DB_HN_DR) do DataGuard tạo file mới mà không đủ chỗ lưu – gây lỗi ORA-01119 / ORA-17502 / ORA-15041.

Vagrant: Hướng dẫn dành cho người mới bắt đầu

Bài viết này giới thiệu rất ngắn gọn về Vagrant. Tại sao lại ngắn gọn như vậy? Bởi vì Vagrant rất đơn giản và tài liệu hướng dẫn của Vagrant đã cung cấp đầy đủ thông tin chi tiết.

Cấu hình quy tắc SCSI UDEV trong Oracle Linux 5, 6, 7 và 8

Để Oracle Automatic Storage Manager (ASM) sử dụng các ổ đĩa, nó cần phải xác định được các thiết bị một cách nhất quán và đảm bảo chúng có quyền sở hữu và quyền truy cập chính xác. Trong Linux, bạn có thể sử dụng ASMLib để quản lý các tác vụ này, nhưng nó được coi là một lớp phức tạp bổ sung và chưa bao giờ thực sự phổ biến. Thay vào đó, nhiều người sử dụng trình quản lý thiết bị Linux "udev" để thực hiện các tác vụ này. Bài viết này trình bày tổng quan ngắn gọn về việc thiết lập các quy tắc udev liên quan đến ổ đĩa để sử dụng với ASM trong Oracle 11g. Tất cả các ví dụ đều được thực hiện bằng Oracle Linux 5, 6, 7 và 8 để chúng nhất quán với RHEL và CentOS 5, 6, 7 và 8.

Oracle Linux: Câu hỏi thường gặp (FAQ)

Bài viết này chứa đựng câu trả lời cho một số câu hỏi mà tôi đã nhận được về Oracle Linux kể từ khi nó ra mắt. Các câu trả lời được dẫn chứng bằng trích dẫn và liên kết khi có thể, nhưng chúng cũng bao gồm một số ý kiến ​​cá nhân của tôi, vì vậy đừng cho rằng Oracle đồng ý với mọi điều tôi nói ở đây.

Các lệnh sao lưu hệ điều hành

Bài viết này tóm tắt các lệnh sao lưu hệ điều hành mà bạn có thể gặp phải khi sao lưu cơ sở dữ liệu Oracle (phần lớn chúng ta ít backup OS mà chỉ backup đúng thư mục ứng dụng cần thiết).
  • ntbackup
  • tar
  • cpio
  • dd
  • vdump, rvdump, vrestore and rvrestore

Sử dụng NFS với ASM

Cả ASM và NFS đều cung cấp bộ nhớ dùng chung cho các hệ thống RAC, nhưng hai công nghệ này có thể được kết hợp, cho phép ASM truy cập các tệp được chia sẻ qua NFS. Tại sao bạn lại muốn làm điều này? Trong hầu hết các trường hợp, có lẽ bạn sẽ không cần. Nếu bạn đã sử dụng NFS, việc thêm lớp ASM sẽ làm phức tạp thêm không cần thiết, nhưng có một số trường hợp nó có thể hữu ích:

Các cải tiến cho Trình quản lý lưu trữ tự động (ASM) trong Oracle Database 11g Release 1

Bài viết này cung cấp tổng quan về các cải tiến chính của Trình quản lý lưu trữ tự động (ASM) trong Oracle Database 11g Release 1 (lưu ý các phiên bản sau vẫn sử dụng được các kiến thức này), bao gồm:

  • Hướng dẫn quản trị lưu trữ cơ sở dữ liệu Oracle
  • Thuộc tính tương thích nhóm đĩa mới
  • Fast Mirror Resync
  • Nâng cấp liên tục
  • Nhóm đặc quyền SYSASM và nhóm hệ điều hành OSASM
  • Khả năng mở rộng và cải tiến hiệu năng
  • Các lệnh và tùy chọn mới của ASMCMD
  • Nhóm lỗi đọc ưu tiên
  • Cân bằng lại nhanh chóng
  • Các cải tiến khác về bảo trì nhóm đĩa

Oracle và RAID

RAID là viết tắt của Redundant Arrays of Inexpensive Disks (Mảng dự phòng các đĩa giá rẻ). Chúng cung cấp cơ chế cân bằng tải và bảo mật dữ liệu của bạn trên nhiều đĩa. Trong bài viết này, tôi sẽ giải thích ngắn gọn về các cấp độ RAID được sử dụng phổ biến nhất và cách sử dụng chúng với Oracle.

Quản lý lưu trữ tự động (ASM) trong Oracle Database 10g/11g/12c/19c/23ai/26ai

Quản lý lưu trữ tự động (ASM) là một tính năng mới được giới thiệu trong Oracle 10g nhằm đơn giản hóa việc lưu trữ các tập dữ liệu, tập điều khiển và tập nhật ký của Oracle.

Phân biệt RPM, YUM và DNF

RPM là định dạng gói, YUM là trình quản lý gói cũ, và DNF là phiên bản kế thừa hiện đại của YUM, cả ba đều dùng cho hệ sinh thái Linux dựa trên RPM (như Fedora, CentOS, RHEL), khác nhau ở chỗ RPM chỉ cài gói tĩnh, YUM có giải quyết phụ thuộc nhưng chậm, còn DNF nhanh hơn, dùng thư viện mới (libsolv) và quản lý hiệu quả hơn, có API mạnh mẽ hơn, là lựa chọn ưu tiên hiện nay. 
1. RPM (Red Hat Package Manager)
    • Là gì: Hệ thống quản lý gói cơ bản, chỉ định dạng file .rpm (ví dụ: tên-gói.rpm).
    • Chức năng: Cài đặt, gỡ, kiểm tra các gói đơn lẻ.
    • Hạn chế: Không tự động giải quyết phụ thuộc (dependency hell), không tìm gói từ repo, dễ gây xung đột nếu cài thủ công. 
2. YUM (Yellowdog Updater, Modified)
    • Là gì: Trình quản lý gói cấp cao hơn RPM, sử dụng RPM để cài đặt.
    • Chức năng: Tự động giải quyết phụ thuộc, tải gói từ kho lưu trữ (repository).
    • Hạn chế: Hiệu suất chậm, dùng bộ nhớ nhiều, API không mạnh mẽ bằng DNF
3. DNF (Dandified YUM)
    • Là gì: Phiên bản kế thừa của YUM, trình quản lý gói mặc định hiện tại trên Fedora và các bản RHEL/CentOS mới.
    • Chức năng: Tương tự YUM nhưng nhanh hơn, hiệu quả hơn, giải quyết phụ thuộc bằng thư viện libsolv mạnh mẽ hơn.
    • Ưu điểm: Hiệu suất cao, quản lý bộ nhớ tốt hơn, API tốt hơn, hỗ trợ gói mô-đun.
    • Cách hoạt động: Vẫn dựa trên RPM nhưng là một công cụ thông minh hơn nhiều
Tóm lại sự khác biệt:
    • RPM: Chỉ là định dạng gói (giống .deb của Debian).
    • YUM: "Công cụ" giải quyết RPM thế hệ cũ.
    • DNF: "Công cụ" giải quyết RPM thế hệ mới, nhanh hơn, thông minh hơn, thay thế YUM. 
=============================
TƯ VẤN: Click 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

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master