Nas versões anteriores do Oracle, para migrar e/ou renomear um datafile eram necessários uma série de passos. Exemplo: colocar a tablespace em READ ONLY
, alterar o datafile para offline, etc… A partir do 12cR1, um datafile pode ser renomeado ou movido online, simplesmente utilizando a instrução ALTER DATABASE MOVE DATAFILE
. Enquanto o datafile estiver sendo trasnferido, o usuário final pode executar consultas, e instruções DML e DDL sem problema. Além disso, os datafile podem ser migrados entre armazenamentos. Ex. migrar de não-ASM para ASM ou vice-versa.
Para os nossos testes, irei utilizar uma VM com o seguinte cenário:
- Disco 1 /dev/sda com 50Gb
- Disco 2 /dev/sdb com 5Gb -> asm-disk1
- Disco 3 /dev/sdc com 5Gb -> asm-disk2
- 3Gb RAM
- 5Gb SWAP
- Oracle Linux Server Release 6.4 x86_64
- Oracle Database 12c R1 (rodando com ASM)
– Criando uma tablespace nova e um novo datafile:
Mas olha só que bacana!!! Ele já faz a alteração no s.o., sem precisar aquela confusão toda… copia no s.o., altera no banco, blábláblá!
Mas como será que ele se porta no caso de ser um datafile da tbs SYSTEM por exemplo?
– Agora vamos migrar o nosso datafile criado para o ASM. Primeiro vamos verificar a localização atual de todos os datafiles:
– Migrando nosso datafile para o ASM:
Feitoria! Datafile migrado para o DG +DATA e nem rastro do mesmo no filesystem!! 😀
– Ao utilizar o parâmetro KEEP mantemos o datafile no local original e copiamos ele para um novo local. Movi o datafile novamente para o filesystem para facilitar a visualização:
Qual dos datafiles estamos utilizando afinal? O.o
Show! Mas o que acontece se tentarmos mover pra cima daquele arquivo que já existe?
Eita… mas pra resolver, utilizamos o parâmetro REUSE:
O progresso dessa movimentação de datafiles, no caso de demorar pois o datafile é muito grande, pode ser monitorada na v$session_longops. Além disso, podemos verificar no alert.log onde o Oracle deixa os detalhes das ações que estão sendo tomadas. Ex.:
Buenas… essa foi a primeira postagem a respeito das new-features do 12c R1, inclusive, uma das que achei mais bacana! Isso é uma mão na roda quando lota um disco por exemplo, ou é necessário uma migração de storage, etc…
Vitor, muito bom!
Agora preciso ver como funciona o pluggable database no 12C! Estes recursos facilitam muito a vida de nós, DBAs! A vida é muito dura conosco! rsrsrsrsrs
[]s
Fábio, tomei um laço pra fazer alguns dos posts sobre new features que virão, até pegar o conceito de que existe o user global, o user dos PDB, a conexão do PDB é externa, que podem ser criadas tbs em cada PDB e o outro não vai enxergar… BAH!!! Te falo em laço bonito… hehehe
Vou seguir a série de posts na sequência, pois já estou aproveitando pra estudar e fazer a prova de upgrade pro 12c. 🙂
Att
Vitor Jr
Vitor,
Ótima iniciativa.
Realmente as novas features são interessantes.
Um link interessante é a série de posts que o Syed (OCM Oracle) fez sobre as novas funcionalidades (são 4 até o momento).
Vale a visita: “http://allthingsoracle.com/oracle-database-12c-new-features-part-i/”
Ficou muito tranquilo em…. que beleza