domingo, 19 de abril de 2009

ORACLE - CRIAR BANCO MANUALMENTE NO WINDOWS COM ORADIM

Ambiente : Windows 2003 Server / Oracle 10g (funciona também com 9i)

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 file system devemos criar uma estrutura física para o banco a ser criado, e podemos nos basear no padrão ORACLE.
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





Criar arquivo de inicialização init
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

Criando a istância com ORADIM


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.


Conectando ao ORACLE

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.

Uma vez iniciada neste modo poderemos utilizar os comandos básicos para a criação de um banco de dados, no caso, já existe um arquivo CBANCO.SQL com os comandos para a criação referenciando os arquivos de controle e dados no ORACLE_BASE\ORADATA. Apenas então direcionamos o comando da seguinte forma: SQL> @C:\Scripts\CBANCO.SQL onde "Scripts" é o diretório onde o arquivo fora armazenado



Podemos ver agora que o banco foi criado com sucesso e então poderemos criar as tablespaces, datafiles, etc. relacionadas a este banco.







Podemos por exemplo executar o comando

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.



Como pode ser verificar no diretório ORACLE_BASE\ORADATADA\RMATOS os arquivos referentes ao banco de dados foram criados e o banco está no ar onde já conseguimos criar uma tablespace e selecioná-la em um select simples.

Até a próxima!!!

2 comentários:

  1. Ola Rogério ..
    Seja Bem vindo ao mundo dos blogueiros !!!

    Abraços
    Kenia

    ResponderExcluir
  2. Rogerio

    Muito bom seu artigo. Sou iniciante no Oracle e me ajudou muito. Obrigado pelas informações complementares. Quanto ao "Standard ou Enterprise" vou fazer teste com elas e aplicar no estudo que estou fazendo atualmente, se você tiver tempo de uma olhada em: http://sites.google.com/site/artwebdb/Home no item: Acessando Banco de Dados - Mysql e Postgresql. Agora estou aplicando a mesma metodologia com o Oracle para tentar demonstrar de forma prática a questão do uso de "Esquemas Middeware" para acesso a dados.

    Abraço
    Sergio

    ResponderExcluir

Seguidores