【DB笔试面试222】在Oracle中,怎么快速获得整个数据库的热备脚本?

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


Q          题目以下所示:

在Oracle中,怎么快速获得整个数据库的热备脚本?数据库


     
A          答案以下所示:          



答案:能够写一段相似的脚本:ide

SET SERVEROUTPUT ONspa

BEGIN3d

  DBMS_OUTPUT.ENABLE(10000);blog

  FOR BK_TS IN (SELECT DISTINCT T.TS#, T.NAMEit

                  FROM V$TABLESPACE T, V$DATAFILE Dclass

                 WHERE T.TS# = D.TS#) LOOPim

    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;

/

相关文章
相关标签/搜索