Há certos momentos em que precisamos criar uma nova instância ORACLE em ambiente Windows devido ao fato de, por exemplo, das ferramentas de criação não funcionarem corretamente, etc.
Podemos atingir este objetivo da seguinte forma.
Criando uma instância com nome RMATOS
Primeiro passo definir a variável ORACLE_SID e BASE
SET ORACLE_SID=RMATOS
SET ORACLE_BASE=c:\oracle
SET ORACLE_HOME=C:\oracle\product\10.2.0\db_1
No caso do banco RMATOS a ser criado, seria:
ORACLE_BASE\oradata\RMATOS
Os arquivos de inicialização do banco ficarão em C:\oracle\product\10.2.0\admin\RMATOS
Podemos criar ou, como neste caso, editar um arquivo de inicialização já existente para que atenda as necessidades do novo banco a ser criado.
initRMATOS.ora
Além das questões de inicialização como SGA, o importante é definirmos os diretórios referenciados pelo nome do banco para que na hora do start não tenhamos erros que deverão ser analizados pelo arquivo alert em bdump.
Para ver os arquivos de inicialização Clique AQUI
Agora que temos o arquivo de inicialização, configuramos as variáveis necessárias e temos um nome para o SID, vamos criar a instância que, como pode ser visto, ainda não existe.
Para criar uma instância como o nome RMATOS utiliza-se o comando:
ORADIM -NEW -SID RMATOS -SYSPWD rogeriomatos -STARTMODE AUTO -PFILE C:\oracle\product\10.2.0\db_1\database\initRMATOS.ora
O comando INTPWD é utilizado pelo ORACLE para criar o arquivo de senhas utilizado pelo banco. Neste caso não a utilizamos e sim a opção -SYSPWD definine a senha do SYS
Agora que executamos o comando com ORADIM podemos verificar no "services" do Windows a instância OracleServiceRMATOS criada.
Agora podemos conectar a instância com usuário através do SQLPLUS Caso tenhamos um usuário do sistema operacional logado poderemos utilizar o comando abaixo para nos conectarmos.
sqlplus/nolog
conn / as sysdba
startup nomount.
Create tablespace "TBSROGERIO01" datafile "C:\oracle\oradata\dtf1.dbf" size 100M.
Será criado então a tablespace TBSRMATOS01 com o arquivo dtf1.dbf neste diretório e poderemos conferir isso em comandos de verificação como SELECT NAME FROM V$TABLESPACES.
Até a próxima!!!