set serveroutput on declare v_chgdbid binary_integer; v_chgdbname binary_integer; v_skipped binary_integer; v_new_db_name varchar2(9); v_old_db_name varchar2(9); v_new_dbid number; v_old_dbid number; w_action varchar2(255); begin w_action:='Recuperando DBID Atual.' ; select dbid, name, name into v_old_dbid, v_new_db_name, v_old_db_name from v$database; select TO_NUMBER('&NOVO_DBID') into v_new_dbid from dual; w_action:='Executando a Procedure (dbms_backup_restore.nidbegin).'; dbms_output.put_line('New NAME='||V_NEW_DB_NAME); dbms_output.put_line('Old NAME='||V_OLD_DB_NAME); dbms_output.put_line('New DBID='||V_NEW_DBID); dbms_output.put_line('Old DBID='||V_OLD_DBID); dbms_backup_restore.nidbegin(V_NEW_DB_NAME,V_OLD_DB_NAME,V_NEW_DBID,V_OLD_DBID,0,0,10); w_action:='Executando a Procedure (dbms_backup_restore.nidprocesscf).'; dbms_backup_restore.nidprocesscf( v_chgdbid,v_chgdbname); dbms_output.put_line('ControlFile.......: '); dbms_output.put_line(' => Change Name..: ' ||to_char(v_chgdbname)); dbms_output.put_line(' => Change DBID..: ' ||to_char(v_chgdbid)); w_action := 'Alterando os Datafiles, procedure (dbms_backup_restore.nidprocessdf).'; for i in (select file#,name from v$datafile) loop dbms_output.put_line('DataFile..........: ' ||i.name); dbms_output.put_line(' => Skipped......: ' ||to_char(v_skipped)); dbms_output.put_line(' => Change Name..: ' ||to_char(v_chgdbname)); dbms_output.put_line(' => Change DBID..: ' ||to_char(v_chgdbid)); dbms_backup_restore.nidprocessdf(i.file#,0, v_skipped,v_chgdbid,v_chgdbname); end loop; w_action := 'Alterando os Tempfiles, procedure (dbms_backup_restore.nidprocessdf).'; for i in (select file#,name from v$tempfile) loop dbms_output.put_line('TempFile..........: ' ||i.name); dbms_output.put_line(' => Skipped......: ' ||to_char(v_skipped)); dbms_output.put_line(' => Change Name..: ' ||to_char(v_chgdbname)); dbms_output.put_line(' => Change DBID..: ' ||to_char(v_chgdbid)); dbms_backup_restore.nidprocessdf(i.file#,1,v_skipped,v_chgdbid,v_chgdbname); end loop; dbms_backup_restore.nidend; end; /