Làm thế nào để xóa trắng một database Oracle

| Tin mới | Tag:
Rate this post

Đơn giản lắm, chỉ cần chạy script này thôi

BEGIN
FOR cur_rec IN (SELECT object_name, object_type
FROM user_objects
WHERE object_type IN
(‘TABLE’,
‘VIEW’,
‘PACKAGE’,
‘PROCEDURE’,
‘FUNCTION’,
‘SEQUENCE’,
‘SYNONYM’,
‘PACKAGE BODY’
))
LOOP
BEGIN
IF cur_rec.object_type = ‘TABLE’
THEN
EXECUTE IMMEDIATE ‘DROP ‘
|| cur_rec.object_type
|| ‘ “‘
|| cur_rec.object_name
|| ‘” CASCADE CONSTRAINTS’;
ELSE
EXECUTE IMMEDIATE ‘DROP ‘
|| cur_rec.object_type
|| ‘ “‘
|| cur_rec.object_name
|| ‘”‘;
END IF;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line ( ‘FAILED: DROP ‘
|| cur_rec.object_type
|| ‘ “‘
|| cur_rec.object_name
|| ‘”‘
);
END;
END LOOP;
END;
/

123456789101112131415161718192021222324252627282930313233343536373839404142

BEGIN FOR cur_rec IN (SELECT object_name, object_type FROM user_objects WHERE object_type IN (‘TABLE’, ‘VIEW’, ‘PACKAGE’, ‘PROCEDURE’, ‘FUNCTION’, ‘SEQUENCE’, ‘SYNONYM’, ‘PACKAGE BODY’ )) LOOP BEGIN IF cur_rec.object_type = ‘TABLE’ THEN EXECUTE IMMEDIATE ‘DROP ‘ || cur_rec.object_type || ‘ “‘ || cur_rec.object_name || ‘” CASCADE CONSTRAINTS’; ELSE EXECUTE IMMEDIATE ‘DROP ‘ || cur_rec.object_type || ‘ “‘ || cur_rec.object_name || ‘”‘; END IF; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.put_line ( ‘FAILED: DROP ‘ || cur_rec.object_type || ‘ “‘ || cur_rec.object_name || ‘”‘ ); END; END LOOP;END;/

How to drop all user tables?

Chạy xong bạn sẽ thấy DB trống trơn luôn, Tất cả các đối tượng: ‘TABLE’, ‘VIEW’, ‘PACKAGE’, ‘PROCEDURE’, ‘FUNCTION’, ‘SEQUENCE’, ‘SYNONYM’,’PACKAGE BODY’ bị xóa sạch luôn.

Bình luận
0

Bình luận