Estou tentando clonar nosso banco de dados de produção na máquina virtual de teste. Nosso banco de dados de produção funciona com ASM. Eu gostaria de usar o sistema de arquivos simples no banco de dados de teste.
Criei banco de dados, serviços, pfile etc. Forneci arquivos de controle de banco de dados de produção para testar o banco de dados. No momento, estou tentando renomear arquivos de dados no banco de dados de teste. Eu recebo o seguinte erro.
SQL> startup mount;
.....
SQL> alter database rename file '+NEWDATA/XX/XX01.dbf' to 'M:\oracle\datafiles\XX\XX01.dbf'; alter database rename file
'+NEWDATA/XX/XX01.dbf' to 'M:\oracle\datafiles\XX\XX01.dbf';
* ERROR at line 1: ORA-01511: error in renaming log/data files ORA-01141: error renaming data file 162 - new file
'M:\oracle\datafiles\XX\XX01.dbf' not found ORA-01110: data file 162:
'+NEWDATA/XX/XX01.dbf' ORA-27046: file size is not a multiple of
logical block size OSD-04012: file size mismatch O/S-Error: (OS 4) The
system cannot open the file.
Meu backup são peças de backup rman normais, não backup como cópia. Estou tentando renomear arquivos inexistentes. Após esse processo de renomeação, tentarei restaurar o banco de dados do backup rman. Mas esse backup não é uma cópia peça por peça.
Você escreveu:
Então este não é o método para fazer isso. Para usar ALTER DATABASE RENAME FILE, o arquivo já deve existir no novo local. Em vez disso, você pode (e deve) lidar com isso no RMAN:
O que você já fez, então:
E execute o seguinte:
Ao renomear o arquivo de dados, você deve primeiro movê-lo para o novo local.
ALTER DATABASE RENAME FILE
comando não move o arquivo. Ele apenas altera o registro do arquivo no arquivo de controle. Mas o arquivo de destino deve existir.Renomear e realocar arquivos de dados
Ao renomear seus arquivos de dados, você deve satisfazer as seguintes condições normalmente.
Minha condição satisfaz a primeira. O banco de dados está no estágio de montagem. Mas quando tento renomear arquivos de dados, ele solicita file. Não tenho o arquivo correto, pois tentarei restaurá-lo a partir do backup. Mas o oracle só pede o tamanho correto do arquivo (ORA-27046: o tamanho do arquivo não é um múltiplo do tamanho do bloco lógico). Este arquivo não precisa ser o arquivo correto. Portanto, crie um arquivo fictício com tamanho correto, múltiplo do tamanho do bloco . Como conseguir isso.
no windows use powershell
no windows fsutil
no Linux
Depois de criar o arquivo, você pode usar o comando normal alter database rename.