Với
các bảng dữ liệu lớn, core của hệ thống với hàng trăm, nghìn procedure,
function, pacakge liên quan sẽ INVALID khi ALTER TABLE, nếu không LOCK hết các
account của ứng dụng và người dùng lại
thì không thể thêm cột mới hay drop cột đi được. Nhưng khi LOCK các account của
ứng dụng và người dùng thì thời gian thực hiện sẽ NHƯ THẾ NÀO? Mình có bài lab
thực tế muốn chia sẻ với các bạn để các bạn tham khảo khi thực hiện với dữ liệu
lớn của mình:
1. Bảng
lớn, core của hệ thống: 230tr bản ghi, dung lượng 67GB
2. Thêm trường mới: 1h46p
alter table table_huge add test_col1 varchar2(1000) default
'123456';
3. Drop cột
test_col1 mất 2h08p
alter table table_huge drop column test_col1
Hy vọng sẽ hữu ích với bạn!