Oracle DuplicateDB
Jump to navigation
Jump to search
#!/bin/bash ORACLE_SID=DBCLONE ORAENV_ASK=NO export ORACLE_SID ORAENV_ASK . oraenv unset ORAENV_ASK HOST_PROD=10.1.1.1 HOST_TEST=10.1.1.2 ## salvare le password sqlplus '/ as sysdba' << EOF @save_password SYS @save_password SYSTEM shutdown abort; EOF rm -rf /oradata/${ORACLE_SID} rm -rf /oralog/${ORACLE_SID} rm -f ${ORACLE_HOME}/dbs/spfile${ORACLE_SID}.ora rm -f ${ORACLE_HOME}/dbs/orapw${ORACLE_SID} orapwd file=${ORACLE_HOME}/dbs/orapw${ORACLE_SID} password="xxxxxxxxxxxxxxxxxxxxxxxxxx" entries=16 rman target / nocatalog << EOF startup nomount force; EOF rman target sys/"xxxxxxxxxxxxxxxxxxxxxxxxxx"@${HOST_PROD}:1521/SID_SRC auxiliary sys/"xxxxxxxxxxxxxxxxxxxxxxxxxx"@${HOST_TEST}:1521/${ORACLE_SID} trace refresh_trintest_from_prod.log << EOF DUPLICATE DATABASE TO TRINTEST FROM ACTIVE DATABASE SPFILE parameter_value_convert ('YYYY','XXXX') set db_create_file_dest='/oradata' set db_create_online_log_dest_1='/oralog' set db_name='XXXX' set db_unique_name='XXXX' set diagnostic_dest='/orabin/oracle/12.2' set local_listener='LISTENER' set sga_target='1700M' set pga_aggregate_target='512M' set db_recovery_file_dest='/oradata' set db_recovery_file_dest_size='40G' set audit_file_dest='/orabin/oracle/12.2/admin/XXXX/adump' set audit_sys_operations='TRUE' reset log_archive_dest_1 NOFILENAMECHECK; EOF #set log_archive_dest_1='location=/oradata reopen=10' rman target / nocatalog << EOF delete noprompt archivelog all; EOF sqlplus '/ as sysdba' << EOF shutdown immediate startup mount alter database noarchivelog; alter database open; EOF
-- save password.sql &1 set pagesize 0 set linesize 800 set trim on trims on verify off spool password_&1..sql select 'alter user ' || t1.username || ' identified by values ''' || t2.password || ';' || t2.spare4 || ''';' from dba_users t1 inner join sys.user$ t2 on t2.name=t1.username where t1.username='&1'; spool off