Mục đích:
Cập nhật bảng hoặc package Core của DB Core tránh ảnh hưởng nhất (kill ít nhất)
Thủ tục:
--Kiểm tra các session gọi vào (thường rất nhiều > 100-1000)
select distinct owner from gv$access where lower(object) like lower('%test_package%');
--1. Check số lượng package invalid
select 'ALTER '||OBJECT_TYPE||' '||OWNER||'.'||OBJECT_NAME||' COMPILE;' from dba_objects
where object_type in ('PROCEDURE','FUNCTION','TRIGGER','PACKAGE') and status like 'INVALID' and OWNER like 'TEST_OWNER'
UNION ALL
select 'ALTER PACKAGE '||OWNER||'.'||OBJECT_NAME||' COMPILE BODY;' from dba_objects
where object_type in ('PACKAGE BODY') and status like 'INVALID' and OWNER like 'TEST_OWNER'
Sửa bài viết