criando um banco de dados oracle 11g

23
 1 Criando um Banco de dados Ola Pessoal, Depois de instalar o  Oracle Database 10g  como no artigo anterior vamos dar continuidade no processo criando um banco de dados manualmente. Para criar um  banco de dados devemos “subir” uma instância e cr iar os data files que irão armaz enar os nossos segmentos ( tabelas, índices, Dicionário de dados, etc .) Visto que no momento da instalação do Oracle Database 10g já preparamos o nosso ambiente com as recomendaç ões da OFA (Arquitetura Ótima Flexível) para receber nosso banco de dados, agora é hora de entender o conceito de  instância e de banco de dados, e como funciona essa relação. Instância Oracle Uma instância consiste de processos em background e a alocação de memória do sistema operacional. Quando definimos os valores dos parâmetros de memória no arquivo de parâmetros (init.ora) o Oracle Server irá alocar do sistema operacional a quantidade de memória definida no arquivo de inicialização, e iniciar os processos em  background responsáveis po r manipular o ba nco de dados . Essa combina ção de  processos em background e buffers de memó ria é chamada de  Instância Orac le.  Banco de Dados Um banco de dados consiste de arquivos de dados, ou seja, data files que armazenam os dados de usuários e o dicionário de dados . O banco de dados é manipulado pelos  processos em background d a instância. Um único banco de dados pode ser manipulado  por uma única instância e uma única instância pode manipular u m banco de d ados. Em ambientes distribuídos como Real Application Clu sters é possível ter várias instâncias manipulando um banco de dados.

Upload: lourival-silva-jr

Post on 19-Jul-2015

1.358 views

Category:

Documents


0 download

TRANSCRIPT

5/17/2018 Criando Um Banco de Dados Oracle 11g - slidepdf.com

http://slidepdf.com/reader/full/criando-um-banco-de-dados-oracle-11g 1/23

 

1

Criando um Banco de dados

Ola Pessoal,

Depois de instalar o Oracle Database 10g como no artigo anterior vamos darcontinuidade no processo criando um banco de dados manualmente. Para criar um

 banco de dados devemos “subir” uma instância e criar os data files que irão armazenar 

os nossos segmentos (tabelas, índices, Dicionário de dados, etc.) Visto que nomomento da instalação do Oracle Database 10g já preparamos o nosso ambiente com asrecomendações da OFA (Arquitetura Ótima Flexível) para receber nosso banco dedados, agora é hora de entender o conceito de instância e de banco de dados, e comofunciona essa relação.

Instância Oracle 

Uma instância consiste de processos em background e a alocação de memória dosistema operacional. Quando definimos os valores dos parâmetros de memória noarquivo de parâmetros (init.ora) o Oracle Server irá alocar do sistema operacional aquantidade de memória definida no arquivo de inicialização, e iniciar os processos embackground responsáveis por manipular o banco de dados. Essa combinação deprocessos em background e buffers de memória é chamada de Instância Oracle. 

Banco de Dados 

Um banco de dados consiste de arquivos de dados, ou seja, data files que armazenam osdados de usuários e o dicionário de dados. O banco de dados é manipulado pelosprocessos em background da instância. Um único banco de dados pode ser manipuladopor uma única instância e uma única instância pode manipular um banco de dados. Em

ambientes distribuídos como Real Application Clusters é possível ter várias instânciasmanipulando um banco de dados.

5/17/2018 Criando Um Banco de Dados Oracle 11g - slidepdf.com

http://slidepdf.com/reader/full/criando-um-banco-de-dados-oracle-11g 2/23

 

2

Arquitetura Oracle

Para iniciar o processo, vamos criar o arquivo de parâmetros (PFILE) nesse arquivodevemos definir os parâmetros de inicialização da instância ou seja, parâmetros queespecificam a localização dos control files, alocação de memória, e outros parâmetrosimportantes para iniciar a instância. 

Abaixo explico alguns parâmetros que considero importantes e que são parâmetrosbásicos para iniciar nossa instância.

db_name : Este parâmetro define o nome do banco de dados, é um parâmetroobrigatório e não pode ser alterado depois da criação do banco de dados.

instance_type: Deixamos esse valor como RDBMS, é usado quando estamos criandouma instância ASM

db_domain : Definimos nesse parâmetro um nome da localização lógica do banco de

dados dentro da estrutura de rede.

db_files : Especifica o número de máximo de arquivos que pode ser abertos pelo bancode dados por padrão esse valor é 200.

processes : Especifica o número máximo de processos do sistema operacional quepodem se conectar ao banco de dados concorrentemente.

db_block_size : Esse parâmetro defini o tamanho do bloco padrão para o banco dedados. Este block será usado pela tablespace SYSTEM e por padrão também em outrastablespaces.

5/17/2018 Criando Um Banco de Dados Oracle 11g - slidepdf.com

http://slidepdf.com/reader/full/criando-um-banco-de-dados-oracle-11g 3/23

 

3

statistics_level : Esse parâmetro usado para definir o nível de estatísticas que serãogeradas, muito úteis para advisors. Vamos deixar com padrão.

audit_trail : Usado para habilitar a auditoria no banco de dados, para esse artigo vamosdesabilitar a auditoria.

background_dump_dest : Definimos nesse parâmetro o diretório onde serãoarmazenados os arquivos de trace para processos em background, e tão importantealert.log 

user_dump_dest : Definimos nesse parâmetro o diretório onde serão armazenados osarquivos de trace gerados por processos de usuário.

core_dump_dest : Definimos nesse parâmetro o diretório onde serão armazenados osarquivos de trace gerados por erros do software Oracle.

compatible : Este parâmetro define o nível de compatibilidade que o banco de dados irátrabalhar, esse parâmetro permite usarmos um banco de dados com uma nova release,mas sem perder a compatibilidade com versões antigas. Para o nosso exemplo nãovamos precisar manter compatibilidade com nenhuma versão antiga, ou seja, vamosusar a compatibilidade do Oracle 10g 10.2.1.0 com todas as suas features. 

control_files : Aqui especificamos a localização dos control files sempre seguindo asrecomendações da OFA de multiplicarmos os control files entre discos diferentes.

cursor_sharing : Definindo esse parâmetro como “force” força instruções que usam  apenas literais diferentes a usar o mesmo plano de execução. Vamos deixar esseparâmetro com o seu valor padrão Exact, ou seja, desabilitado.

sga_target : Definimos aqui um valor para que o Oracle gerencie a nossa SGA deforma automática. No nosso exemplo vou usar 512MB.

pga_aggregate_target : Usuários precisam de áreas em memória para realizaroperações intensivas, como ordenações, joins etc. Definimos esse parâmetro como umvalor máximo que irá ser alocado de acordo com o uso dos usuários.

db_file_multiblock_read_count : Esse parâmetro especifica o numero máximo de

blocos que o Oracle irá ler durante um Full table scans . Nesse exemplo vamos usar oseu valor padrão.

db_flashback_retention_target : Esse parâmetro especifica em quanto tempo os logssão retidos no flash recovery area, e por quanto tempo em minutos podemos “voltar”nosso banco de dados em um estado anterior usando FlashBack. Vamos deixar esseparâmetro como default.

db_recovery_file_dest : Esse parâmetro especifica a localização padrão para o Flashrecovery area. 

5/17/2018 Criando Um Banco de Dados Oracle 11g - slidepdf.com

http://slidepdf.com/reader/full/criando-um-banco-de-dados-oracle-11g 4/23

 

4

db_recovery_file_dest_size : Esse parâmetro especifica o tamanho limite para o Flashrecovery area gerenciar os backups feitos pelo rman, por exemplo, é possível definirum valor máximo de armazenamento que o Flash recovery area irá manter.

log_archive_dest_1 : Esse parâmetro define a localização que irão ser criados os

archive logs. 

log_archive_format : Esse parâmetro define o formato dos archive logs. Vamos deixaresse parâmetro como padrão.

remote_login_passwordfile : Esse parâmetro especifica se o Oracle vai checar por umarquivo de senha, é muito útil onde precisamos nos autenticar como SYSDBA atravésde um computador remoto. Se definirmos esse parâmetro como None o Oracle ignoraqualquer arquivo de senha, e a única forma de autenticar como SYSDBA é usando aautenticação do sistema operacional.

undo_management : Esse parâmetro especifica o modo de gerenciamento undo. Sedefinirmos esse parâmetro para AUTO o servidor irá usar o modo de gerenciamento deundo automático. Vamos definir esse parâmetro como AUTO. 

undo_tablespace : Esse parâmetro determina a tablespace padrão para segmentos deUNDO, definiremos esse parâmetro com o nome da nossa tablespace de undo.

Criando o Banco de dados 

Agora é hora de criarmos o nosso banco de dados. Como já temos toda a estrutura dediretórios criada, precisamos agora criar o arquivo de parâmetros e o script de criaçãodo banco de dados. O arquivo de parâmetro como dito acima é necessário para iniciar anossa instância.

Criando o arquivo de parâmetros 

Vamos logar com o usuário “oracle” e criar o arquivo init+<Oracle_sid> o nome deveser estar nesse formato pois no momento do STARTUP o Oracle irá procurar umarquivo com o nome init+<Oracle_sid>.ora para iniciar a instância. Como esse é umarquivo de texto as alterações que fizermos de forma dinâmica, ou seja, com a baseonline não permaneceram quando reiniciarmos nossa instância, pois a instância sempre

irá ler esse arquivo, a única forma de fazermos as alterações permanentes é dar um“shutdown” na instância e alterar o arquivo fisicamente. Isso pode ser um problemavisto que ter que “derrubar” a instância significa downtime no serviço de banco dedados. Depois de criarmos o banco de dados, iremos criar o SPFILE um arquivo binárioque permite alterarmos alguns parâmetros dinâmicos e deixa-los como permanentes.Logue com o usuário “oracle” e d efina o valor da variável ORACLE_SID com o nomedo banco de dados.

[root@lab01 ~]# su - oracle [oracle@lab01 ~]$ export ORACLE_SID=producao [oracle@lab01 ~]$ echo $ORACLE_SID 

producao [oracle@lab01 ~]$ vi initproducao.ora 

5/17/2018 Criando Um Banco de Dados Oracle 11g - slidepdf.com

http://slidepdf.com/reader/full/criando-um-banco-de-dados-oracle-11g 5/23

 

5

########################### Initialization Parameter ########################### # Author: Rodrigo Santana ########################################################################## db_name=producao instance_type=RDBMS db_domain=world db_files=1000 processes=600 db_block_size=8192  statistics_level=typical  audit_trail=none background_dump_dest='/u01/app/oracle/admin/producao/bdump/'  user_dump_dest='/u01/app/oracle/admin/producao/udump/'  core_dump_dest='/u01/app/oracle/admin/producao/cdump/'  compatible=10.2.1.0 control_files=('/u02/oradata/producao/control01.ctl','/u03/oradata/producao/control02.ctl') cursor_sharing=exact  

sga_target=512M pga_aggregate_target=300M db_file_multiblock_read_count=16  db_flashback_retention_target=7200  db_recovery_file_dest='/u02/oradata/producao/flash_recovery_area'  db_recovery_file_dest_size='1000M'  log_archive_dest_1='LOCATION=/u02/oradata/producao/archives'  log_archive_format='log%t_%s_%r.arc'  remote_login_passwordfile=none  undo_management=auto undo_retention=7200 undo_tablespace=undotbs_01  

Pressione “ESC” + “:” + “x” para salvar o arquivo “initprod.ora”. Para cumprir comas recomendações da OFA vamos armazenar o nosso arquivo de parâmetros no diretório“/u01/app/oracle/admin/producao/pfile” .

[oracle@lab01 ~]$ mv initproducao.ora /u01/app/oracle/admin/producao/pfile/  [oracle@lab01 ~]$

Depois de criarmos o arquivo de parâmetros, vamos usa-lo para iniciar a nossainstância. Apenas para relembrar, a instância é composta de processos em background e alocação de memória do sistema operacional. 

Para iniciar nossa instância devemos ter configurado corretamente as variáveis$ORACLE_HOME e $ORACLE_SID. A $ORACLE_HOME neste caso é necessária

 para usarmos a ferramenta “SQLPLUS “ sem especificarmos o seu caminho completo.E a variável $ORACLE_SID é necessária pois, no momento que emitirmos o comando“STARTUP” o Oracle irá ler essa variável e procurar pelo arquivoinit<$ORACLE_SID>.ora . 

O comando “echo” imprimi o valor de uma variável

[oracle@lab01 ~]$ echo $ORACLE_SID producao[oracle@lab01 ~]$ echo $ORACLE_HOME 

5/17/2018 Criando Um Banco de Dados Oracle 11g - slidepdf.com

http://slidepdf.com/reader/full/criando-um-banco-de-dados-oracle-11g 6/23

 

6

 /u01/app/oracle/product/10.2.0/db_1 [oracle@lab01 ~]$

Depois de certificarmos que as variáveis necessárias estão corretamente configuradas,vamos agora iniciar a instância usando a ferramenta “SQLPLUS”. 

[oracle@lab01 ~]$ sqlplus /nolog SQL*Plus: Release 10.2.0.1.0 - Production on Tue Jan 12 14:08:10 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. SQL> 

Como mostrado acima usei o comando “sqlplus /nolog “ para conectar ao SQLPLUSsem informar o usuário. Agora precisamos nos autenticar como SYS e com osprivilégios de SYSDBA para poder usar o comando STARTUP.

SQL> connect sys as sysdba 

Enter password:Connected to an idle instance. SQL> 

Como mostrado acima, depois de emitir o comando “CONNECT” é solicitado umasenha, essa senha podemos deixar em branco pois estamos usando a autenticação dosistema operacional. A mensagem “Connected to an idle instance” é normal pois aindanão iniciamos a instância. Agora é hora de emitir o comando STARTUP NOMOUNTseguido do caminho do nosso arquivo de parâmetros (PFILE) criando anteriormente. OParâmetro NOMOUNT é usado quando não temos ainda control files para montar nossobanco de dados. Neste caso apenas a nossa instância está iniciada.

SQL> startup nomount pfile='/u01/app/oracle/admin/producao/pfile/initproducao.ora';  ORACLE instance started. Total System Global Area 536870912 bytes Fixed Size 1220432 bytes Variable Size 150995120 bytes Database Buffers 381681664 bytes Redo Buffers 2973696 bytes SQL>

Para ver os processos em background do sistema operacional que a nossa instância criouuse o seguinte comando

SQL> !ps -ef | grep producao oracle 4987 4984 0 14:13 ? 00:00:00 oracleproducao (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq))) oracle 5116 1 0 14:44 ? 00:00:00 ora_pmon_producao oracle 5118 1 0 14:44 ? 00:00:00 ora_psp0_producao oracle 5120 1 0 14:44 ? 00:00:00 ora_mman_producao oracle 5122 1 0 14:44 ? 00:00:00 ora_dbw0_producao oracle 5124 1 0 14:44 ? 00:00:00 ora_lgwr_producao oracle 5126 1 0 14:44 ? 00:00:00 ora_ckpt_producao oracle 5128 1 0 14:44 ? 00:00:00 ora_smon_producao 

5/17/2018 Criando Um Banco de Dados Oracle 11g - slidepdf.com

http://slidepdf.com/reader/full/criando-um-banco-de-dados-oracle-11g 7/23

 

7

oracle 5130 1 0 14:44 ? 00:00:00 ora_reco_producao oracle 5132 1 0 14:44 ? 00:00:00 ora_mmon_producao oracle 5134 1 0 14:44 ? 00:00:00 ora_mmnl_producao oracle 5135 5080 0 14:44 ? 00:00:00 oracleproducao (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq))) 

oracle 5175 5080 0 14:51 pts/1 00:00:00 /bin/bash -c ps -ef |grep  producao oracle 5177 5175 0 14:51 pts/1 00:00:00 /bin/bash -c ps -ef |grep  producao SQL>

 Dica: Para visualizar todo o processo de inicialização da instância detalhadamenteveja o conteúdo do arquivo alert.log 

Criando o banco de dados 

O banco de dados que iremos criar irá conter uma tablespace system para armazenar odicionário de dados, um tablespace Sysaux, um par de control files e redo logsmultiplexados, uma tablespace temporaria padrão, uma tablespace de undo e umatablespace de dados. Segue o script de criação do banco de dados:

create database producao user sys identified by 0r4cl3 user system identified by 0r4cl3 maxinstances 1 maxloghistory 1 maxlogfiles 6 maxlogmembers 5 character set US7ASCII national character set AL16UTF16 datafile '/u02/oradata/producao/system01.dbf' size 500M extent management LOCAL SYSAUX datafile '/u02/oradata/producao/sysaux01.dbf' size 500M DEFAULT TEMPORARY tablespace temp01 tempfile '/u02/oradata/producao/temp01_01.dbf' size 100M UNDO tablespace undotbs_01 datafile '/u02/oradata/producao/undotbs01.dbf' size 200M 

DEFAULT tablespace DATA datafile '/u02/oradata/producao/data01.dbf' size 500M LOGFILE group 1 ('/u02/oradata/producao/redo01a.log' , '/u03/oradata/producao/redo01b.log') size50M, group 2 ('/u02/oradata/producao/redo02a.log , '/u03/oradata/producao/redo02b.log') size50M; 

Vou comentar alguns parâmetros da instrução “CREATE DATABASE” 

5/17/2018 Criando Um Banco de Dados Oracle 11g - slidepdf.com

http://slidepdf.com/reader/full/criando-um-banco-de-dados-oracle-11g 8/23

 

8

create database producao : Define o nome do banco de dados como “producao”, aoexecutarmos o script de criação do banco de dados esse comando irá criar os controlfiles na localização especificada no arquivo de parâmetros (initproducao.ora)

user sys identified by 0r4cl3 : Define a senha do usuário SYS

user system identified by 0r4cl3 : Define a senha do usuário SYSTEM

maxinstances : Especifica o número máximo de instâncias que podem manipular obanco de dados, usado quando estamos trabalhando com RAC. Como não estamostrabalhando com RAC vamos configurar esse parâmetro com o valor 1.

maxloghistory : Especifica o número máximo de archive redo logs para automaticmedia recovery

maxlogfiles : Este parâmetro especifica o número máximo de grupos de redo logs do

banco de dados. Quando o nível de compatibilidade é inferior a 10.2.0 a única forma desobrescrever esse limite é recriando o control file ou o banco de dados. Quando acompatibilidade do banco de dados for superior a 10.2.0 podemos aumentar o númerode grupos de redo logs que o control file será expandido conforme necessário. Vamosconfigurar esse parâmetro com 6 prevendo um futuro aumento no número de grupos deredo logs.

maxlogmembers : Este parâmetro especifica o número máximo de membros de cadaredo grupo de redo log. A única forma de sobrescreve esse parâmetro é recriando obanco de dados. Vamos configurar esse parâmetro com 3.

character set e national character set : Especifica o conjunto de caráteres usados pelobanco de dados, vamos deixar esse parâmetro com seu valor padrão.

datafile '/u02/oradata/producao/system01.dbf' size 500M 

Nesta linha acima estamos dizendo que esse será o data file da nossa tablespaceSYSTEM e com um tamanho de 500MB. A tablespace SYSTEM é de sumaimportância, pois, o dicionário de dados é criado dentro desta tablespace.

extent management LOCAL 

Na linha de comando acima estamos especificando que a nossa tablespace SYSTEMdeverá ser gerenciada localmente, ou invés do método de gerenciamento por dicionário.

SYSAUX datafile '/u02/oradata/producao/sysaux01.dbf' size 500M 

Na linha acima estamos especificando o data file da tablespace SYSAUX. A tablespaceSYSAUX é uma tablespace que serve como auxiliar para a tablespace SYSTEM porqueela é a tablespace padrão para muitas funcionalidades de produtos da Oracle querequeriam sua própria tablespace, isso reduz o número de tablespaces requeridas pelobanco de dados que você precisa manter.

5/17/2018 Criando Um Banco de Dados Oracle 11g - slidepdf.com

http://slidepdf.com/reader/full/criando-um-banco-de-dados-oracle-11g 9/23

 

9

DEFAULT TEMPORARY tablespace temp01 

tempfile '/u02/oradata/producao/temp01_01.dbf' size 100M 

Na linha acima estamos especificando nossa tablespace temporária padrão que será

chamada de “temp01” e com um tamanho de 100MB. A tablespace temporária éimportante pois é usada por operações de sort (ordenações) que não podem ser feitasem memória usam a tablespace temporária. Nesse exemplo “temp01” será nossatablespace padrão, ou seja, no momento da criação de qualquer usuário se nãoespecificarmos a tablespace temporária a ser usada, será atribuida a tablespace padrão“temp01”. Se não criarmos uma tablespace padrão, os usuários usaram como tablespacetemporária a tablespace SYSTEM o que não é uma boa prática.

UNDO tablespace undotbs_01 

datafile '/u02/oradata/producao/undotbs01.dbf' size 200M 

Na linha acima estamos especificando a nossa tablespace de UNDO. A tablespace deUNDO é usada para armazenar segmentos de undo. Quando executamos uma operaçãode DML dentro de uma transação, a transação é vinculada a um segmento de undo natablespace de undo corrente. Isso é importante pois se precisarmos fazer um “rollback”a imagem inicial da transação (before image) será lida a partir da tablespace de undo.Para esse exemplo nossa tablespace de undo será chamada de “undotbs01” e com umtamanho de 200MB.

DEFAULT tablespace DATA 

datafile '/u02/oradata/producao/data01.dbf' size 500M 

Na linha acima estamos especificando nossa tablespace padrão. Essa será a tablespaceatribuída a todos os usuários que no momento da criação não foram explicitamenteatribuídos a nenhuma tablespace, ou seja, se no momento da criação do usuário nãoatribuirmos ele a nenhuma tablespace, essa será a tablespace atribuída por padrão. Essatablespace será onde os usuários armazenarão seus segmentos como, tabelas, índices,etc.

LOGFILE group 1 ('/u02/oradata/producao/redo01a.log' , '/u03/oradata/producao/redo01b.log') size

50M, group 2 ('/u02/oradata/producao/redo02a.log , '/u03/oradata/producao/redo02b.log') size50M; 

Com os comandos acima, estamos definindo os grupos de redo logs, e os seus membros.Como mostrado acima, temos 2 grupos e cada grupo contendo 2 membros.

Depois de criar o scrip de criação do banco de dados, vamos executar o script e salvarnos diretórios criados anteriormente. Certifique que a instância está em modo nomount

 para executar o script, se ainda não iniciou a instância emita o comando “startup

nomount” conforme explicado acima.

5/17/2018 Criando Um Banco de Dados Oracle 11g - slidepdf.com

http://slidepdf.com/reader/full/criando-um-banco-de-dados-oracle-11g 10/23

 

10

Para executar o script de criação do banco de dados, conecte ao SQLPLUS comoSYSDBA e execute o script como abaixo:

SQL> @create_database.sql Database created. 

SQL> 

Depois de criado vamos fazer algumas verificações para saber se foi criado com sucessonosso banco de dados. A query abaixo mostra o nome e o status da instância.

SQL> select instance_name, status from v$instance; INSTANCE_NAME STATUS ------------------------- ------------ producao OPEN 

A segunda query mostra o nome do banco de dados e o estado em que ele está.

SQL> select name, open_mode from v$database; NAME OPEN_MODE -------- ---------- PRODUCAO READ WRITE 

Agora vamos verificar se os nossos data files, control files, redo logs foram criados comsucesso nas localizações corretas. A seguinte query exibe a localização dos demaisarquivos ditos acima

SQL> select name 2 from v$controlfile 3 union 4 select name5 from v$datafile 6 union 7 select member 8 from v$logfile; NAME --------------------------------------------------------------------------------  

 /u02/oradata/producao/control01.ctl 

 /u02/oradata/producao/data01.dbf   /u02/oradata/producao/redo01a.log  /u02/oradata/producao/redo02a.log  /u02/oradata/producao/sysaux01.dbf   /u02/oradata/producao/system01.dbf   /u02/oradata/producao/undotbs01.dbf   /u03/oradata/producao/control02.ctl  /u03/oradata/producao/redo01b.log  /u03/oradata/producao/redo02b.log 10 rows selected. 

Vamos verificar que esses arquivos foram criados com sucesso no sistema operacional, para isso fiz o seguinte: A partir do “sqlplus” é possível executar um comando do

5/17/2018 Criando Um Banco de Dados Oracle 11g - slidepdf.com

http://slidepdf.com/reader/full/criando-um-banco-de-dados-oracle-11g 11/23

 

11

sistema operacional sem sair do utilitário, basta usar o sinal de exclamação “!“ antes docomando, segue exemplo abaixo.

SQL> !ls -l /u02/oradata/producao total 1851012 

drwxr-xr-x 2 oracle oinstall 4096 Jan 8 15:57 archives -rw-r----- 1 oracle oinstall 5947392 Jan 15 15:29 control01.ctl -rw-r----- 1 oracle oinstall 524296192 Jan 15 15:06 data01.dbf  drwxrwxr-x 2 oracle oinstall 4096 Dec 15 05:43 flash_recovery_area -rw-r----- 1 oracle oinstall 52429312 Jan 15 15:26 redo01a.log -rw-r----- 1 oracle oinstall 52429312 Jan 15 15:06 redo02a.log -rw-r----- 1 oracle oinstall 524296192 Jan 15 15:06 sysaux01.dbf  -rw-r----- 1 oracle oinstall 524296192 Jan 15 15:21 system01.dbf  -rw-r----- 1 oracle oinstall 104865792 Jan 15 15:06 temp01_01.dbf  -rw-r----- 1 oracle oinstall 209723392 Jan 15 15:21 undotbs01.dbf  SQL>

SQL> !ls -l /u03/oradata/producao total 108352 -rw-r----- 1 oracle oinstall 5947392 Jan 15 15:29 control02.ctl -rw-r----- 1 oracle oinstall 52429312 Jan 15 15:26 redo01b.log -rw-r----- 1 oracle oinstall 52429312 Jan 15 15:06 redo02b.log SQL>

 Dica: Para ver de forma detalhada todos os passos da criação do banco de dados,

examine o conteúdo do arquivo alert.log 

Pronto, criamos nosso banco de dados e nos certificamos que os arquivos relevantesforam criados. Devemos agora executar os scripts de criação do dicionário de dados.

Oracle fornece dois scripts importantes são eles:

Catalog.sql : Popula o banco de dados com as views do dicionário de dados, synonymspublics e outros objetos.

Catproc.sql: Cria pacotes fornecidos pela Oracle e outros objetos para suportar o uso decodigo PL/SQL no banco de dados.

Dica: Ignore qualquer mensagem erro mostrados na execução dos scripts, a maioria deles são mostrados pois existem alguns objetos que foram excluídos ou que não

existem mais. Se quiser pode executar os scripts novamente, você não verá nenhumerro. 

Aguarde até o termino da execução dos scripts, isso pode demorar alguns minutos.

Executando os scripts 

SQL> @$ORACLE_HOME/rdbms/admin/catalog.sql Grant succeeded. 

PL/SQL procedure successfully completed. SQL> @$ORACLE_HOME/rdbms/admin/catproc.sql 

5/17/2018 Criando Um Banco de Dados Oracle 11g - slidepdf.com

http://slidepdf.com/reader/full/criando-um-banco-de-dados-oracle-11g 12/23

 

12

............... No errors. Package body created. PL/SQL procedure successfully completed. SQL> 

Neste momento temos uma base de dados totalmente funcional. Agora vamos alterar omodo de arquivamento de logs do banco de dados, os modos de arquivamentodisponíveis são NOARCHIVELOG e ARCHIVELOG. O NOARCHIVELOG é o modode arquivamento padrão. Com esse modo o arquivamento de redo logs sãodesabilitados, ou seja, quando os grupos de redo logs se tornarem completos, eles serãosobrescritos por novas transações. Com isso as formas de recuperação do banco dedados nesse modo são muito restritas, por exemplo, no evento de uma falha em disco,apenas podemos voltar nosso banco de dados ao estado do ultimo backup full, ou seja,as transações subseqüentes ao nosso backup não estarão disponíveis para a recuperação.

 No modo ARCHIVELOG o Oracle “salva” ou “arquiva” os redo logs cheios emarquivos chamados archive logs. Isso é muito importante pois assim temos um registrode todas as alterações do banco de dados de forma cronológica salva em arquivosexternos. Isso também fará toda diferença na recuperação de um banco de dados, porexemplo, no evento da perda de um disco, pode-se votar um backup e todos os archivelogs gerados depois do backup para recuperar o banco de dados sem perder qualquerdado armazenado no archive log. 

Sem dúvidas o modo ARCHIVELOG é o modo mais indicado para um banco de dadosOLTP que não se pode perder qualquer informação.

Alterando modo de arquivamento de logs 

Antes de alterarmos o modo de arquivamento de logs vamos confirmar o modo dearquivamento do nosso banco de dados com um simples select na view v$database.

SQL> select log_mode from v$database; LOG_MODE ------------ NOARCHIVELOG 1 row selected. 

SQL>

Ou ainda, o comando abaixo nos mostra mais informações, como o “Database logmode” e “Archive destination” o “Database log mode” é o modo de arquivamento donosso banco de dados, e o “Archive destination” é o destino dos archive logs. 

SQL> ARCHIVE LOG LIST Database log mode No Archive Mode Automatic archival Disabled Archive destination /u02/oradata/producao/archives Oldest online log sequence 8 

Current log sequence 9 SQL>

5/17/2018 Criando Um Banco de Dados Oracle 11g - slidepdf.com

http://slidepdf.com/reader/full/criando-um-banco-de-dados-oracle-11g 13/23

 

13

Como visto acima, esse é modo de arquivamento padrão. Vamos alterar para o modoARCHIVELOG. Para isso precisamos desligar a nossa instância e inicia-la no modoMOUNT.

SQL> SHUTDOWN IMMEDIATE; 

Database closed. Database dismounted. ORACLE instance shut down. 

Iniciando a instância. 

SQL> STARTUP MOUNT PFILE='/u01/app/oracle/admin/producao/pfile/initproducao.ora';  ORACLE instance started. Total System Global Area 536870912 bytes Fixed Size 1220432 bytes Variable Size 150995120 bytes Database Buffers 381681664 bytes Redo Buffers 2973696 bytes Database mounted. SQL>

Agora usamos o comando abaixo 

SQL> ALTER DATABASE ARCHIVELOG; Database altered. Visualizando o estado do nosso banco de dados depois de alterado. SQL> ARCHIVE LOG LIST Database log mode Archive Mode Automatic archival Enabled Archive destination /u02/oradata/producao/archives Oldest online log sequence 8 Next log sequence to archive 9 Current log sequence 9 SQL>

Finalmente vamos abrir nosso banco de dados. 

SQL> ALTER DATABASE OPEN; Database altered. SQL>

Criando o SPFILE 

Vamos criar o SPFILE que é como explicado acima, um arquivo binário que permitefazermos alterações dinâmicas de forma permanentes. Esse é um recurso muitoimportante para o DBA pois evita de termos que “derrubar” a instância para alterarmosalguns parâmetros. Para criar o SPFILE usamos os comandos abaixo.

5/17/2018 Criando Um Banco de Dados Oracle 11g - slidepdf.com

http://slidepdf.com/reader/full/criando-um-banco-de-dados-oracle-11g 14/23

 

14

SQL> create spfile 2 from 3 pfile ='/u01/app/oracle/admin/producao/pfile/initproducao.ora'; File created. SQL>

Depois de emitir o comando create spfile será criado o arquivo spfileproducao.ora nodiretório $ORACLE_HOME/dbs. Para visualizar o arquivo use o comando abaixo:

SQL> !ls $ORACLE_HOME/dbs hc_producao.dat initdw.ora init.ora spfileproducao.ora SQL> 

Mesmo depois de criado o spfile, o nosso banco de dados ainda usa o antigo arquivoinitproducao.ora. Para forçar o uso do SPFILE devemos “derrubar” a instância e inicia-la novamente.

SQL> SHUTDOWN IMMEDIATE; Database closed. Database dismounted. ORACLE instance shut down. SQL>

Agora vamos iniciar nosso banco de dados, para isso não precisamos especificar o parâmetro “pfile” pois o Oracle irá procurar no diretório $ORACLE_HOME/dbs oarquivo “spfileproducao.ora” e iniciar a instância através dele. 

SQL> startup ORACLE instance started. Total System Global Area 536870912 bytes Fixed Size 1220432 bytes Variable Size 150995120 bytes Database Buffers 381681664 bytes Redo Buffers 2973696 bytes Database mounted. Database opened. SQL>

Configurando a rede 

Quando queremos abrir uma sessão no banco de dados a partir de um cliente da rede,precisamos nos conectar ao banco de dados através da rede. Todos os servidores quehospedam um banco de dados Oracle, deve executar um serviço chamado Oracle Net 

 Listener , cuja sua principal função é “ouvir” as requisições dos clientes que queremfazer logon no banco de dados.

O Listener depois de verificar que o cliente tem as informações correspondentes aobanco de dados (protocolo, nome da instância e porta) passa a requisição ao banco de

dados. O Banco de dados irá autenticar o usuário baseado nas informações de nome deusuário e senha.

5/17/2018 Criando Um Banco de Dados Oracle 11g - slidepdf.com

http://slidepdf.com/reader/full/criando-um-banco-de-dados-oracle-11g 15/23

 

15

No Oracle Database 10g o processo em background chamado PMON é encarregado dedinamicamente registrar o banco de dados com o listener, isso quer dizer que quandoiniciamos a nossa instância o banco de dados automáticamente se registra com olistener, e o listener já inicia “ouvindo” as requisições de conexão para esse banco dedados. Para gerenciar o listener usamos o utilitário lsnrctl. Com o lsnrctl podemos

visualizar o status do listener, iniciar o listener (start), parar o listener (stop) entre outrasoperações.

Vamos visualizar o status do listener, o mesmo deve está ouvindo as requisições paranosso banco de dados, já que o processo PMON é encarregado de fazer essa tarefa. Paraisso use o comando abaixo.

[oracle@lab01 ~]$ lsnrctl status LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 25-JAN-2010 13:22:28 Copyright (c) 1991, 2005, Oracle. All rights reserved. Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production Start Date 25-JAN-2010 13:17:01 Uptime 0 days 0 hr. 5 min. 26 sec Trace Level off  Security ON: Local OS Authentication SNMP OFF Listener Log File 

 /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=lab01)(PORT=1521))) Services Summary... Service "producao.world" has 1 instance(s). Instance "producao", status READY, has 1 handler(s) for this service...  Service "producao_XPT.world" has 1 instance(s). Instance "producao", status READY, has 1 handler(s) for this service...  The command completed successfully [oracle@lab01 ~]$

Como visto acima nosso listener já está iniciado e ouvindo as requisições para o bancode dados producao. Mas podemos também criar o nosso próprio listener, para issoprecisamos criar o arquivo listener.ora. Nele definimos qual o endereço que irá ouvi asrequisições, em qual porta iremos ouvir as requisições e até mesmo o protocolo de rede.Esse arquivo deve ser criado dentro do diretório $ORACLE_HOME/netword/admin/.Abaixo segue o exemplo do arquivo listener.ora

5/17/2018 Criando Um Banco de Dados Oracle 11g - slidepdf.com

http://slidepdf.com/reader/full/criando-um-banco-de-dados-oracle-11g 16/23

 

16

SID_LIST_LISTENER = (SID_LIST = 

(SID_DESC = (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1) (SID_NAME = producao) ) 

) LISTENER = (DESCRIPTION = (ADDRESS =(PROTOCOL=tcp)(HOST=192.168.1.100)(PORT=1521)) ) 

Salve esse arquivo dentro do diretório $ORACLE_HOME/network/admin/ com o nomelistener.ora e vamos parar o listener e inicia-lo para que o mesmo passa a usar o nossoarquivo.

Listando o arquivo 

[oracle@lab01 admin]$ pwd  /u01/app/oracle/product/10.2.0/db_1/network/admin [oracle@lab01 admin]$ ls listener.ora samples shrept.lst tnsnames.ora [oracle@lab01 admin]$

Parando o listener 

[oracle@lab01 admin]$ lsnrctl stop LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 25-JAN-2010 13:29:40 Copyright (c) 1991, 2005, Oracle. All rights reserved. Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) The command completed successfully 

Iniciando o listener 

[oracle@lab01 admin]$ lsnrctl start LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 25-JAN-2010 13:29:55 Copyright (c) 1991, 2005, Oracle. All rights reserved. Starting /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait... 

TNSLSNR for Linux: Version 10.2.0.1.0 - Production System parameter file is  /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora Log messages written to 

 /u01/app/oracle/product/10.2[oracle@lab01 admin]$ lsnrctl start LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 25-JAN-2010 13:29:55 Copyright (c) 1991, 2005, Oracle. All rights reserved. Starting /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait... TNSLSNR for Linux: Version 10.2.0.1.0 - Production System parameter file is 

 /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora 

Log messages written to  /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log 

5/17/2018 Criando Um Banco de Dados Oracle 11g - slidepdf.com

http://slidepdf.com/reader/full/criando-um-banco-de-dados-oracle-11g 17/23

 

17

Listening on:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=lab01)(PORT=1521))) Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) STATUS of the LISTENER ------------------------ 

Alias LISTENER Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production Start Date 25-JAN-2010 13:29:55 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off  Security ON: Local OS Authentication SNMP OFF Listener Parameter File 

 /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora Listener Log File 

 /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=lab01)(PORT=1521))) The listener supports no services The command completed successfully [oracle@lab01 admin]$ .0/db_1/network/log/listener.log Listening on:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=lab01)(PORT=1521))) Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production Start Date 25-JAN-2010 13:29:55 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off  Security ON: Local OS Authentication SNMP OFF Listener Parameter File 

 /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora Listener Log File 

 /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log 

Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=lab01)(PORT=1521))) The listener supports no services The command completed successfully [oracle@lab01 admin]$

Repare no comando acima que o parâmetro listener Parameter File indica o nome e ocaminho do nosso arquivo criado anteriormente.

5/17/2018 Criando Um Banco de Dados Oracle 11g - slidepdf.com

http://slidepdf.com/reader/full/criando-um-banco-de-dados-oracle-11g 18/23

 

18

Configurando o Enterprise Manager 

O Enterprise manager é uma ferramenta importante e ajuda na administração e no

monitoramento do banco de dados. A sua instalação não é obrigatório, mas éaconselhável pela Oracle. Para instalar invoque o utilitário emca com os parâmetrosnecessários para criar o repositório. Em seguida o utilitário solicita o sid do banco dedados, a porta do listener, a senha para os usuários sys, dbsnmp e o sysman. Digite asinformações e pressione enter. Aguarde até que o utilitário concluía a criação dorepositório.

[oracle@lab01 ~]$ $ emca -config dbcontrol db -repos create STARTED EMCA at Jul 10, 2011 2:19:19 PM EM Configuration Assistant, Version 10.2.0.1.0 Production Copyright (c) 2003, 2005, Oracle. All rights reserved. Enter the following information: Database SID: producao Listener port number: 1521 Password for SYS user: Password for DBSNMP user: Password for SYSMAN user: Email address for notifications (optional): Outgoing Mail (SMTP) server for notifications (optional): -----------------------------------------------------------------  You have specified the following settings Database ORACLE_HOME ................ /u01/app/oracle/product/10.2.0/db_1 Database hostname ................ oracle10g-01 Listener port number ................ 1521 Database SID ................ producao Email address for notifications ............... Outgoing Mail (SMTP) server for notifications ............... -----------------------------------------------------------------  Do you wish to continue? [yes(Y)/no(N)]: Y Jul 10, 2011 2:20:46 PM oracle.sysman.emcp.EMConfig perform INFO: This operation is being logged at

 /u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/emca/producao/emca_2011-07-

10_02-19-19-PM.log.  Jul 10, 2011 2:20:49 PM oracle.sysman.emcp.EMReposConfig createRepository INFO: Creating the EM repository (this may take a while) ...  Jul 10, 2011 2:26:28 PM oracle.sysman.emcp.EMReposConfig invoke INFO: Repository successfully created Jul 10, 2011 2:26:41 PM oracle.sysman.emcp.ParamsManager getLocalListener WARNING: Error retrieving listener for oracle10g-01 Jul 10, 2011 2:26:47 PM oracle.sysman.emcp.util.DBControlUtil startOMS INFO: Starting Database Control (this may take a while) ... Jul 10, 2011 2:29:14 PM oracle.sysman.emcp.EMDBPostConfigperformConfiguration  

INFO: Database Control started successfully 

5/17/2018 Criando Um Banco de Dados Oracle 11g - slidepdf.com

http://slidepdf.com/reader/full/criando-um-banco-de-dados-oracle-11g 19/23

 

19

Jul 10, 2011 2:29:19 PM oracle.sysman.emcp.EMDBPostConfigperformConfiguration  INFO: >>>>>>>>>>> The Database Control URL is http://lab01:1158/em<<<<<<<<<<< Enterprise Manager configuration completed successfully 

FINISHED EMCA at Jul 10, 2011 2:29:19 PM [oracle@lab01 ~]$ 

Para ter acesso ao banco de dados usando o privilégios de sysdba a partir de umamáquina remota, é necessário configurar um password file.O password file é umarquivo do sistema operacional que armazena as informações de login e senha deusuários que recebem o privilégio de sysdba. Para autenticar no banco de dados comprivilégios de sysdba a partir do Enterprise manager, também é preciso que esse arquivoesteja criado e o usuário na qual se deseja conectar esteja adicionado ao arquivo. Antesde criar o arquivo altere o parâmetro da instância que especifica que o arquivo de senhasserá usado por uma instância individual. Altere o parâmetro com o seguinte comando:

SQL> alter system set remote_login_passwordfile=exclusive scope=spfile 

Esse parâmetro é estático, é necessário reiniciar a instância para que o valor tenhaefeito. Depois de reiniciar a instância use o comando abaixo para criar o password file

[oracle@lab01 ~]$ orapwd file=$ORACLE_HOME/dbs/orapwproducaoentries=5 password=0r4cl3 

Segue a explicação dos parâmetros usados:

file: Especifica o nome do password file que deve seguir o padrãoorapw+sid_do_banco_de_dados  

entries: Especifica até quantas entradas deve ter o arquivo no nosso caso no máximo 5,ou seja, só será possível ter informações de login e senha de cinco usuários nessearquivo.

password: A senha do usuário SYS é obrigatório para se criar o arquivo.

Depois de criado o password file teste o acesso ao Enterprise Manager usando o

endereço mostrado no log da operação de criação do repositório, no nosso caso éhttp://lab01:1158/em 

5/17/2018 Criando Um Banco de Dados Oracle 11g - slidepdf.com

http://slidepdf.com/reader/full/criando-um-banco-de-dados-oracle-11g 20/23

 

20

Configurando inicialização e desligamento da instância automático 

Para que a instância seja iniciada automaticamente ao iniciar o sistema operacional épreciso usar scripts que realizam essa tarefa. É também desejável que a instância e obanco de dados seja fechado de forma consistente, para isso a Oracle fornece um scriptque se encarrega de iniciar e desligar a instância e abrir ou fechar o banco de dados.Para usar esse script edite o arquivo /etc/oratab. Esse arquivo já vem pré-configurado eé preciso só adicionar uma linha para cada instância que se deseje iniciar e desligar.Adicione a linha conforme o modelo existente no arquivo

# $ORACLE_SID:$ORACLE_HOME:Y|N 

Substitue o valor das variáveis acima conforme seu ambiente.

producao:/u01/app/oracle/product/10.2.0/db_1:Y  

A letra "Y" ou "N" é usada como flag para simbolizar que a instância deve ou não seriniciada. Nesse caso marcamos que a instância "producao" deve ser iniciada.

O próximo passo é criar o script que irá chamar os utilitários dbstart e dbshut daOracle. Esses utilitários usam o arquivo /etc/oratab para obter informações sobre asinstâncias a serem iniciadas ou desligadas na inicialização ou no desligamento dosistema operacional. O utilitário dbstart irá iniciar a instância e abrir o banco de dados,e o utilitário dbshut irá desligar a instância de forma consistente. Para executar esses

utilitários usei um script fornecido pela Oracle e com algumas modificações feitas pormin. Esse é um shell script e deve ser criado dentro do diretório /etc/init.d. Para issologue como usuário root como no exemplo abaixo:

[root@lab01 ~]# vi /etc/init.d/startup_oracle.sh 

#!/bin/sh # chkconfig: 345 99 10 # description: Oracle auto start-stop script. # # Set ORA_HOME to be equivalent to the $ORACLE_HOME # from which you wish to execute dbstart and dbshut;  # 

5/17/2018 Criando Um Banco de Dados Oracle 11g - slidepdf.com

http://slidepdf.com/reader/full/criando-um-banco-de-dados-oracle-11g 21/23

 

21

# Set ORA_OWNER to the user id of the owner of the # Oracle database in ORA_HOME. # Oracle database in ORA_HOME. 

ORA_OWNER=oracle  

ORA_HOME=/u01/app/oracle/product/10.2.0/db_1  

case "$1" in 'start') # Start the Oracle databases: # The following command assumes that the oracle login # will not prompt the user for any values echo "Starting Oracle Database and Listerner..." su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" su - $ORA_OWNER -c $ORA_HOME/bin/dbstart echo "Starting Enterprise Manager..." su - $ORA_OWNER -c "emctl start dbconsole" touch /var/lock/subsys/startup_oracle.sh ;; 'stop') # Stop the Oracle databases: # The following command assumes that the oracle login # will not prompt the user for any values echo "Stoping Oracle Database..." su - $ORA_OWNER -c $ORA_HOME/bin/dbshut su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" 

echo "Stoping Enterprise Manager..." su - $ORA_OWNER -c "emctl stop dbconsole" rm -f /var/lock/subsys/startup_oracle.sh ;; esac 

De as permissões necessárias

[root@lab01 ~]# chmod 755 /etc/init.d/startup_oracle.sh 

Depois de criar o script, use o utilitário chkconfig para adicionar o script como um

"serviço". Dessa forma o script poderá ser habilitado ou desabilitado para ser iniciadonos níveis de execução desejado. Use o comando abaixo como exemplo:

[root@lab01 ~]# chkconfig --add /etc/init.d/startup_oracle.sh 

Ao adicionar o script, o mesmo é configurado para ser iniciado nos níveis 3,4 e 5 e comprioridade 99 para iniciar e 10 para desligar, conforme o parâmetro chkconfig: 345 9910 na segunda linha do script. Para ter certeza que o script foi configurado corretamenteuse o comando abaixo para listar as configurações:

[root@lab01 ~]# chkconfig --list startup_oracle.sh 

startup_oracle.sh 0:off 1:off 2:off 3:on 4:on 5:on 6:off  

5/17/2018 Criando Um Banco de Dados Oracle 11g - slidepdf.com

http://slidepdf.com/reader/full/criando-um-banco-de-dados-oracle-11g 22/23

 

22

Perceba que o script foi adicionado com sucesso e está ativo para ser executado nosníveis de execução especificados no script. Teste o script reiniciando o sistemaoperacional e verifique se a instância foi desligada e iniciada corretamente. Paraconferir o status das operações dos utilitários dbstart e dbshut use os logs que ficamlocalizados em $ORACLE_HOME chamados startup.log e shutdown.log

Configuração dos Clientes 

Para que possamos acessar nosso banco de dados pela rede precisamos instalar o OracleClient Software, que conterá as bibliotecas necessárias para fazer a conexão com obanco de dados. Para isso basta fazer o download do software através do site(http://technet.oracle.com) da oracle. Depois de baixar e instalar o Oracle Clientprecisamos fazer as configurações de rede, para esse exemplo vou apenas configurar oarquivo tnsnames.ora é nesse arquivo onde criaremos o nosso Connect Identifiers (Identicador de conexão) . O Identificador de conexão nada mais é do que um nomeque mapeará as demais informações sobre uma determinada conexão. No exemplo

abaixo o identificador de conexão chama-se “producao”, ou seja, quando referirmos aoidentificador “producao” estamos usando os parâmetros de conexão per tinentes a ele(Host, Port, Protocol). Dessa forma podemos ter vários identificadores de conexão nonosso arquivo tnsname.ora.

Nesse exemplo instalei o Oracle Client na versão 10.1.0 em um computador com oWindows Server 2003 que será nosso cliente. Salve o código abaixo no arquivotnsnames.ora dentro do diretório c:\oracle\product\10.1.0\network\admin\ e teste aconexão usando o SQLPLUS ou qualquer outro utilitário.

producao = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = 192.168.1.100) (PORT=1521)) )(CONNECT_DATA = (SERVICE_NAME = producao.world ) ) ) 

Para testar a conexão usei o “SQLPLUS” usando o identificador de conexão

“producao”. Repare o comando abaixo na imagem. 

5/17/2018 Criando Um Banco de Dados Oracle 11g - slidepdf.com

http://slidepdf.com/reader/full/criando-um-banco-de-dados-oracle-11g 23/23

 

23

sqlplus system/Or4cl3@producao 

Dessa forma estou conectado ao banco de dados criado anteriormente com o usuárioSYSTEM a partir de um computador da rede. Isso mostra que chegamos ao final donosso artigo onde o principal objetivo era entender como criar um banco de dados deforma manual, ou seja, sem usar utilitários e como funciona a relação entre instância ebanco de dados,e também qual a diferença entre os dois. No artigo vimos um poucosobre os parâmetros básicos para se iniciar uma instância, o significado de cada umdeles e os parâmetros necessários para criar um banco de dados usando a instrução“create database”.

Até mais.

Fonte: http://rodrigo-oracle.blogspot.com/2010/01/criando-um-banco-de-dados.html