Por que criar um banco de dados manualmente?
Apesar do assistente de criação de banco de dados do Oracle (DBCA) ser eficiente e de simples uso, existem situações onde a criação manual pode oferecer vantagens, por exemplo é possível utilizar os mesmo comandos em diversos servidores o que nos poupa o tempo da utilização do assistente.
.
Os itens a seguir exemplificam a criação um banco de dados manualmente em um ambiente Windows utilizando o prompt de comando, baseado na versão 10g do Oracle, com criação do esquema de exemplo “Scott”.
Os diretórios utilizados neste Manual estão apenas como exemplo, verifique sempre onde esta instalado o diretório de seu ORACLE_HOME e ORACLE_BASE.
1. Preparando arquivos necessários.
Essencialmente o software do Oracle 10g deve estar previamente instalado no ambiente Windows.
Com o software instalado você precisará criar em um diretório qualquer alguns arquivos que serão utilizados (um dos quais é opcional).
- o primeiro deve ser criado e nomeado como initnomedobanco.ora e neste devem conter os parâmetros de criação de seu banco de dados.
Exemplo de parâmetros necessários que devem constar no arquivo de inicialização:
db_name=nomedobanco
instance_name=nomedobanco
db_block_size=8192
db_cache_size=25165824
background_dump_dest=C:\oracle\product\10.2.0\admin\nomedobanco\bdump
core_dump_dest=C:\oracle\product\10.2.0\admin\nomedobanco\cdump
user_dump_dest=C:\oracle\product\10.2.0\admin\nomedobanco\udump
control_files=("C:\oracle\product\10.2.0\oradata\nomedobanco\control01.ctl", "C:\oracle\product\10.2.0\oradata\nomedobanco\CONTROL02.ctl",
"C:\oracle\product\10.2.0\oradata\nomedobanco\CONTROL03.ctl")
shared_pool_size=50331648
undo_management=AUTO
- o segundo arquivo que é opcional é o tnsnames.ora, em sua instalação padrão o Oracle já contém um diretório onde existe este arquivo, porém utilizaremos um novo arquivo tnsnames.ora neste manual. Nele deve conter os parêmetros de conexão com o banco de dados.
Exemplo de parâmetros necessários que devem constar no arquivo de conexão:
nomedobanco =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = nomedobanco)
)
)
- o terceiro arquivo será um script principal que iniciará seu banco de dados e fará as chamadas para os outros scripts, pode ter qualquer nome contanto que não contenha espaços e deve ter a extensão .sql.
Exemplo de script principal:
startup nomount
@@02_create_database.sql;
@@C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\catalog.sql;
@@C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\catproc.sql;
CONN SYSTEM/ORACLE
@@C:\oracle\product\10.2.0\db_1\sqlplus\admin\pupbld.sql
@@C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\scott.sql;
Neste exemplo o script instância o banco de dados com o comando startup nomount, chama um script que fará a criação do banco de dados (será detalhado mais adiante), executa os scripts catalog.sql e catproc.sql que são essenciais para um banco de dados pois estes dois criarão o dicionário do banco. O próximo script que também é padrão do Oracle, pupbld.sql fará a criação da tabela de sistema PRODUCT_USER_PROFILE que deve ser executada com o usuário SYSTEM do banco de dados, por este motivo a conexão deste está sendo executada antes da execução do script.
Com o dicionário de dados e a tabela PRODUCT_USER_PROFILE criada é a vez de executar o script de criação do esquema exemplo scott.sql.
* Este script principal não é obrigatório na criação de um banco de dados, pode ser feito manualmente, mas facilita seu processo.
- por ultimo, mas também NÃO obrigatório criaremos um script com o comando de criação do banco de dados que será chamado pelo script principal descrito acima.
Exemplo de script principal:
CREATE DATABASE nomedobanco
USER SYS IDENTIFIED BY ORACLE
USER SYSTEM IDENTIFIED BY ORACLE
LOGFILE
GROUP 1('C:\oracle\product\10.2.0\oradata\nomedobanco\redo01.log') SIZE 50M,
GROUP 2('C:\oracle\product\10.2.0\oradata\nomedobanco\redo02.log') SIZE 50M,
GROUP 3('C:\oracle\product\10.2.0\oradata\nomedobanco\redo03.log') SIZE 50M
DATAFILE 'C:\oracle\product\10.2.0\oradata\nomedobanco\system01.dbf' SIZE 200M autoextend on
SYSAUX DATAFILE 'C:\oracle\product\10.2.0\oradata\nomedobanco\sysaux01.dbf' SIZE 200M
UNDO TABLESPACE UNDOTBS01
DATAFILE 'C:\oracle\product\10.2.0\oradata\nomedobanco\UNDOTBS01.dbf' SIZE 100M
default temporary tablespace TEMP
tempfile 'C:\oracle\product\10.2.0\oradata\nomedobanco\temp01.dbf' SIZE 50M
extent management local uniform size 128k;
* Este script principal não é obrigatório na criação de um banco de dados, pode ser feito manualmente, mas facilita seu processo.
2. Setando as variáveis de ambiente.
Abra um prompt de comando no Windows.
Com o prompt aberto vá até onde estão salvos seus scripts, após isto set as variáveis de sessão que serão utilizadas para criação do banco de dados.
SET ORACLE_SID=nomedobanco
SET TNS_ADMIN=C:/ (Exemplo do diretório onde estará o arquivo tnsname.ora)
3. Criando serviço no Windows utilizando o Oradim.
Para iniciar a criação devemos antes criar um serviço no Windows através do comando abaixo que criara um serviço Oracle:
C:\oracle\product\10.2.0\db_1\bin\oradim -new -sid nomedobanco -intpwd nomedobanco
*No caso de ambiente Linux este passo não é necessário, pois não existem serviços no Linux apenas processos executando.
4. Criando diretórios e copiando arquivos.
Ainda com o prompt aberto devemos criar as pastas necessárias para instalação, as quais devem coincidir com as definidas no arquivo initnomedobanco.ora, e setado acima na variável TNS_ADMIN
mkdir C:\oracle\product\10.2.0\oradata\nomedobanco
mkdir C:\oracle\product\10.2.0\admin\nomedobanco\bdump
mkdir C:\oracle\product\10.2.0\admin\nomedobanco\cdump
mkdir C:\oracle\product\10.2.0\admin\nomedobanco\udump
mkdir C:\oracle\product\10.2.0\admin\nomedobanco\pfile
copy initnomedobanco.ora C:\oracle\product\10.2.0\admin\nomedobanco\pfile
copy initnomedobanco.ora C:\oracle\product\10.2.0\db_1\database
copy tnsnames.ora C:\
5. Utilizando scripts criados para criação do banco de dados.
Com as variáveis setadas, o serviço do sistema operacional e os diretórios criados, chame o script principal, logando como SYSDBA através do comando:
SQLPLUS / AS SYSDBA @01_create1.sql
Seguindo a ordem do script principal o SQLPlus irá criar o banco de dados com os parâmetros setados, criará o dicionário de dados, a tabela essencial para profile de usuários e o esquema exemplo “SCOTT”
Após estes passos seu banco de dados já esta pronto para ser utilizado.
Lembrando que para se conectar á seu banco a variável TNS_ADMIN deve ser setada como variável de ambiente ou os parâmetros devem ser adicionados ao arquivo padrão de conexão do Oracle no diretório:
C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN.
Nenhum comentário:
Postar um comentário