No Post anterior (http://alecordeirosilva.blogspot.com.br/2015/02/instalacao-do-software-do-banco-de.html), foi apresentado a instalacao do software Oracle 12c no Linux, neste sera apresentado a migracao do banco 11g em Windows para o 12c.No banco source logue e realize a consulta abaixa para confirmacao que e possivel realizar o upgrade direto, pois dependendo do S.O a ser migrado e preciso realizar alguns passos a mais para conversao.1 - Coloque no estado Mount o banco de dados source e faca um backup limpo.C:\>sqlplus/nologSQL> connect sys/senha@bdagnus as sysdbaConectado.SQL> shutdown immediate;SQL> startup mount;SQL> alter database open read only;SQL> exit;C:\>rman target sys/senha@bdagnus nocatalogrman> run { allocate channel discozero type disk format'C:\BCK_AGNUS\BCK/%d%T_%s.bkp'; backup incremental level = 0 (database include current controlfile);}2-Criar um pfile para o banco de dados target.rman>exit;C:\>sqlplus /nologSQL> connect sys/senha@bdagnus as sysdbaConectado.SQL> create pfile='c:\BCK_AGNUS\initbdagnus.ora' from spfile;3- Configure o pfile e as pastas linux para restaurar o ControlFile.Edit o arquivo pfile para o padrao linux, como no exemplo abaixo:*.audit_file_dest='/u01/app/oracle/admin/cdbagnus/adump'*.control_files='/u01/app/oracle/oradata/cdbagnus/controlfile/control01.ctl'*.db_name='BDAGNUS'*.diagnostic_dest='/u01/app/oracle/'Abra uma sessao no putty com usuario oracle e crie as pastas necessarias.[oracle@LXAGNUS ~] cd /u01/app/oracle/[oracle@LXAGNUS ~] mkdir -p admin/cdbagnus/adump[oracle@LXAGNUS ~] mkdir -p oradata/cdbagnus/controlfile/4- Mount o compartilhamento do Windows para ter acesso aos backups.[root@LXAGNUS ~] mount -t cifs -o username=usuario,password=senha //192.168.56.1/bck_agnus /mnt5- Inicie a Instancia no modo nomount[oracle@LXAGNUS ~] sqlplus / as sysdbaSQL> startup nomount pfile='/mnt/initbdagnus.ora';6- Restore o ControlFile.Logue no Rman e restore o controlfile lendo o backup feito no Windows. O backup e composto por dois arquivos, o menor e o backup do controlfile.[oracle@LXAGNUS ~] rman target /RMAN> restore controlfile from '/mnt/BCKBDAGNUS20150210_47.BKP';RMAN> alter database mount;7-Catalogue o backup no servidor Linux.Rman> crosscheck backup;Rman> delete expired backup;Rman> Catalog start with '/mnt/bck_agnus/';8-Restaurar o Banco de dados.Rman > sql 'ALTER SYSTEM SET DB_CREATE_FILE_DEST="/u01/app/oracle/oradata/cdbagnus"';Rman > run {set newname for database to NEW; restore database; switch datafile all; recover database; }9-Abrir o Banco de dados com resetlogs.Rman > exit;[oracle@LXAGNUS ~]sqlplus / as sysdbaSQL> Select member from v$logfile ;MEMBER---------------------------------C:\APP\ALESSANDRO\ORADATA\BDAGNUS\ONLINELOG\REDO01.LOGC:\APP\ALESSANDRO\ORADATA\BDAGNUS\ONLINELOG\REDO02.LOGC:\APP\ALESSANDRO\ORADATA\BDAGNUS\ONLINELOG\REDO03.LOGSQL> alter database rename file 'C:\APP\ALESSANDRO\ORADATA\BDAGNUS\ONLINELOG\REDO01.LOG' TO '/u01/app/oracle/oradata/cdbagnus/onlinelog/redo01.log';SQL> alter database rename file 'C:\APP\ALESSANDRO\ORADATA\BDAGNUS\ONLINELOG\REDO02.LOG' TO '/u01/app/oracle/oradata/cdbagnus/onlinelog/redo02.log';SQL> alter database rename file 'C:\APP\ALESSANDRO\ORADATA\BDAGNUS\ONLINELOG\REDO03.LOG' TO '/u01/app/oracle/oradata/cdbagnus/onlinelog/redo03.log';SQL> alter database open resetlogs upgrade;10- Criar a tablespace Temp.SQL>create temporary tablespace temp2 tempfile '/u01/app/oracle/oradata/cdbagnus/oradata/TEMP.dbf' size 1G;SQL>ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp2;SQL>drop tablespace temp;SQL>ALTER TABLESPACE temp2 RENAME TO temp;11-Chamar o catupgrd para realizar o upgrade do Banco 11g para 12c. SQL> exit;[oracle@LXAGNUS ~]$ORACLE_HOME/perl/bin/perl catctl.pl -n 4 catupgrd.sql12 - Aguardar a execucao, a saida sera algo do tipo:Analyzing file catupgrd.sql Serial Phase #: 0 Files: 1 Time: 340s Serial Phase #: 1 Files: 3 Time: 147s Restart Phase #: 2 Files: 1 Time: 3s Parallel Phase #: 3 Files: 18 Time: 41s Restart Phase #: 4 Files: 1 Time: 0s ... Apos a execucao o seu banco de dados foi migrado do 11g Windows para o Oracle 12C Linux. Quantas vezes um DBA precisou criar um mais um Banco de Dados de teste ou atualizar os dados deste a partir de producao, pois os desenvolvedores nao consegue realizar seus testes no Banco de Dados de teste, porque este encontra-se muito defasado com de Producao.E comum em muitos sistemas, tem periodos onde e realizada varias atividade que identifica que mudou o periodo. E infelizmente para os desenvolvedores o banco de dados de teste encontra-se