terça-feira, 22 de fevereiro de 2011

Como mudar o nome de um banco de dados - ORACLE

Nas atividades diárias do DBA algumas vezes ele poderá ter a necessidade de “renomear” um banco de dados.
Neste artigo estarei apresentando os passos necessários para realizar a mudança do nome do banco de dados:

1. Fazer um Backup do banco de dados
2. Baixar o banco de dados, que será renomeado, utilizar o comando “SHUTDOWN IMMEDIATE;”
3. Montar o banco de dados, utilizar o comando “STARTUP MOUNT;”
a. Se o banco de dados estiver configurado para a utilização de “pfiles” (arquivo de inicialização – init.ora) ao invés de “spfiles” deve incluir o caminho absoluto para a montagem do banco de dados
b. Utilizar o comando “STARTUP PFILE=// MOUNT;“
4. Executar o utilitário NID, para renomear o banco de dados, utilizar um usuário que possua privilégios de “SYSDBA”;
a. Sintaxe: $ORACLE_HOME/bin/nid TARGET=SYS/password@test_db DBNAME= SETNAME=Y
b. Onde o valor de DBNAME será o novo nome do banco de dados;
c. E o valor do parâmetro SETNAME deverá ser igual a “Y” para realizar a alteração do nome do banco. O valor “default” é “N” para evitar alterações indesejáveis;
5. Baixar o banco após a alteração do banco de dados, utilizar “SHUTDOWN IMMEDIATE;” ;
6. Altera o valor do parâmetro DB_NAME, para o “novo nome do banco de dados, esta alteração deverá ser executada no arquivo “init.ora” se o banco estiver configurado para a utilização de “pfiles”
7. Criar um novo arquivo de senhas, para conexão interna “SYSDBA”, utilizar o utilitário “orapwd”;
8. Levantar o banco de dados se utilizar a opção “RESETLOGS”.

Abaixo segue um exemplo das atividades descritas acima.

# INÍCIO DA ATIVIDADE

[oracle@oraprd ~]$ export ORACLE_SID=PRD
[oracle@oraprd ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.4.0 - Production on Fri Oct 3 18:17:25 2008
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup mount
ORACLE instance started.
Total System Global Area 1862270976 bytes
Fixed Size 2073568 bytes
Variable Size 436210720 bytes
Database Buffers 1409286144 bytes
Redo Buffers 14700544 bytes
Database mounted.

SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options

[oracle@oraprd ~]$ echo $ORACLE_HOME
/oracle/10.2.0/db

[oracle@oraprd ~]$ echo $ORACLE_SID
PRD

# COMANDO A SER EXECUTADO NO PROMPT DO SISTEMA OPERACIONAL

[oracle@oraprd ~]$ $ORACLE_HOME/bin/nid TARGET=SYS/manager. DBNAME=prod SETNAME=Y


# RESULTADO DA EXECUÇÃO

DBNEWID: Release 10.2.0.4.0 - Production on Fri Oct 3 18:18:38 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to database PRD (DBID=3821473676)
Connected to server version 10.2.0

Control Files in database:
/ora_data/prod/control01.ctl
/ora_data/prod/control02.ctl
/ora_data/prod/control03.ctl

Change database name of database PRD to prod? (Y/[N]) => Y

Proceeding with operation
Changing database name from PRD to prod
Control File /ora_data/prod/control01.ctl - modified
Control File /ora_data/prod/control02.ctl - modified
Control File /ora_data/prod/control03.ctl - modified
Datafile /ora_data/prod/system01.dbf - wrote new name
Datafile /ora_data/prod/undotbs1_01.dbf - wrote new name
Datafile /ora_data/prod/sysaux01.dbf - wrote new name
Datafile /ora_data/prod/undotbs2_01.dbf - wrote new name
Datafile /ora_data/prod/users01.dbf - wrote new name
Datafile /ora_data/prod/prod_data01.dbf - wrote new name
Datafile /ora_data/prod/prod_data02.dbf - wrote new name
Datafile /ora_data/prod/prod_data03.dbf - wrote new name
Datafile /ora_data/prod/prod_data04.dbf - wrote new name
Datafile /ora_data/prod/prod_data05.dbf - wrote new name
Datafile /ora_data/prod/prod_data06.dbf - wrote new name
Datafile /ora_data/prod/prod_data07.dbf - wrote new name
Datafile /ora_data/prod/prod_data08.dbf - wrote new name
Datafile /ora_data/prod/prod_data09.dbf - wrote new name
Datafile /ora_data/prod/prod_data10.dbf - wrote new name
Datafile /ora_data/prod/prod_data11.dbf - wrote new name
Datafile /ora_data/prod/prod_data12.dbf - wrote new name
Datafile /ora_data/prod/prod_data13.dbf - wrote new name
Datafile /ora_data/prod/prod_data14.dbf - wrote new name
Datafile /ora_data/prod/prod_data16.dbf - wrote new name
Datafile /ora_data/prod/prod_data15.dbf - wrote new name
Datafile /ora_data/prod/prod_data17.dbf - wrote new name
Datafile /ora_data/prod/prod_data18.dbf - wrote new name
Datafile /ora_data/prod/prod_data19.dbf - wrote new name
Datafile /ora_data/prod/prod_data20.dbf - wrote new name
Datafile /ora_data/prod/prod_data21.dbf - wrote new name
Datafile /ora_data/prod/prod_indx01.dbf - wrote new name
Datafile /ora_data/prod/prod_indx02.dbf - wrote new name
Datafile /ora_data/prod/prod_indx03.dbf - wrote new name
Datafile /ora_data/prod/prod_indx04.dbf - wrote new name
Datafile /ora_data/prod/prod_indx05.dbf - wrote new name
Datafile /ora_data/prod/prod_indx06.dbf - wrote new name
Datafile /ora_data/prod/prod_indx07.dbf - wrote new name
Datafile /ora_data/prod/prod_indx08.dbf - wrote new name
Datafile /ora_data/prod/prod_indx09.dbf - wrote new name
Datafile /ora_data/prod/prod_indx10.dbf - wrote new name
Datafile /ora_data/prod/prod_indx11.dbf - wrote new name
Datafile /ora_data/prod/prod_indx12.dbf - wrote new name
Datafile /ora_data/prod/prod_indx13.dbf - wrote new name
Datafile /ora_data/prod/prod_indx14.dbf - wrote new name
Datafile /ora_data/prod/prod_indx15.dbf - wrote new name
Datafile /ora_data/prod/prod_indx16.dbf - wrote new name
Datafile /ora_data/prod/prod_indx17.dbf - wrote new name
Datafile /ora_data/prod/prod_indx18.dbf - wrote new name
Datafile /ora_data/prod/prod_indx19.dbf - wrote new name
Datafile /ora_data/prod/prod_indx20.dbf - wrote new name
Datafile /ora_data/prod/prod_indx21.dbf - wrote new name
Datafile /ora_data/prod/prod_indx22.dbf - wrote new name
Datafile /ora_data/prod/prod_indx23.dbf - wrote new name
Datafile /ora_data/prod/prod_indx24.dbf - wrote new name
Datafile /ora_data/prod/prod_indx25.dbf - wrote new name
Datafile /ora_data/prod/prod_indx26.dbf - wrote new name
Datafile /ora_data/prod/prod_lob01.dbf - wrote new name
Datafile /ora_data/prod/sir_data01.dbf - wrote new name
Datafile /ora_data/prod/logcarga01.dbf - wrote new name
Datafile /ora_data/prod/logcarga02.dbf - wrote new name
Datafile /ora_data/prod/xxprod_data01.dbf - wrote new name
Datafile /ora_data/prod/undotbs2_02.dbf - wrote new name
Datafile /ora_data/prod/undotbs1_02.dbf - wrote new name
Datafile /ora_data/prod/undotbs3_01.dbf - wrote new name
Datafile /ora_data/prod/undotbs3_02.dbf - wrote new name
Datafile /ora_data/prod/prod_indx27.dbf - wrote new name
Datafile /ora_data/prod/prod_indx28.dbf - wrote new name
Datafile /ora_data/prod/logcarga03.dbf - wrote new name
Datafile /ora_data/prod/prod_indx29.dbf - wrote new name
Datafile /ora_data/prod/prod_indx30.dbf - wrote new name
Datafile /ora_data/prod/xxprod_data02.dbf - wrote new name
Datafile /ora_data/prod/prod_data22.dbf - wrote new name
Datafile /ora_data/prod/prod_data23.dbf - wrote new name
Datafile /ora_data/prod/prod_data24.dbf - wrote new name
Datafile /ora_data/prod/prod_data25.dbf - wrote new name
Datafile /ora_data/prod/prod_indx31.dbf - wrote new name
Datafile /ora_data/prod/prod_indx32.dbf - wrote new name
Datafile /ora_data/prod/prod_indx33.dbf - wrote new name
Datafile /ora_data/prod/prod_indx34.dbf - wrote new name
Datafile /ora_data/prod/logcarga04.dbf - wrote new name
Datafile /ora_data/prod/prod_data26.dbf - wrote new name
Datafile /ora_data/prod/prod_indx35.dbf - wrote new name
Datafile /ora_data/prod/prod_data27.dbf - wrote new name
Datafile /ora_data/prod/prod_data28.dbf - wrote new name
Datafile /ora_data/prod/prod_indx36.dbf - wrote new name
Datafile /ora_data/prod/prod_indx37.dbf - wrote new name
Datafile /ora_data/prod/prod_data29.dbf - wrote new name
Datafile /ora_data/prod/prod_indx38.dbf - wrote new name
Datafile /ora_data/prod/tele_data01.dbf - wrote new name
Datafile /ora_data/prod/prod_indx39.dbf - wrote new name
Datafile /ora_data/prod/prod_indx40.dbf - wrote new name
Datafile /ora_data/prod/prod_data30.dbf - wrote new name
Datafile /ora_data/prod/prod_indx41.dbf - wrote new name
Datafile /ora_data/prod/prod_data31.dbf - wrote new name
Datafile /ora_data/prod/prod_data32.dbf - wrote new name
Datafile /ora_data/prod/prod_data33.dbf - wrote new name
Datafile /ora_data/prod/prod_data34.dbf - wrote new name
Datafile /ora_data/prod/undotbs3_03.dbf - wrote new name
Datafile /ora_data/prod/undotbs3_04.dbf - wrote new name
Datafile /ora_data/prod/prod_data35.dbf - wrote new name
Datafile /ora_data/prod/prod_data36.dbf - wrote new name
Datafile /ora_data/prod/undotbs2_03.dbf - wrote new name
Datafile /ora_data/prod/logcarga05.dbf - wrote new name
Datafile /ora_data/prod/prod_indx42.dbf - wrote new name
Datafile /ora_data/prod/prod_data37.dbf - wrote new name
Datafile /ora_data/prod/prod_data38.dbf - wrote new name
Datafile /ora_data/prod/prod_indx43.dbf - wrote new name
Datafile /ora_data/prod/prod_indx44.dbf - wrote new name
Datafile /ora_data/prod/prod_indx45.dbf - wrote new name
Datafile /ora_data/prod/prod_data39.dbf - wrote new name
Datafile /ora_data/prod/prod_data40.dbf - wrote new name
Datafile /ora_data/prod/prod_indx46.dbf - wrote new name
Datafile /ora_data/prod/prod_indx47.dbf - wrote new name
Datafile /ora_data/prod/temp01.dbf - wrote new name
Control File /ora_data/prod/control01.ctl - wrote new name
Control File /ora_data/prod/control02.ctl - wrote new name
Control File /ora_data/prod/control03.ctl - wrote new name
Instance shut down

Database name changed to prod.
Modify parameter file and generate a new password file before restarting.
Succesfully changed database name.
DBNEWID - Completed succesfully.

Até a próxima,


Rubens Oliveira
DBA Oracle Consultor
olivert.dba@consultant.com