Criação de Base de dados
Premissas
ORACLE_HOME é o caminho de instalação do Oracle, normalmente no Windows é C:\oracle\ora92\.
ORA_SID ou ORACLE_SID é a mesma coisa, faz referência a instância que será utilizada.
Leia-se DB1WORK no lugar de <sid>.
1º Passo – Criando o pfile
A partir de uma instância ativa crie um novo pfile copie e renomeie o arquivo para %ORACLE_HOME%\database\init<sid>.ora
No novo arquivo substitua todas as referências da outra instância para o seu novo SID, ou seja, db_name, instance_name, control_files, etc. Veja aqui um exemplo como o arquivo ficará.
2º Passo – criando Estruturas de Diretórios
É necessário criar os diretórios básicos para os processos de background. Crie-os com o nome do SID nos seguintes caminhos:
%ORACLE_HOME%\oradata\<sid>
%ORACLE_HOME%\admin\<sid>
%ORACLE_HOME%\admin\<sid>\bdump
%ORACLE_HOME%\admin\<sid>\cdump
%ORACLE_HOME%\admin\<sid>\udump
Certifique-se que o usuário do Sistema Operacional que irá criar o banco de dados tenha permissão de escrita nesses diretórios.
3º Passo – Criando Serviço
Crie um serviço para o novo banco de dados, no Windows este passo é fundamental. Vá até o prompt de comando do windows e, faça-o da seguinte maneira:
set oracle_sid=<sid>
oradim -new -sid <sid> -intpwd nive
Muitos tutoriais omitem este procedimento mas, no Windows sem o Serviço Oracle relacionado a nova instância não é possível conectar a instância inativa, ou seja, impossibilitando a criação do banco.
4º Passo – Conectando Instância Inativa
set oracle_sid=<sid>sqlplus “/ as sysdba”
Já no SQLPlus, após conectar na instância faça o STARTUP no modo NOMOUNT.
startup nomount pfile=”%ORACLE_HOME%\database\init<sid>.ora”
É possível iniciar uma instância nos modos NOMOUNT, MOUNT, OPEN, RESTRICT, RECOVER e FORCE.
NOMOUNT - Inicia a instância mas não monta o banco de dados.
MOUNT – Inicia a instância e monta o banco de dados mas não abre.
OPEN – Inicia a instãncia, monta e abre o banco de dados.
RESTRICT – Inicia a instância, monta e abre o banco de dados, permitindo conexão de usuários apenas que tenham o previlégio de session restrict.
RECOVER – Inicia a instância, deixa o banco de dados fechado para inicio de recuperação de falhas.
FORCE – Em caso de problemas para iniciar e parar o banco de dados, esse modo força o SHUTDOWN ABORT e em seguida STARTUP OPEN.
5º Passo – Criando o Banco de Dados
CREATE DATABASE DB1WORK CONTROLFILE REUSELogfileGroup 1 (‘c:/oracle/admin/DB1WORK/bdump/log01a.log’,‘c:/oracle/admin/DB1WORK/bdump/log01b.log’) size 50M,Group 2 (‘c:/oracle/admin/DB1WORK/bdump/log02a.log’,‘c:/oracle/admin/DB1WORK/bdump/log02b.log’) size 50MDATAFILE ‘c:/oracle/oradata/DB1WORK/system1.dbf’ size 250MAUTOEXTEND ON MAXSIZE 50MUNDO TABLESPACE UNDOTBS2DATAFILE ‘c:/oracle/oradata/DB1WORK/undo1.dbf’ size 50MDEFAULT TEMPORARY TABLESPACE DB1WORK1TEMP TEMPFILE ‘c:/oracle/oradata/DB1WORK/mydb1temp1.dbf’ size 75MMAXLOGFILES 32MAXLOGHISTORY 1MAXDATAFILES 500;
6º Passo – Finalizando
Após criar o banco de dados basta executar os scripts abaixo:
Criação do dicionário de dados, views e sinonimos de sistema.
@%ORACLE_HOME%/rdbms/admin/catalog.sql
Executa todos os scripts usados em Pl/Sql
@%ORACLE_HOME%/rdbms/admin/catproc.sql
@%ORACLE_HOME%/sqlplus/admin/pupbld.sql