No banco source logue e realize a consulta abaixa para confirmação que é possivel realizar o upgrade direto, pois dependendo do S.O a ser migrado é preciso realizar alguns passos a mais para conversão.
1 - Coloque no estado Mount o banco de dados source e faça um backup limpo.
C:\>sqlplus
/nolog
SQL> connect sys/senha@bdagnus as sysdba
Conectado.
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database open read only;
SQL> exit;
C:\>rman target sys/senha@bdagnus nocatalog
rman> 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 /nolog
SQL> connect sys/senha@bdagnus as sysdba
Conectado.
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 padrão 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 sessão no putty com usuario oracle e crie as pastas necessárias.
[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 /mnt
5- Inicie a Instância no modo nomount
[oracle@LXAGNUS ~] sqlplus / as sysdba
SQL> startup nomount pfile='/mnt/initbdagnus.ora';
5- Inicie a Instância no modo nomount
[oracle@LXAGNUS ~] sqlplus / as sysdba
SQL> 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 é composto por dois arquivos, o menor é 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; }
restore database;
switch datafile all;
recover database; }
9-Abrir o Banco de dados com resetlogs.
Rman > exit;
[oracle@LXAGNUS ~]sqlplus / as sysdba
SQL> Select member from v$logfile ;
MEMBER
---------------------------------
C:\APP\ALESSANDRO\ORADATA\BDAGNUS\ONLINELOG\REDO01.LOG
C:\APP\ALESSANDRO\ORADATA\BDAGNUS\ONLINELOG\REDO02.LOG
C:\APP\ALESSANDRO\ORADATA\BDAGNUS\ONLINELOG\REDO03.LOG
---------------------------------
C:\APP\ALESSANDRO\ORADATA\BDAGNUS\ONLINELOG\REDO01.LOG
C:\APP\ALESSANDRO\ORADATA\BDAGNUS\ONLINELOG\REDO02.LOG
C:\APP\ALESSANDRO\ORADATA\BDAGNUS\ONLINELOG\REDO03.LOG
SQL> 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.sql
12 - Aguardar a execução, a saida será 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
...
Após a execução o seu banco de dados foi migrado do 11g Windows para o Oracle 12C Linux.