Alterando nome de uma Instância XE

Bom dia.

Semana passada recebi um Email de um usuário do Oracle Home , me questionando se era possível alterar o nome da instancia XE.

Creio que ele tenha Lido meus dois post’s sobre isso. “Via NID” e “Via Controlfile

Respondi a ele de Bate Pronto. “Nunca tentei, até porque acredito que este nome já esteja atrelado ao nome da Instância, por exemplo, Ao instalar o OracleXE você não tem como definir um nome de instancia, já vem por padrão como XE”

Mesmo assim me disponibilizei a fazer o teste. O tempo passou e devido a correria acabei me esquecendo.

Hoje o usuário me questionou se eu havia testado, e então resolvi testar, para sanar sua duvida, e a minha também.

Baixei o OracleXE, instalei o mesmo em minha maquina e setei as variáveis de ambiente de meu windows conforme deveria ser para apontar ao XE.


C:\Users\Lana>set Path=C:\Perl64\site\bin;C:\Perl64\bin;C:\oraclexe\app\oracle\product\11.2.0\server\bin;C:\oraclexe\app\oracle\product\11.2.0\server;
C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Broadcom\Broadcom 802.11\Driver;C
:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\binPATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

C:\Users\Lana>set ORACLE_HOME=C:\oraclexe\app\oracle\product\11.2.0\server

C:\Users\Lana>set tns_admin=C:\oraclexe\app\oracle\product\11.2.0\server\

C:\Users\Lana>sqlplus

SQL*Plus: Release 11.2.0.2.0 Production on Qua Jul 4 09:27:11 2012

Copyright (c) 1982, 2010, Oracle. All rights reserved.

Informe o nome do usußrio: / as sysdba

Conectado a:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production

SQL> select name from v$database;

NAME
---------
XE

SQL> select open_mode from v$database;

OPEN_MODE
--------------------
READ WRITE

Ótimo, Variáveis corretas vamos ao teste.


C:\Users\Lana>sqlplus

SQL*Plus: Release 11.2.0.2.0 Production on Qua Jul 4 09:27:11 2012

Copyright (c) 1982, 2010, Oracle. All rights reserved.

Informe o nome do usußrio: / as sysdba

Conectado a:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production

SQL> select name from v$database;

NAME
---------
XE

SQL> select open_mode from v$database;

OPEN_MODE
--------------------
READ WRITE

SQL> shutdown immediate;
Banco de dados fechado.
Banco de dados desmontado.
InstΓncia ORACLE desativada.

SQL> startup nomount;
InstΓncia ORACLE iniciada.

Total System Global Area 1071333376 bytes
Fixed Size 1388352 bytes
Variable Size 620757184 bytes
Database Buffers 444596224 bytes
Redo Buffers 4591616 bytes

SQL> alter database mount;

Banco de dados alterado.

SQL> exit

Vou altera-lo via NID conforme já dito aqui no oraclehome.com.br


C:\Users\Lana>nid TARGET=sys/leolana@xe dbname=lana SETNAME=YES

DBNEWID: Release 11.2.0.2.0 - Production on Qua Jul 4 09:43:26 2012

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

Conectado ao banco de dados XE (DBID=2668862636)

Conectado ao servidor versπo 11.2.0

Arquivos de Controle no banco de dados:
 C:\ORACLEXE\APP\ORACLE\ORADATA\XE\CONTROL.DBF

Alterar o nome do banco de dados XE para LANA? (S/[N]) => Y

Continuando com a operaτπo
Alterando nome do banco de dados de XE para LANA
 Arquivo de Controle C:\ORACLEXE\APP\ORACLE\ORADATA\XE\CONTROL.DBF - modificado
 Arquivo de dados C:\ORACLEXE\APP\ORACLE\ORADATA\XE\SYSTEM.DB - novo nome escrito
 Arquivo de dados C:\ORACLEXE\APP\ORACLE\ORADATA\XE\UNDOTBS1.DB - novo nome escrito
 Arquivo de dados C:\ORACLEXE\APP\ORACLE\ORADATA\XE\SYSAUX.DB - novo nome escrito
 Arquivo de dados C:\ORACLEXE\APP\ORACLE\ORADATA\XE\USERS.DB - novo nome escrito
 Arquivo de dados C:\ORACLEXE\APP\ORACLE\ORADATA\XE\TEMP.DB - novo nome escrito
 Arquivo de Controle C:\ORACLEXE\APP\ORACLE\ORADATA\XE\CONTROL.DBF - escreveu novo nome
 InstΓncia desativada

Nome do banco de dados alterado para LANA.
Modifique o arquivo de parΓmetros e gere um novo arquivo de senha antes de reiniciar.
Nome do banco de dados alterado com sucesso.
DBNEWID - Concluφdo com sucesso.

Fiz uma pausa aqui por dois motivos.

1) quando o NID fizer esta pergunta “Alterar o nome do banco de dados XE para LANA? (S/[N])”  Observe que ele pergunta S ou N e eu coloquei Y.

Não sei por que ele não funciona com o “S”, creio que seja alguma variável de linguagem da maquina (oracle em PT-BR minha maquina em Inglês-EUA) Aliais Quem entender BEM sobre essas variáveis sugiro escrever pra nós. Existem milhares de DBA’s que se perdem sobre essas variáveis.

Observem o erro quando aperto “S”


Alterar o nome do banco de dados XE para LANA? (S/[N]) => S

Operaτπo cancelada por solicitaτπo do usußrio
 InstΓncia desativada

Banco de dados estß intacto - banco de dados estß pronto para ser aberto ou desativado.
DBNEWID - Cancelado.

2) Após efetuar o NID vocês terão que corrigir o INIT.ORA apontando corretamente para os locais que vocês desejam.

Voltando ao assunto.


SQL> startup pfile='C:\oraclexe\app\oracle\product\11.2.0\server\dbs\init.ora'
InstΓncia ORACLE iniciada.

Total System Global Area 1071333376 bytes
Fixed Size 1388352 bytes
Variable Size 620757184 bytes
Database Buffers 444596224 bytes
Redo Buffers 4591616 bytes
Banco de dados montado.
Banco de dados aberto.
SQL> select name from v$database;

NAME
---------
LANA

SQL> select open_mode from v$database;

OPEN_MODE
--------------------
READ WRITE

Então esta ai Julio. (Não sei se era de seu interesse em por seu nome no post então vou apenas lhe chamar de Julio.)

Diferentemente do que eu havia lhe dito, é sim possível mudar o nome de uma Instância XE.

%name Alterando nome de uma Instância XE

Autor: Leandro Lana

Trabalho com banco de dados Oracle desde 2006, já trabalhei com as plataformas 9i, 10G, 11G, 12C, 18C, 19C e 21(ainda em testes).

Trabalhando atualmente como consultor Oracle na MigraTI Soluções em TI como administrador de banco de dados Oracle, SQL-Server, MySQL e Postgresql.

Contato: leandro.lana@migrati.com.br

Fone: (47) 9191-6052 / (47) 3328 0996

Certificações:

OCA 10G.

OCP 10G.

OCE Linux.

OCE RAC/Cluster.

MCP SQL-Server 2008.

MCITP SQL-Server 2008.

DB2 Fundamentals.