### Restore teste na máquina de dr do ambiente XPTO
### Colocar a máquina em outage na ferramenta de monitoração
### Reduzir a sga da dbr021 de 80gb para 2gb
### Reduzir a sga da dbr011 de 40gb para 4gb
### Foram criados pfiles no /home/oracle, parar as instancias e inicializar fora do cluster com o pfile temporário
startup nomount pfile='/home/oracle/dbr021_temp.ora'
startup nomount pfile='/home/oracle/dbr011_temp.ora'
###
ALTER DATABASE MOUNT STANDBY DATABASE;
alter database recover managed standby database using current logfile disconnect;
--primary
alter system set log_archive_dest_state_2 = defer scope = memory sid='*';
alter system set log_archive_dest_state_2 = enable scope = memory sid='*';
### Iniciando o restore após liberar 100gb de ram no servidor brcsfSRVORA05
### Criar o dg de restore
CREATE DISKGROUP DG_RESTORE EXTERNAL REDUNDANCY DISK '/dev/rhdiskrac0507_58';
alter diskgroup DG_RESTORE add disk '/dev/rhdiskrac0507_59','/dev/rhdiskrac0507_60','/dev/rhdiskrac0507_61','/dev/rhdiskrac0507_62','/dev/rhdiskrac0507_63','/dev/rhdiskrac0507_64','/dev/rhdiskrac0507_65','/dev/rhdiskrac0507_66','/dev/rhdiskrac0507_67','/dev/rhdiskrac0507_68';
### Logar no asm e criar os diretórios
asmcmd -p
+ASM1
asmcmd -p
cd dg_restore
mkdir restore/controlfile
### criar um init básico para subir a instancia
create pfile='/home/oracle/initdbr02.ora' from memory;
###
*.__db_cache_size=78G
*.__large_pool_size=512M
*.__oracle_base='/u01/app/oracle' # ORACLE_BASE set from environment
*.__pga_aggregate_target=8G
*.__sga_target=60G
*.__shared_io_pool_size=0
*.__streams_pool_size=4G
*._aggregation_optimization_settings=0
*._always_anti_join='CHOOSE'
*._always_semi_join='CHOOSE'
*._and_pruning_enabled=TRUE
*._b_tree_bitmap_plans=TRUE
*._bloom_filter_enabled=TRUE
*._bloom_folding_enabled=TRUE
*._bloom_pruning_enabled=TRUE
*._complex_view_merging=TRUE
*._compression_compatibility='11.2.0.3.0'
*._connect_by_use_union_all='TRUE'
*._convert_set_to_join=FALSE
*._cost_equality_semi_join=TRUE
*._cpu_to_io=0
*._dimension_skip_null=TRUE
*._eliminate_common_subexpr=TRUE
*._enable_type_dep_selectivity=TRUE
*._fast_full_scan_enabled=TRUE
*._first_k_rows_dynamic_proration=TRUE
*._gby_hash_aggregation_enabled=TRUE
*._generalized_pruning_enabled=TRUE
*._globalindex_pnum_filter_enabled=TRUE
*._gs_anti_semi_join_allowed=TRUE
*._improved_outerjoin_card=TRUE
*._improved_row_length_enabled=TRUE
*._index_join_enabled=TRUE
*._ksb_restart_policy_times='0'
*._ksb_restart_policy_times='60'
*._ksb_restart_policy_times='120'
*._ksb_restart_policy_times='240' # internal update to set default
*._ktb_debug_flags=8
*._left_nested_loops_random=TRUE
*._local_communication_costing_enabled=TRUE
*._minimal_stats_aggregation=TRUE
*._mmv_query_rewrite_enabled=TRUE
*._new_initial_join_orders=TRUE
*._new_sort_cost_estimate=TRUE
*._nlj_batching_enabled=1
*._optim_adjust_for_part_skews=TRUE
*._optim_enhance_nnull_detection=TRUE
*._optim_new_default_join_sel=TRUE
*._optim_peek_user_binds=TRUE
*._optimizer_adaptive_cursor_sharing=TRUE
*._optimizer_better_inlist_costing='ALL'
*._optimizer_cbqt_no_size_restriction=TRUE
*._optimizer_coalesce_subqueries=TRUE
*._optimizer_complex_pred_selectivity=TRUE
*._optimizer_compute_index_stats=TRUE
*._optimizer_connect_by_combine_sw=TRUE
*._optimizer_connect_by_cost_based=TRUE
*._optimizer_connect_by_elim_dups=TRUE
*._optimizer_correct_sq_selectivity=TRUE
*._optimizer_cost_based_transformation='LINEAR'
*._optimizer_cost_hjsmj_multimatch=TRUE
*._optimizer_cost_model='cpu'
*._optimizer_dim_subq_join_sel=TRUE
*._optimizer_distinct_agg_transform=TRUE
*._optimizer_distinct_elimination=TRUE
*._optimizer_distinct_placement=TRUE
*._optimizer_eliminate_filtering_join=TRUE
*._optimizer_enable_density_improvements=TRUE
*._optimizer_enable_extended_stats=TRUE
*._optimizer_enable_table_lookup_by_nl=TRUE
*._optimizer_enhanced_filter_push=TRUE
*._optimizer_extend_jppd_view_types=TRUE
*._optimizer_extended_cursor_sharing='UDO'
*._optimizer_extended_cursor_sharing_rel='SIMPLE'
*._optimizer_extended_stats_usage_control=192
*._optimizer_false_filter_pred_pullup=TRUE
*._optimizer_fast_access_pred_analysis=TRUE
*._optimizer_fast_pred_transitivity=TRUE
*._optimizer_filter_pred_pullup=TRUE
*._optimizer_fkr_index_cost_bias=10
*._optimizer_full_outer_join_to_outer=TRUE
*._optimizer_group_by_placement=TRUE
*._optimizer_improve_selectivity=TRUE
*._optimizer_interleave_jppd=TRUE
*._optimizer_join_elimination_enabled=TRUE
*._optimizer_join_factorization=TRUE
*._optimizer_join_order_control=3
*._optimizer_join_sel_sanity_check=TRUE
*._optimizer_max_permutations=2000
*._optimizer_mode_force=TRUE
*._optimizer_multi_level_push_pred=TRUE
*._optimizer_native_full_outer_join='FORCE'
*._optimizer_new_join_card_computation=TRUE
*._optimizer_null_aware_antijoin=TRUE
*._optimizer_or_expansion='DEPTH'
*._optimizer_order_by_elimination_enabled=TRUE
*._optimizer_outer_join_to_inner=TRUE
*._optimizer_outer_to_anti_enabled=TRUE
*._optimizer_push_down_distinct=0
*._optimizer_push_pred_cost_based=TRUE
*._optimizer_rownum_bind_default=10
*._optimizer_rownum_pred_based_fkr=TRUE
*._optimizer_skip_scan_enabled=TRUE
*._optimizer_sortmerge_join_inequality=TRUE
*._optimizer_squ_bottomup=TRUE
*._optimizer_star_tran_in_with_clause=TRUE
*._optimizer_system_stats_usage=TRUE
*._optimizer_table_expansion=TRUE
*._optimizer_transitivity_retain=TRUE
*._optimizer_try_st_before_jppd=TRUE
*._optimizer_undo_cost_change='11.2.0.3'
*._optimizer_unnest_corr_set_subq=TRUE
*._optimizer_unnest_disjunctive_subq=TRUE
*._optimizer_use_cbqt_star_transformation=TRUE
*._optimizer_use_feedback=TRUE
*._or_expand_nvl_predicate=TRUE
*._ordered_nested_loop=TRUE
*._parallel_broadcast_enabled=TRUE
*._partition_view_enabled=TRUE
*._pga_max_size=1677720K
*._pivot_implementation_method='CHOOSE'
*._pre_rewrite_push_pred=TRUE
*._pred_move_around=TRUE
*._push_join_predicate=TRUE
*._push_join_union_view=TRUE
*._push_join_union_view2=TRUE
*._px_minus_intersect=TRUE
*._px_partition_scan_enabled=TRUE
*._px_pwg_enabled=TRUE
*._px_ual_serial_input=TRUE
*._query_rewrite_setopgrw_enable=TRUE
*._remove_aggr_subquery=TRUE
*._replace_virtual_columns=TRUE
*._right_outer_hash_enable=TRUE
*._selfjoin_mv_duplicates=TRUE
*._smm_max_size=838860
*._smm_min_size=1024
*._smm_px_max_size=4194304
*._sql_model_unfold_forloops='RUN_TIME'
*._sqltune_category_parsed='DEFAULT' # parsed sqltune_category
*._subquery_pruning_enabled=TRUE
*._subquery_pruning_mv_enabled=FALSE
*._table_scan_cost_plus_one=TRUE
*._union_rewrite_for_gs='YES_GSET_MVS'
*._unnest_subquery=TRUE
*._use_column_stats_for_function=TRUE
*.audit_file_dest='/u01/app/oracle/admin/restore/adump'
*.audit_sys_operations=TRUE
*.audit_trail='NONE'
*.background_dump_dest='/u01/app/oracle/diag/rdbms/restore/restore/trace' #Deprecate parameter
*.cluster_database=FALSE
*.compatible='11.2.0.3.0'
*.control_files='+DG_RESTORE/restore/controlfile/current.ctl'
*.db_block_size=8192
*.db_cache_size=50G
*.db_create_file_dest='+DG_RESTORE'
*.db_domain=''
*.db_name='dbr02'
*.db_recovery_file_dest_size=500G
*.diagnostic_dest='/u01/app/oracle'
*.fast_start_parallel_rollback='HIGH'
*.job_queue_processes=1000
*.log_archive_dest=''
*.log_archive_dest_1='LOCATION=+DG_RESTORE'
*.log_archive_dest_state_2='ENABLE'
*.log_archive_duplex_dest=''
*.log_buffer=7585792 # log buffer update
*.open_cursors=1000
*.optimizer_dynamic_sampling=2
*.optimizer_mode='ALL_ROWS'
*.parallel_degree_policy='MANUAL'
*.parallel_max_servers=6
*.parallel_min_servers=2
*.parallel_servers_target=8
*.parallel_servers_target=1
*.parallel_threads_per_cpu=10
*.pga_aggregate_target=8G
*.plsql_warnings='DISABLE:ALL' # PL/SQL warnings at init.ora
*.processes=2000
*.query_rewrite_enabled='TRUE'
*.remote_login_passwordfile='EXCLUSIVE'
*.resource_limit=TRUE
*.resource_manager_plan=''
*.result_cache_max_size=135680K
*.sec_case_sensitive_logon=FALSE
*.sessions=3072
*.sga_max_size=142G # internally adjusted
*.sga_target=110G
*.shared_pool_size=10G
*.skip_unusable_indexes=TRUE
*.standby_file_management='AUTO'
*.streams_pool_size=4G
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/u01/app/oracle/diag/rdbms/restore/restore/trace' #Deprecate parameter
### no SRVORA05
oracle@SRVORA05::/home/oracle> mkdir -p /u01/app/oracle/diag/rdbms/restore/cdump
oracle@SRVORA05::/home/oracle> mkdir -p /u01/app/oracle/admin/restore/adump
oracle@SRVORA05::/home/oracle> mkdir -p /u01/app/oracle/diag/rdbms/restore/trace
### em prod, caso exista, puxar o dbid
15:21:40 dbr021 > SELECT DBID FROM V$DATABASE;
DBID
----------
1755682647
### na base que será restaurada
rman target /
set dbid =1755682647;
startup nomount pfile='/home/oracle/initrestore.ora';
### localizar o controlfile no arquivos restaurados
### Opção A: consulta no rman de produção
export NLS_DATE_FORMAT='dd/mm/yyyy hh24:mi:ss'
rman target /
list backup of controlfile completed between "08/09/2018 20:00:00" and "09/09/2018 20:00:00";
/*
RMAN> list backup of controlfile completed between "08/09/2018 20:00:00" and "09/09/2018 20:00:00";
using target database control file instead of recovery catalog
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
85077 Incr 0 10.66M DISK 00:00:03 09/09/2018 08:07:29
BP Key: 360327 Status: AVAILABLE Compressed: YES Tag: DATABASE FULL
Piece Name: /stage/dbr02/full/df_dbr02_355195_1_rrtcllhu.rman <<<<<<<<<<<<<<<<<<<<<<<<<<
Control File Included: Ckp SCN: 3731372639170 Ckp time: 09/09/2018 08:07:26
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
85082 Full 116.36M DISK 00:00:02 09/09/2018 08:08:57
BP Key: 360338 Status: AVAILABLE Compressed: NO Tag: CONTROL_FILE
Piece Name: /stage/dbr02/full/cf_dbr02_355199_1_rvtcllkn.rman
Control File Included: Ckp SCN: 3731372666860 Ckp time: 09/09/2018 08:08:55
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
85083 Full 116.36M DISK 00:00:02 09/09/2018 08:09:00
BP Key: 360339 Status: AVAILABLE Compressed: NO Tag: STANDBY
Piece Name: /stage/dbr02/full/cf_dbr02_355200_1_s0tcllkq.rman
Standby Control File Included: Ckp SCN: 3731372667908 Ckp time: 09/09/2018 08:08:58
*/
restore controlfile from '/stage/dbr02/full/df_dbr02_355195_1_rrtcllhu.rman';
startup mount;
/*
RMAN> restore controlfile from '/stage/dbr02/full/cf_dbr02_355199_1_rvtcllkn.rman';
Starting restore at 17-SEP-18
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=1600 device type=DISK
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
output file name=+DG_RESTORE/restore/controlfile/current.ctl
Finished restore at 17-SEP-18
*/
export NLS_DATE_FORMAT='dd/mm/yyyy hh24:mi:ss' --formato da data para efetuar listagens no catálogo
list backup of controlfile completed between "08/09/2018 20:00:00" and "09/09/2018 20:00:00";
list backup of database completed between "08/09/2018 18:00:00" and "09/09/2018 20:00:00";
list backup of database summary completed between "08/09/2018 18:00:00" and "09/09/2018 20:00:00";
list backup of archivelog all completed between "08/09/2018 20:00:00" and "09/09/2018 20:00:00";
list backup of archivelog all summary completed between "08/09/2018 20:00:00" and "09/09/2018 20:00:00";
/*
### catalogar o bkp
### Não foi feito nesse exemplo, pois os pieces foram restaurados no local de origem que foram criados
run
{
catalog start with '/stage/dbr02/full/' noprompt;
}
run
{
catalog start with '/stage/dbr02/archive/' noprompt;
}
*/
### Identificar o id das tablespaces que serão restauradas
### Nesse exemplo, iremos restaurar as tablespaces:
'UNDOTBS1',
'UNDOTBS2',
'TS_XXXXXXXX_DAT01',
'TS_XXXXXXXX_IDX01',
'SYSAUX',
'SYSTEM',
'TS_SYSAUDIT_DAT01',
'USERS'
### Caso a base principal esteja no ar, faça esse select
select file_id, tablespace_name
FROM dba_data_files
WHERE TABLESPACE_NAME IN (
'UNDOTBS1',
'UNDOTBS2',
'TS_XXXXXXXX_DAT01',
'TS_XXXXXXXX_IDX01',
'SYSAUX',
'SYSTEM',
'TS_SYSAUDIT_DAT01',
'USERS') order by file_id;
### Montar o comando de restore, conforme exemplo abaixo
### montar o comando de set newname para os datafile e altera o path do name para o local de destino, nesse exemplo é : +DG_RESTORE/restore/datafile/
select 'set newname for datafile '||file#||' to '''||name||''';' from v$datafile where file# in(1,2,4,14,15,32,33,61,66) order by 1;
### Criar o arquivo: restore_dbr02_skip.sh
rman log=restore_skip.log nocatalog <<EOF
connect target /
run
{ set until time "to_date('09/09/2018 08:48:29','DD/MM/YYYY HH24:MI:SS')";
allocate channel ch01 type disk format '/stage/dbr02/full/df_%d_%s_%p_%u.rman';
allocate channel ch02 type disk format '/stage/dbr02/full/df_%d_%s_%p_%u.rman';
allocate channel ch03 type disk format '/stage/dbr02/full/df_%d_%s_%p_%u.rman';
allocate channel ch04 type disk format '/stage/dbr02/full/df_%d_%s_%p_%u.rman';
allocate channel ch05 type disk format '/stage/dbr02/full/df_%d_%s_%p_%u.rman';
allocate channel ch06 type disk format '/stage/dbr02/full/df_%d_%s_%p_%u.rman';
allocate channel ch07 type disk format '/stage/dbr02/full/df_%d_%s_%p_%u.rman';
allocate channel ch08 type disk format '/stage/dbr02/full/df_%d_%s_%p_%u.rman';
set newname for datafile 1 to '+DG_RESTORE/dbr02/datafile/system.256.848423319';
set newname for datafile 14 to '+DG_RESTORE/dbr02/datafile/undotbs1.280.856883855';
set newname for datafile 15 to '+DG_RESTORE/dbr02/datafile/undotbs2.377.856884199';
set newname for datafile 2 to '+DG_RESTORE/dbr02/datafile/sysaux.257.848423319';
set newname for datafile 32 to '+DG_RESTORE/dbr02/datafile/ts_XXXXXXXX_idx01.271.850569827';
set newname for datafile 33 to '+DG_RESTORE/dbr02/datafile/ts_XXXXXXXX_dat01.293.850570947';
set newname for datafile 4 to '+DG_RESTORE/dbr02/datafile/users.259.848423321';
set newname for datafile 61 to '+DG_RESTORE/dbr02/datafile/ts_sysaudit_dat01.371.851631645';
set newname for datafile 66 to '+DG_RESTORE/dbr02/datafile/sysaux.893.969694537';
restore datafile 1,2,4,14,15,32,33,61,66 ;
}
EOF
### Após o restore, eu cataloguei eles e atualizei o controlfile com o comando switch datafile
### No alert_log, validar o nome dos datafiles restaurados
catalog datafilecopy '+DG_RESTORE/dbr02/datafile/system.264.987335543';
catalog datafilecopy '+DG_RESTORE/dbr02/datafile/undotbs1.263.987335541';
catalog datafilecopy '+DG_RESTORE/dbr02/datafile/undotbs2.258.987335541';
catalog datafilecopy '+DG_RESTORE/dbr02/datafile/sysaux.261.987335543';
catalog datafilecopy '+DG_RESTORE/dbr02/datafile/ts_XXXXXXXX_idx01.265.987335543';
catalog datafilecopy '+DG_RESTORE/dbr02/datafile/ts_XXXXXXXX_dat01.262.987335543';
catalog datafilecopy '+DG_RESTORE/dbr02/datafile/users.257.987336227';
catalog datafilecopy '+DG_RESTORE/dbr02/datafile/ts_sysaudit_dat01.260.987335541';
catalog datafilecopy '+DG_RESTORE/dbr02/datafile/sysaux.266.987335543';
RMAN> switch datafile 1,2,4,14,15,32,33,61,66 to copy;
### Após o restore bem sucedido dos datafiles, você vai precisar restaurar os archives para ter um recover consistente.
### Por ser uma base RAC, você precisa especificar as threads e sequencias. [1/2].
### Lista os archives para pegar o intervalo de sequence
RMAN > list backup of archivelog all completed between "08/09/2018 20:00:00" and "09/09/2018 20:00:00";
/*
BS Key Size Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ -------------------
85118 870.02M DISK 00:00:00 09/09/2018 18:00:33
BP Key: 360380 Status: AVAILABLE Compressed: YES Tag: ARCHIVE_LOG
Piece Name: /stage/dbr02/archive/af_dbr02_355209_1_s9tcmoa1.rman
List of Archived Logs in backup set 85118
Thrd Seq Low SCN Low Time Next SCN Next Time
---- ------- ---------- ------------------- ---------- ---------
1 24576 3731425185657 09/09/2018 16:00:06 3731428637958 09/09/2018 18:00:07
BS Key Size Device Type Elapsed Time Completion Time
------- ---------- ----------- ------------ -------------------
85119 2.84G DISK 00:00:00 09/09/2018 18:00:33
BP Key: 360381 Status: AVAILABLE Compressed: YES Tag: ARCHIVE_LOG
Piece Name: /stage/dbr02/archive/af_dbr02_355210_1_satcmoa1.rman
List of Archived Logs in backup set 85119
Thrd Seq Low SCN Low Time Next SCN Next Time
---- ------- ---------- ------------------- ---------- ---------
2 22402 3731425186789 09/09/2018 16:00:09 3731428637909 09/09/2018 18:00:07
*/
### Criar o arquivo: restore_archive_dbr02.sh
rman log=restore_archive_dbr02.log nocatalog <<EOF
connect target /
run {set until time "to_date('09/09/2018 08:48:29','DD/MM/YYYY HH24:MI:SS')";
allocate channel ch01 type disk format '/stage/dbr02/full/df_%d_%s_%p_%u.rman';
allocate channel ch02 type disk format '/stage/dbr02/full/df_%d_%s_%p_%u.rman';
allocate channel ch03 type disk format '/stage/dbr02/full/df_%d_%s_%p_%u.rman';
allocate channel ch04 type disk format '/stage/dbr02/full/df_%d_%s_%p_%u.rman';
allocate channel ch05 type disk format '/stage/dbr02/full/df_%d_%s_%p_%u.rman';
allocate channel ch06 type disk format '/stage/dbr02/full/df_%d_%s_%p_%u.rman';
allocate channel ch07 type disk format '/stage/dbr02/full/df_%d_%s_%p_%u.rman';
allocate channel ch08 type disk format '/stage/dbr02/full/df_%d_%s_%p_%u.rman';
set archivelog destination to '/stage/dbr02/full';
restore archivelog sequence between 24564 and 24576 thread 1;
restore archivelog sequence between 22390 and 22402 thread 2;
}
EOF
### A parte complicada do processo e nesse ponto, onde iremos rodar o recover database com SKIP FOREVER TABLESPACE.
### query do skip das tbs (REMOVER A TBS A SER RESTAURADA)
col tablespace_name for a100
SELECT listagg(tablespace_name,''',''')within group (ORDER BY tablespace_name)
FROM dba_data_files
WHERE TABLESPACE_NAME NOT IN (
'UNDOTBS1',
'UNDOTBS2',
'TS_XXXXXXXX_DAT01',
'TS_XXXXXXXX_IDX01',
'SYSAUX',
'SYSTEM',
'TS_SYSAUDIT_DAT01',
'USERS');
### Criar o arquivo: recover_dbr02_skip_.sh
rman log=recover_skip.log nocatalog <<EOF
connect target /
run {
allocate channel c1 type disk;
recover database skip forever tablespace 'TBS1','TBS2','TBS3','........','TBSN';
}
EOF
### Após o sucesso do recover, não se esqueça de renomear os redologs e tempfiles
### Comando para pegar os redos de prod, depois alterei o caminho de destino final para o dg_restore
select 'alter database rename file '''||member||''' to '''||member||''';' from v$logfile;
alter database rename file '+DATA1/dbr02/onlinelog/group_9.264.848437495' to '+DG_RESTORE/restore/group_9.264.848437495';
alter database rename file '+DATA1/dbr02/onlinelog/group_10.266.848437537' to '+DG_RESTORE/restore/group_10.266.848437537';
alter database rename file '+DATA1/dbr02/onlinelog/group_1.446.870112265' to '+DG_RESTORE/restore/group_1.446.870112265';
alter database rename file '+DATA1/dbr02/onlinelog/group_11.267.848437583' to '+DG_RESTORE/restore/group_11.267.848437583';
alter database rename file '+DATA1/dbr02/onlinelog/group_12.268.848437627' to '+DG_RESTORE/restore/group_12.268.848437627';
alter database rename file '+DATA1/dbr02/onlinelog/group_13.269.848437671' to '+DG_RESTORE/restore/group_13.269.848437671';
alter database rename file '+DATA1/dbr02/onlinelog/group_14.270.848437715' to '+DG_RESTORE/restore/group_14.270.848437715';
alter database rename file '+DATA1/dbr02/onlinelog/group_15.271.848437761' to '+DG_RESTORE/restore/group_15.271.848437761';
alter database rename file '+DATA1/dbr02/onlinelog/group_16.272.848437803' to '+DG_RESTORE/restore/group_16.272.848437803';
alter database rename file '+DATA1/dbr02/onlinelog/group_2.459.870112301' to '+DG_RESTORE/restore/group_2.459.870112301';
alter database rename file '+DATA1/dbr02/onlinelog/group_3.363.870112343' to '+DG_RESTORE/restore/group_3.363.870112343';
alter database rename file '+DATA1/dbr02/onlinelog/group_4.454.870112499' to '+DG_RESTORE/restore/group_4.454.870112499';
alter database rename file '+DATA1/dbr02/onlinelog/group_5.341.870112551' to '+DG_RESTORE/restore/group_5.341.870112551';
alter database rename file '+DATA1/dbr02/onlinelog/group_6.317.870112601' to '+DG_RESTORE/restore/group_6.317.870112601';
alter database rename file '+DATA1/dbr02/onlinelog/group_7.325.870112655' to '+DG_RESTORE/restore/group_7.325.870112655';
alter database rename file '+DATA1/dbr02/onlinelog/group_8.322.870112691' to '+DG_RESTORE/restore/group_8.322.870112691';
### Ajuste da temp
select name from v$tempfile order by 1;
select 'alter database rename file '||name||' to '''||name||''';' from v$tempfile;
alter database rename file '+DATA1/dbr02/tempfile/temp.343.853608683' to '+DG_RESTORE/restore/temp.343.853608683';
### Importante passo, para não ter erro na abertura da base, desligue o block change tracking
alter database disable block change tracking;
### Finalmente, o comando mais tenso do processo.
alter database open resetlogs;
### Fim com sucesso
Nenhum comentário:
Postar um comentário