O que percebo, sempre que preciso fazer algo novo no Oracle, é que tudo é sempre muito bem documentado. O "Oracle Database SQL Reference" é sem dúvida o mais completo que conheço. Mesmo assim, vou procurar resumir em poucas linhas como realizar algumas tarefas simples, mas que nos tomam muito tempo quando não dominamos o Oracle.
A primeira delas, como o título desse post sugere, é como alterar o caminho de um arquivo de dados do Oracle. Mas por quê alguém precisaria alterar o caminho de um arquivo de dados do Oracle?
Por diversos motivos. Para liberar espaço, para distribuir os arquivos, ou para organizar os dados, não sei. Mas se precisar, é assim que faz:
- Pra começar, precisamos saber o nome completo do arquivo que vai mover e a qual tablespace ele pertence. Como tudo em Oracle, conseguimos listar todos os arquivos de dados do banco e seus respectivos tablespaces com uma consulta SQL:
SELECT FILE_NAME, TABLESPACE_NAME FROM DBA_DATA_FILES - Com essas informações, devemos alterar o estado do tablespace para 'offline' com o seguinte comando SQL:
ALTER TABLESPACE TS_DADOS OFFLINE - Depois, precisamos mover o arquivo em questão para sua nova pasta (acredito que isso, todos que estejam lendo esse post sabem fazer)
- Só então, executamos o SQL para renomear logicamente o arquivo de dados no banco:
ALTER TABLESPACE TS_DADOS RENAME DATAFILE 'C:\ORACLEXE\ORADATA\XE\TS_DADOS01.DBF' TO 'E:\DATABASES\ORADATA\XE\TS_DADOS01.DBF' - Por último, tornamos o tablespace 'online' novamente:
ALTER TABLESPACE TS_DADOS ONLINE
Neste exemplo, usamos caminhos Windows, e o nome do tablespace é TS_DADOS. Mas isso funciona da mesma forma para servidores UNIX e outros tablespaces de dados.
IMPORTANTE: Uma maldição cairá sobre sua cabeça se você tentar alterar os tablespaces de sistema (SYSAUX, UNDO e SYSTEM). Um dia, quando eu fizer o meu curso de DBA Oracle, eu explico o porquê. Até lá, evitem de fazer isso.
Nenhum comentário:
Postar um comentário