Oracle conversione piattaforma

Da Emigar.
Jump to navigation Jump to search
#!/bin/sh

ORACLE_SID=$1
ORAENV_ASK=NO
export ORACLE_SID ORAENV_ASK
. oraenv
unset ORAENV_ASK

mkdir -p /transito/es40/${ORACLE_SID}/


sqlplus '/ as sysdba' << EOF
shutdown immediate;
startup
alter system checkpoint;
shutdown immediate;
startup mount;
alter database open read only;
-- select * from V\$TRANSPORTABLE_PLATFORM;
set serveroutput on
declare
    db_ready boolean;
  begin
    /* db_ready is ignored, but with SERVEROUTPUT set to ON any 
     * conditions preventing transport will be output to console */
    db_ready := dbms_tdb.check_db('Linux x86 64-bit', dbms_tdb.skip_none);
  end;
/
EOF

rman target / nocatalog << EOF
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET;
CONVERT DATABASE NEW DATABASE '${ORACLE_SID}'
        transport script '/transito/es40/${ORACLE_SID}/${ORACLE_SID}.sql'
        to platform 'Linux x86 64-bit'
	format '/transito/es40/${ORACLE_SID}/%U';
EOF


#!/bin/sh

ORACLE_SID=$1
ORAENV_ASK=NO
export ORACLE_SID ORAENV_ASK
. oraenv
unset ORAENV_ASK

umask 000
mkdir -p /transito/${ORACLE_SID}/datafiles/

sqlplus '/ as sysdba' << EOF
shutdown immediate;
startup mount;
alter database open read only;
EOF

rman target / nocatalog << EOF
CONFIGURE DEVICE TYPE DISK PARALLELISM 8 BACKUP TYPE TO BACKUPSET;
CONVERT DATABASE
 NEW DATABASE '${ORACLE_SID}'
 TRANSPORT SCRIPT '/transito/${ORACLE_SID}/transportscript.sql'
 TO PLATFORM 'Linux x86 64-bit'
 DB_FILE_NAME_CONVERT
 '/disk1/${ORACLE_SID}_DB/' '/transito/${ORACLE_SID}/'
 '/disk2/${ORACLE_SID}_DB/' '/transito/${ORACLE_SID}/'
;
EOF