Ola,Neste mes de Marco/2017, a Oracle disponibilizou para download o Oracle 12c R2. Muitas caracteristicas foram adicionadas desde o lancamento do Oracle 12c R1 conforme a documentacao. Dentre algumas new features do Oracle 12c R2, podemos citar, por exemplo, o aumento da capacidade de criacao de pluggable databases de 252 na Release 1 para 4096 na Release 2 e o aumento do tamanho maximo dos nomes de varios tipos de objetos e identificadores de 30 bytes para 128 bytes. Segue algumas outras caracteristicas interessantes dessa nova release.Shared Undo e Local UndoLocal TEMP TablespacesSQL*Plus Command HistoryOnline Table Move where tables can be moved as an online operation without blocking any concurrent DML operationsOracle Database ShardingPDB Character SetFlashback Pluggable DatabaseNear Zero Downtime PDB RelocationPDB Hot CloningOnline conversion of a nonpartitioned table to a partitioned tableApplication Containers Ola, Por padrao, quando criamos um banco de dados no Oracle, o numero maximo de arquivos de dados (datafiles) que o mesmo pode suportar e 100. Essa informacao fica armazenada no arquivo de controle (control file). Ate o Oracle 8 quando esse limite era atingido o erro "ORA-1118: cannot add any more data files: limit of % exceeded" era emitido informando que nao era mais possivel adicionar novos datafiles. Para corrigir esse problema o control file deveria ser recriado de forma que o valor MAXDATAFILES fosse incrementado. A partir do Oracle 8i foi eliminado a necessidade de recriacao do control file, bastando apenas setar o parametro de inicializacao DB_FILES (valor padrao e 200) com um novo valor. Neste caso, o control file se expandira automaticamente para acomodar novos registros dentro de suas secoes. Vale a pena salientar que este parametro nao e dinamico, ou seja, o banco de dados precisa ser reinicializado apos a alteracao no mesmo. Caso o valor de DB_FILES seja atingido, o erro "ORA-00059: maximum number of DB_FILES exceeded" sera emitido. Para simular o erro ORA-00059, irei recriar o control file setando MAXDATAFILES com um valor menor, bem como o parametro DB_FILES. Portanto, segue abaixo uma simulacao.$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.3.0 Production on Mon Nov 7 10:06:11 2016Copyright (c) 1982, 2011, Oracle. All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - ProductionWith the Partitioning optionSQL> alter database backup controlfile to trace as '/tmp/controlfile.sql';Database altered.SQL> STARTUP NOMOUNT;ORACLE instance started.Total System Global Area 627732480 bytesFixed Size 1346756 bytesVariable Size 117441340 bytesDatabase Buffers 503316480 bytesRedo Buffers 5627904 bytesSQL> CREATE CONTROLFILE REUSE DATABASE "BD01" NORESETLOGS ARCHIVELOG 2 MAXLOGFILES 16 3 MAXLOGMEMBERS 3 4 MAXDATAFILES 5 5 MAXINSTANCES 8 6 MAXLOGHISTORY 292 7 LOGFILE 8 GROUP 1 '/oradata/BD01/redo01.log' SIZE 50M BLOCKSIZE 512, 9 GROUP 2 '/oradata/BD01/redo02.log' SIZE 50M BLOCKSIZE 512, 10 GROUP 3 '/oradata/BD01/redo03.log' SIZE 50M BLOCKSIZE 512 11 DATAFILE 12 '/oradata/BD01/system01.dbf', 13 '/oradata/BD01/sysaux01.dbf', 14 '/oradata/BD01/undotbs01.dbf', 15 '/oradata/BD01/users01.dbf' 16 CHARACTER SET WE8MSWIN1252;Control file created.SQL> RECOVER DATABASE;ORA-00283: recovery session canceled due to errorsORA-00264: no recovery requiredSQL> ALTER DATABASE OPEN;Database altered.SQL> ALTER TABLESPACE TEMP ADD TEMPFILE '/oradata/BD01/temp01.dbf' SIZE 20971520 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;Tablespace altered.Como demonstrado acima, eu recriei o control file com o valor de MAXDATAFILES igual a 5. Logo abaixo irei setar o valor