在Oracle中,怎么快速得到整个数据库的热备脚本?
答案:可以写一段类似的脚本:
SET SERVEROUTPUT ON
BEGIN
DBMS_OUTPUT.ENABLE(10000);
FOR BK_TS IN (SELECT DISTINCT T.TS#, T.NAME
FROM V$TABLESPACE T, V$DATAFILE D
WHERE T.TS# = D.TS#) LOOP
DBMS_OUTPUT.PUT_LINE('--' || BK_TS.NAME);
DBMS_OUTPUT.PUT_LINE('ALTER TABLESPACE ' || BK_TS.NAME ||' BEGIN BACKUP;');
FOR BK_FILE IN (SELECT FILE#, NAME FROM V$DATAFILE WHERE TS# = BK_TS.TS#) LOOP
DBMS_OUTPUT.PUT_LINE('HOST CP ' || BK_FILE.NAME || ' $BACKUP_DEPT/');
END LOOP;
DBMS_OUTPUT.PUT_LINE('ALTER TABLESPACE ' || BK_TS.NAME ||' END BACKUP;');
END LOOP;
END;
/
● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用
● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/
● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
● 版权所有,欢迎分享本文,转载请保留出处
● QQ:646634621 QQ群:230161599
● 题目解答若有不当之处,还望各位朋友批评指正,共同进步
长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。




