1. Script thêm partition theo 1 giờ:
declare
v_table_name varchar2 (40) := 'BẢNG
CÓ PARTITION THEO 1 GIỜ';
v_statement varchar2 (500) := '';
from_date varchar2 (40) := '01/02/2020';
v_index_name varchar2 (40) := '';
cursor
c_index
is
select
index_name
from
user_indexes
begin
for j in 0 .. 27
loop
for i in 0 .. 24
loop
v_statement :=
' alter table '
||
v_table_name
|| ' add
partition DATA'
|| to_char (to_date (from_date, 'dd/mm/yyyy') + j + i / 24,
'yyyymmddhh24'
)
|| '
values less than (to_date('''
|| to_char ( trunc (to_date (from_date, 'dd/mm/yyyy
hh24'))
+ j
+ i / 24
+ 1 / 24,
'dd/mm/yyyy
hh24'
)
|| ''',''dd/mm/yyyy
hh24'')) tablespace DATA'
|| ';';
dbms_output.put_line (v_statement);
end loop;
end loop;
end;
|
2. Script thêm partition theo 12 giờ:
declare
v_table_name varchar2 (40) := 'BẢNG
CÓ PARTITION THEO 12 GIỜ ';
v_statement varchar2 (500) := '';
from_date varchar2 (40) := '01/02/2020';
v_index_name varchar2 (40) := '';
cursor
c_index
is
select
index_name
from
user_indexes
where
table_name = v_table_name;
begin
for j in 0 .. 27
loop
for i in 0 .. 1
loop
v_statement :=
' alter table '
||
v_table_name
|| ' add
partition DATA'
|| to_char (to_date (from_date, 'dd/mm/yyyy') + j + i / 2,
'yyyymmddhh24'
)
|| '
values less than (to_date('''
|| to_char ( trunc (to_date (from_date, 'dd/mm/yyyy
hh24'))
+ j
+ i / 2
+ 1 / 2,
'dd/mm/yyyy
hh24'
)
|| ''',''dd/mm/yyyy
hh24'')) tablespace HTDS'
|| to_char (to_date (from_date, 'dd/mm/yyyy') + j, 'yyyymm')
|| ';';
dbms_output.put_line (v_statement);
end loop;
end loop;
end;
|
select t1.table_owner, t1.table_name, t1.partition_name, t1.tablespace_name,
t1.high_value
from
dba_tab_partitions t1
where (t1.table_owner, t1.table_name, t1.partition_position) in (
select table_owner,
table_name, max (partition_position)
from
dba_tab_partitions
where
table_owner not in
('SYS',
'SYSTEM',
'SYSMAN',
'OUTLN',
'DBSNMP',
'WMSYS',
'EXFSYS',
'CTXSYS',
'XDB',
'ORDSYS',
'MDSYS',
'OLAPSYS',
'DMSYS',
'SCOTT'
)
group by
table_owner, table_name)
and t1.table_name
not like 'BIN$%'
order by t1.partition_name
desc;
select
table_owner || '.' ||
table_name
from
dba_tab_partitions
where
partition_name like '%201912%' and
table_name not like 'BIN%'
minus
select
table_owner || '.' ||
table_name
from
dba_tab_partitions
where
partition_name like '%202001%';
|
Hãy nhanh tay đăng ký khóa học "Quản trị cơ sở dữ liệu Oracle 12c cơ bản" trên Unica giành cho những bạn mới học cơ sở dữ liệu Oracle hoặc cần nâng cao kiến thức, kinh nghiệm thực tiễn trên Unica (giá gốc 900K, giá khi đăng ký HÔM NAY là 299K):
Bước 1: Truy cập Unica.vn, bấm ĐĂNG KÝ nếu chưa có tài khoản
Bước 2: Đăng nhập tài khoản học viên trên Unica.vn
Bước 4: Bấm KÍCH HOẠT NGAYđể thanh toán và bắt đầu vào học.
*****@ Trần Văn Bình - Founder of Oracle DBA AZ
#học oracle #oracle database #khóa học oracle online #khóa học oca #học oca ở đâu #oca là gì #oca oracle #BossData #OraAz #OracleDBAAz #OracleTutorial #Quản_trị_cơ_sở_dữ_liệu_Oracle #OracleDBA #OracleDatabaseAdministration