Mục đích: Tạo bảng partition theo trường status gộp và subpartition theo trường month, chỉ 1 số partition theo status mới cần tạo subpartition do dữ liệu nhỏ.
Chi tiết thủ tục
--1.TẠO BẢNG
--drop table app_owner.tab1_new;
CREATE TABLE app_owner.tab1_new
(
tab1_ID NUMBER,
INSERT_DATE DATE,
REP_CUST_ID number;
INVOICE_ID NUMBER(10) NOT NULL,
CUST_ID NUMBER(10) NOT NULL,
EINV_ID number,
MONTH DATE NOT NULL,
STA_DATE DATE,
END_DATE DATE,
TAX NUMBER(3),
PAYMENT_AMOUNT_VAT NUMBER(15,2),
STATUS NUMBER,
DESCRIPTION VARCHAR2(4000 BYTE)
)
NOCOMPRESS
TABLESPACE DATA
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
BUFFER_POOL DEFAULT
)
LOGGING
PARTITION BY LIST (STATUS)
SUBPARTITION BY RANGE (month)
(
PARTITION P03 VALUES ('0','3')
LOGGING
NOCOMPRESS
TABLESPACE DATA
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
BUFFER_POOL DEFAULT
),
PARTITION P16 VALUES ('1','6')
LOGGING
NOCOMPRESS
TABLESPACE DATA
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
BUFFER_POOL DEFAULT
),
PARTITION P5 VALUES ('5')
LOGGING
NOCOMPRESS
TABLESPACE DATA
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
BUFFER_POOL DEFAULT
),
PARTITION P2 VALUES ('2')
LOGGING
NOCOMPRESS
TABLESPACE DATA
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
BUFFER_POOL DEFAULT
)
(
SUBPARTITION data2020 VALUES LESS THAN (TO_DATE('01-01-2021', 'DD-MM-YYYY')) TABLESPACE DATA,
SUBPARTITION data2021 VALUES LESS THAN (TO_DATE('01-01-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
SUBPARTITION data202201 VALUES LESS THAN (TO_DATE('01-02-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
SUBPARTITION data202202 VALUES LESS THAN (TO_DATE('01-03-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
SUBPARTITION data202203 VALUES LESS THAN (TO_DATE('01-04-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
SUBPARTITION data202204 VALUES LESS THAN (TO_DATE('01-05-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
SUBPARTITION data202205 VALUES LESS THAN (TO_DATE('01-06-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
SUBPARTITION data202206 VALUES LESS THAN (TO_DATE('01-07-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
SUBPARTITION data202207 VALUES LESS THAN (TO_DATE('01-08-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
SUBPARTITION data202208 VALUES LESS THAN (TO_DATE('01-09-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
SUBPARTITION data202209 VALUES LESS THAN (TO_DATE('01-10-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
SUBPARTITION data202210 VALUES LESS THAN (TO_DATE('01-11-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
SUBPARTITION data202211 VALUES LESS THAN (TO_DATE('01-12-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
SUBPARTITION data202212 VALUES LESS THAN (TO_DATE('01-01-2023', 'DD-MM-YYYY')) TABLESPACE DATA
),
PARTITION P4 VALUES ('4')
LOGGING
NOCOMPRESS
TABLESPACE DATA
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
BUFFER_POOL DEFAULT
)
(
SUBPARTITION data2020_ VALUES LESS THAN (TO_DATE('01-01-2021', 'DD-MM-YYYY')) TABLESPACE DATA,
SUBPARTITION data2021_ VALUES LESS THAN (TO_DATE('01-01-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
SUBPARTITION data202201_ VALUES LESS THAN (TO_DATE('01-02-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
SUBPARTITION data202202_ VALUES LESS THAN (TO_DATE('01-03-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
SUBPARTITION data202203_ VALUES LESS THAN (TO_DATE('01-04-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
SUBPARTITION data202204_ VALUES LESS THAN (TO_DATE('01-05-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
SUBPARTITION data202205_ VALUES LESS THAN (TO_DATE('01-06-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
SUBPARTITION data202206_ VALUES LESS THAN (TO_DATE('01-07-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
SUBPARTITION data202207_ VALUES LESS THAN (TO_DATE('01-08-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
SUBPARTITION data202208_ VALUES LESS THAN (TO_DATE('01-09-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
SUBPARTITION data202209_ VALUES LESS THAN (TO_DATE('01-10-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
SUBPARTITION data202210_ VALUES LESS THAN (TO_DATE('01-11-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
SUBPARTITION data202211_ VALUES LESS THAN (TO_DATE('01-12-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
SUBPARTITION data202212_ VALUES LESS THAN (TO_DATE('01-01-2023', 'DD-MM-YYYY')) TABLESPACE DATA
),
PARTITION PM VALUES (DEFAULT)
LOGGING
NOCOMPRESS
TABLESPACE DATA
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (
BUFFER_POOL DEFAULT
)
)
NOCACHE
MONITORING
ENABLE ROW MOVEMENT;
--2.Đổi tên bảng hiện tại đang chạy thành history
--27s
alter table app_owner.tab1 rename to tab1_history;
Có thể gặp lỗi như bên dưới:
--ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired
Ta phải Kill lock đi theo câu lệnh, xác định đúng INST_ID để kill vào đúng node cần kill (nhầm co s
SELECT /*lock table*/ 'kill -9 ' || spid a, a.INST_ID,A.SQL_ID,A.SID, A.SERIAL#, a.USERNAME, a.STATUS,A.SCHEMANAME,a.OSUSER,A.MACHINE,A.PROGRAM,A.TYPE,A.LOGON_TIME,BACKGROUND
FROM gv$session a, gv$process b
WHERE b.addr = a.paddr
AND a.inst_id=b.inst_id
--and b.inst_id=3
AND (b.inst_id, a.sid) in
(SELECT /*+ parallel(8)*/ s.inst_id,s.sid
FROM gv$locked_object v, dba_objects d,
gv$lock l, gv$session s
WHERE v.object_id = d.object_id
AND (v.object_id = l.id1)
AND v.session_id = s.sid
and object_name=upper('tab1'))
--and type='USER'
--ORDER BY username, session_id;
--3.Đổi tên bảng mới về bảng product
alter table app_owner.tab1_new rename to tab1;
--4.Insert dữ liệu vào bảng mới
insert/*+ append nologging parallel(a,8) */ into app_owner.tab1 a
select /*+ parallel(b,8) */ * from app_owner.tab1_history b;
commit;
--5.Tao lại index
create index app_owner.tab1_NEW_I1 on app_owner.tab1(tab1_ID) tablespace INDX local parallel 8 online;
alter index app_owner.tab1_NEW_I1 noparallel;
create index app_owner.tab1_NEW_I2 on app_owner.tab1(CUST_ID) tablespace INDX local parallel 8 online;
alter index app_owner.tab1_NEW_I2 noparallel;
create index app_owner.tab1_NEW_I3 on app_owner.tab1(REP_CUST_ID) tablespace INDX local parallel 8 online;
alter index app_owner.tab1_NEW_I3 noparallel;
create index app_owner.tab1_NEW_I5 on app_owner.tab1(EINV_ID) tablespace INDX local parallel 8 online;
alter index app_owner.tab1_NEW_I5 noparallel;
create index app_owner.tab1_I6 on app_owner.tab1(INVOICE_ID) tablespace INDX local parallel 8 online;
alter index app_owner.tab1_I6 noparallel;
--6.Gahter
BEGIN
SYS.DBMS_STATS.GATHER_TABLE_STATS (
OwnName => 'app_owner'
,TabName => 'tab1'
,Estimate_Percent => 10
,Method_Opt => 'FOR ALL COLUMNS SIZE 1'
,Degree => 16
,Cascade => TRUE
,No_Invalidate => FALSE);
END;
/
Hy vọng giúp ích cho bạn.
=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* 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
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 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: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Đị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
=============================
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,khóa học pl/sql, 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, 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 dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, middleware, hoc solaris, hoc linux, hoc aix, unix, securecrt, xshell, mobaxterm, putty
* 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
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 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: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Đị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
=============================
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,khóa học pl/sql, 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, 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 dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, middleware, hoc solaris, hoc linux, hoc aix, unix, securecrt, xshell, mobaxterm, putty