sexta-feira, 21 de setembro de 2018

Restore Parcial Oracle

### 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