Beruflich Dokumente
Kultur Dokumente
11.2.0.4
Versão: 1.1
SUMÁRIO
Objetivo ................................................................................................................... 3
Introdução ............................................................................................................... 3
Motivadores .............................................................................................................. 3
Principais mudançaos no Oracle 11gR2 ........................................................................ 5
OFA (Optimal Flexible Architecture)............................................................................................................ 5
Parâmetros Depreciados ........................................................................................................................... 5
Ambiente ................................................................................................................. 6
Configurando o Sistema Operacional ............................................................................ 6
1 – Descrição de Servidores x Banco de Dados ......................................................................................... 20
1.1 – Definindo Estruturas de Rede (bond) ............................................................................................... 20
2 – Pré-Requisitos .................................................................................................................................. 26
2.1 – Criar os grupos no S.O ................................................................................................................... 28
2.2 – Criar os usuários para o GRID e DATABASE ...................................................................................... 28
2.3 – Definir senhas para os novos usuários ................................................. Error! Bookmark not defined.
2.4 – Configuração de Serviços do S.O ......................................................... Error! Bookmark not defined.
2.6 – Configuração de Parâmetros do Kernel............................................................................................. 29
2.7 – Atualização de limits do Shell para user “oracle” ............................................................................... 30
2.7.1 – Editar limits.conf ............................................................................. Error! Bookmark not defined.
2.7.2 – Editar login ..................................................................................... Error! Bookmark not defined.
2.7.3 – Editar profile ................................................................................... Error! Bookmark not defined.
2.8 – Desabilitar SELINIX ........................................................................................................................ 33
2.11 – Criar o Diretório do Oracle Base ..................................................................................................... 34
2.12 – Criar o Diretório do Oracle RDBMS ................................................................................................. 34
2.13 – Criar os Pacotes de instalação ........................................................... Error! Bookmark not defined.
2.15 – Verificar todos os pacotes necessários do SO (64 Bits) ......................... Error! Bookmark not defined.
2.16 – Criar o arquivo .bash_profile do user oracle e grid ........................................................................... 35
2.17 – Configurar o /etc/hosts ..................................................................... Error! Bookmark not defined.
3 – Descrição ............................................................................................. Error! Bookmark not defined.
3.1 – Verificando o Kernel ........................................................................... Error! Bookmark not defined.
3.2 – Instação dos Pacotes RPM .................................................................. Error! Bookmark not defined.
4 – Validando a Instalação .......................................................................... Error! Bookmark not defined.
4.1 – Checando os serviços do Grid StandAlone ............................................ Error! Bookmark not defined.
Instalando o RDBMS – Software Only Install ............................................................... 35
5 – Pós-Instalação ...................................................................................... Error! Bookmark not defined.
5.1 – Execução do root.sh ........................................................................... Error! Bookmark not defined.
Criação do Database ................................................................................................ 53
Validações Finais do Ambiente .................................................................................. 81
7 – Validação ............................................................................................. Error! Bookmark not defined.
7.1 – Validação da instalação ...................................................................... Error! Bookmark not defined.
Conclusão................................................................................................................. x
Referências .............................................................................................................. x
Objetivo
O objetivo deste documento é descrever passo a passo a instalação de um ambiente Oracle
11gR2 no Linux 7.5 x64.
Introdução Oracle
Devido as altas demandas da área de banco de dados se faz necessário ter um padrão que
atenda aos nossos clientes, diminuindo o tempo de implantação e aumentando a eficiência na
gestão do ambiente, tendo isso em mente, este manual segue criteriosamente as
recomendações da Oracle para a instalação e configuração de um ambiente de banco de
dados.
Motivadores
“Nós não somos daqueles que retrocedem para a destruição, mas da fé que avançam para a
conservação da alma”.
Deus, meu grande ajudador e mentor. A minha família e amigos que tanto amo. Não teria
chego até aqui sem eles.
● Estrutura de memória;
● Estrutura de processos;
● Estrutura de armazenamento;
Estrutura de Memória: É composta pela SGA que é uma área na memória do servidor
reservada para cache e processamento de transações, dentro da SGA há outros componentes
cada qual com um propósito específico.
Estrutura da SGA:
Estrutura de processos:
Estrutura de armazenamento: Os dados são armazenados em arquivos. Internamente
existem estruturas dentro do banco de dados que fornecem um mapeamento lógico dos dados
nos arquivos de dados.
Tablespace é uma divisão lógica que permite gerenciar melhor a maneira como os dados são
armazenados, podendo separar os dados de cada aplicação por tablespace no banco de dados.
Arquivos de dados: É onde está a persistência dos dados, ou seja, onde os dados em si são
armazenados. Ao criar um tablespace é criado também um arquivo de dados, como foi dito
anteriormente o tablespace é uma divisão lógica enquanto o arquivo de dados é uma divisão
física de armazenamento.
Parâmetros Depreciados
Os parâmetros background_dump_dest, core_dump_dest, user_dump_dest foram depreciados.
Agora, todos os traces podem ser encontrados em DIAGNOSTIC_DEST.
Senhas
As senhas agora por padrão são SENSITIVE CASE, portanto, muita atenção com usuários de aplicação, isso
poderá ser um problema em uma migração. O recurso pode ser desligado alterando o parâmetro
sec_case_sentitive_logon = FALSE.
Ambiente
O ambiente está configurado da seguinte forma:
OraDb11g
Nome do server
O ambiente nome do server é composto de 1 (um) servidor Linux, descrito abaixo:
Oradb11g
Versão de SO Oracle Linux 7.5 x86_64
Modelo de Hardware Servidor virtualizado.
Memória 4096M
Qtd de CPU´s 2
IP Principal 192.168.56.200
No momento da instalação do SO, é importante lembrar os tamanhos para memória física, virtual (SWAP), e
espaço em disco, que devem seguir a tabela abaixo:
(Vide note: 880989.1)
No checkbox selecione “/boot” e em seguida insira o tamanho da partição, neste caso 500Mb, clique em
“Add mount point”:
Onde está File System, mude de xfs para ext4 e clique em Update Seting:
Adicione uma nova partição:
Adicione uma nova partição, altere o file system para ext4 e clique em Done:
Next.
Na tela privacy clique em next.
Na tela de localização, selecione São Paulo, Brasil e clique em next.
Na tela Connect your online accounts, clique em next.
Senha: oracle:
Instalação do sistema operacional realizada com sucesso:
1 – Descrição de Servidores x Banco de Dados
# cd /etc/sysconfig/network-scripts
# vi ifcfg-bond0
# vi ifcfg-enp0s8
# vi /etc/modprobe.d/bonding.conf
Desabilite o NetworkManager
# systemctl stop NetworkManager
# systemctl disable NetworkManager
A partir desse momento todas as etapas serão realizadas através do terminal de linha de comando putty.
1.3 – Montar discos para o banco de dados
O banco de dados nunca deve ficar no mesmo disco do sistema operacional, ou seja,
devemos ter discos exclusivos para o banco de dados. Nesta instalação a máquina
conta com 3 discos exclusivos para o Oracle Database, nos quais serão montadas as
seguintes unidades:
DISCO Unidade
SDB /u01
SDC /u02
SDD /u03
Antes de montarmos as unidades nos discos devemos criar uma partição primária em cada disco.
Obs.: Ao inserir este comando o prompt irá solicitar algumas informações, insira essas informações
respectivamente conforme abaixo:
# fdisk /dev/sdb
Command (m for help): n
Select (default p): p
Partition number (1-4, default 1): (Apenas de enter)
First sector (2048-41943039, default 2048): (Apenas de enter)
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): (Apenas de enter)
Command (m for help): w
Repita esse processo para os outros dois discos que serão utilizados pelo Oracle Database.
Formate o disco no tipo de file system padrão EXT4:
# mkfs.ext4 /dev/sdb1
Repita esse processo para os outros dois discos que serão utilizados pelo Oracle Database.
Precisamos atualizar a tabela de partições do sistema operacional, ou seja, incluir no arquivo fstab
os novos discos e seus respectivos pontos de montagem para que no carregamento do sistema
operacional o mesmo não perca a referencia dos discos e pontos de montagem.
# vi /etc/fstab
Por fim iremos agora criar as pastas e monta-las como partição.
# mkdir /u01
# mkdir /u02
# mkdir /u03
# mount /u01
# mount /u02
# mount /u03
# df -h
2 – Pré-Requisitos
Nesta etapa da instalação iremos realizar a parametrização do sistema operacional, ou
seja, adequa-lo para o banco de dados. Cada uma das etapas é fundamental, pois, no
momento da instalação dos binários o instalador irá realizar um chekup para verificar se
todos os parâmetros estão de acordo a documentação.
Use este comando para checar quais pacotes da lista informada acima ainda não foram
instalados:
Exemplo:
Editar sysctl.conf
# vi /etc/sysctl.conf
Após setarmos o arquivo, é necessário forçar o kernel reler o mesmo e assim fazê-lo
entrar em vigor neste momento.
# sysctl -p
Editar limits.conf
# vi /etc/security/limits.conf
# vi /etc/pam.d/login
#PARAMETROS ORACLE 11g
session required pam_limits.so
2.9 – Alteração no profile
# vi /etc/profile
# cat /etc/sysconfig/selinux
# vi /etc/sysconfig/selinux
Quando você instala o software Oracle no sistema pela primeira vez, Oracle Universal
Installer (OUI) cria o arquivo oraInst.loc. Este arquivo identifica o nome do grupo de
inventário Oracle, e o caminho do diretório de inventário Oracle.
Para determinar se o grupo de inventário do Oracle existe, digite o seguinte comando:
more /etc/oraInst.loc
Como estamos parametrizando, ou seja, preparando o ambiente, o resultado do
comando está ilustrado abaixo.
Após a instalação do software do banco de dados, o oraInst.loc irá existir, então a
saída deste comando será:
inventory_loc = / u01/app/oraInventory
inst_group = oinstall
Na saída do exemplo anterior:
● O inventory_loc grupo mostra a localização do inventário do Oracle
● O inst_group parâmetro indica o nome do grupo de inventário Oracle (neste exemplo,
oinstall).
# mkdir -p /u01/app/oracle
# mkdir -p /u01/app/oracle/product/11.2.0.4/dbhome_1
# su – oracle
# vi .bash_profile
# $ /u01/app/binarios/database/runInstaller
A primeira tela de instalação solicita o cadastro junto ao My Oracle Support, porém, não é
obrigatório.
Desabilite a verificação de updates via My Oracle Support e clique em next.
O instalador irá pergutar se temos certeza de que não queremos verificar os updates via My
Oracle Support, clique em YES.
Caso você tenha um software pré-update para ser instalado junto aos binários, você pode
colocar neste momento. Como não temos e não iremos atualizar o banco de dados, pois, se
trata de uma nova instalação e não de um upgrade de uma versão existente já instalada,
clique em Skip Software Update e depois em next.
● Single instance database installation – Esta opção é para banco de dados que não trabalham
em cluster, ou seja, uma instância que acessa um único banco de dados.
● Oracle Real Application Clusters database installation – Para criar uma instalação de Oracle
RAC.
● Oracle RAC One Node Database installation – Para adicionar um nó (servidor) a um cluster
Oracle RAC já existente.
Há ainda as options que mesmo na versão Enterprise Edition precisam ser adquiridas a parte.
Clique em yes.
Nessa etapa nos é apresentado um sumário da instalação que será realizada, repare em todas
as informações contidas na tela, espaço em disco, versão do banco de dados, diretório Oracle
Base, diretório Oracle Home onde será instalado o software e os grupos envolvidos.
Repare também que é mostrado a pasta onde o oraInventory será criado e o seu grupo.
Clique em next para iniciar a instalação.
Erros conhecidos:
Este erro acontece quando é instalado o Oracle Database 11.2.0.4 na versão 7 do Oracle Linux
ou Red Hat.
$(SYSMANBIN)emdctl:
$(MK_EMAGENT_NMECTL)
$(SYSMANBIN)emdctl:
$(MK_EMAGENT_NMECTL) -lnnz11
# /u01/app/oraInventory/orainstRoot.sh
# /u01/app/oracle/product/11.2.0.4/dbhome_1/root.sh
Após executar de enter e ele terminará de realizar a cópia dos arquivos necessários.
Instalação realizada com sucesso. Clique em close.
4.Criação do Database
Antes de sairmos criando um banco de dados, como normalmente é feito, vamos
primeiro entender o porquê iremos fazer o que vamos fazer, e para isso é necessário
que entendamos como funciona a arquitetura Oracle.
Um banco de dados nada mais é do que um conjunto de dados armazenados em um
local. Esses dados são armazenados em tabelas no formato relacional, ou seja, tabelas
que se relacionam entre si ou não.
A estrutura de tabela é simples de entender, temos colunas e linhas, as colunas
descrevem os dados e as linhas são onde de fato os dados são armazenados.
Além de suportar o formato relacional (tabelas) de armazenar dados, o Oracle também
suporta estruturas orientadas a objetos (OO) para armazenamento de dados.
Os dados em um banco de dados Oracle são armazenados em arquivos,
independentemente se você utiliza o formato relacional ou orientado a objetos,
internamento existem divisões lógicas que fornecem um mapeamento lógico dos dados
nos arquivos, essas divisões lógicas são chamadas de Tablespaces. Os tablespaces
permitem que armazenemos os dados separadamente, ou seja, diferentes tipos de
dados, serão armazenados separadamente.
Isso significa que podemos ter um tablespaces para a aplicação de RH, outro tablespace
para o setor Comercial, e assim por diante.
Essa imagem descreve o que é escrito no inicio do documento no tópico Visão Geral do
Oracle Database. Neste momento entenderemos o porque separamos 3 discos
exclusivos para o Banco de dados.
Estruturas de memória:
SGA – System Global Area: A SGA é uma área na memória compartilhada por todos
os usuários que acessam o banco de dados. A sua usabilidade é fundamental para se
ter um banco de dados mais performático. Pense na SGA como uma area de memória
rápida para consulta de dados, isso porque, todos os dados consultados no banco de
dados são carregados para a SGA o que força o banco de dados ler num primeiro
momento diretamente dos arquivos de dados (datafile) físicamente no disco (I/O), uma
vez feito a leitura esses dados consultados permanecem na SGA caso os dados sejam
consultados novamente eles já estão na memória não sendo necessário fazer I/O para
buscar os dados nos arquivos de dados (datafile).
A SGA é composta por sub-areas cada qual tem um papel específico
Estrutura de processos:
Os processos background (Segundo plano) que realizam todo o controle do banco de
dados, logo, os processos são serviços que garantem a integridade do banco de dados e
se um desses processos falharem provavelmente você notará que o banco de dados
ficará indisponível.
No inicio do documento há uma descrição desses 6 principais processos.
Estrutura física:
Os seguintes arquivos compõem a estrutura física do banco de dados:
● Arquivo de dados (datafile) – Este arquivo como o próprio nome diz contem
dados, é onde o banco de dados armazena seus dados.
● Arquivo de controle (controlfile) – Este arquivo é fundamental, pois, ele faz o
controle interno do banco de dados. O arquivo de controle mantem a consistência dos
arquivos do banco de dados, e orientam sobre as operações de recuperação. A Oracle
recomenda que esses arquivos sejam multiplexados.
● Arquivos de redo log online (redo log files) – Esses arquivos mantém uma cópia
das transações que estão sendo realizadas no banco de dados, ou seja, cada operação
de insert, update ou delete ficam armazenadas nesse arquivos para uma eventual
recuperação de dados caso seja necessária. A Oracle recomenda que esses
arquivos sejam multiplexados.
● Archive log – Esses arquivos só são criados quando o banco de dados é colocado em
modo ARCHIVELOG, esses arquivos são cópias exatas dos arquivos de redo log online,
todavia, ficam armazenadas. Um exemplo da sua importância ao Oracle é que ele
permite que recuperemos o banco de dados totalmente, pense no seguinte cenário:
Em um ambiente de banco de dados é realizado o backup todos os dias as 02h, porém,
acontece uma falha as 16h30 minutos, isso significa que se tivermos apenas o backup
das 02h perderemos 14 horas de dados, porém, se estiverem sendo gerados archives
que nada mais são do que cópias de todas as transações submetidas ao banco de dados
nós poderemos restaurar o backup e vir aplicando todos os archives gerados até as
16h30 minutos.
● Log de alerta (alert log) – O alert log é indispensável para a administração de um
banco de dados, com ele nós vemos em tempo real todas as operações que são
submetidas ao banco de dados, vemos as operações que realmente tem impacto sobre
o banco de dados, por exemplo, a exclusão de tablespaces, a falha de algum dos
processos de background. O alert log são os olhos do DBA Oracle.
● Arquivo de inicialização (init.ora) – Este arquivo contém todos os parametros de
inicialização do banco de dados, isso inclui os valores da SGA, localização dos arquivos
de dados, localização do(s) arquivos de controle e também a localização dos arquivos
de redo log online, entre outras informações. A Oracle recomenda que nós DBA
utilizemos spfile, ou seja, o spfile é um arquivo binário que contém todas as
informações que tem no init.ora, porém, por ser um arquivo binário não é possível ler o
mesmo, onde somente o banco de dados entende o que nele está. Isso garante
segurança ao banco de dados.
● Arquivo de senhas (password file) – Esse arquivo contém as senhas dos usuários
do banco de dados.
● Arquivos de rastreamento (trace files) – Cada processo background gera um
arquivo de log caso apresente alguma falha. Esses arquivos devem ser utilizados para
rastrear falhas inesperadas tentando localizar sua causa raíz.
Com todo esse entendimento iremos iniciar a criação de um banco de dados que atenda
as recomendações da Oracle.
Antes de iniciarmos a criação do banco de dados devemos primeiramente criar e
configurar o listener.
O Listener é o serviço de rede do Oracle Database, sem o listener nenhum usuário (ou
aplicação) conseguirá se conectar ao banco de dados através da rede comente
localmente no servidor.
# netca
Nesta tela você pode dar um nome ao Listener, por padrão deixaremos Listener. Clique
em next.
Aqui Podemos selectionar quais protocolos devem ser suportados pelo Listener, por
padrão as conexões realizadas hoje em dia são via TCP/IP. Deste modo clique em next.
A porta 1521 é a porta padrão utilizada pelo Listener, todavia, caso seja uma
necessidade de rede configurar outra porta basta selecionar a opção Use another port
number e inserir a porta de conexão. Neste caso utilizaremos a porta padrão 1521.
Clique em next.
Nesta tela o assistente da a opção de configurar um novo listener, deixe a opção no
habilitada e clique em next.
Vamos criar um novo banco de dados, selecione a opção Create a Database e clique em
next.
Passo 2: Nesta tela iremos escolher qual o modelo de banco de dados que iremos
utilizar, note que existem 3 modelos:
Selecione a opção Use the Same Administrative Passwaord for all Accounts, defina uma
única senha para todos esses usuários e clique em next.
Senha: oracle.
Clique em Yes.
Passo 6: Nesta tela Podemos configurar onde serão armazenados os arquivos de do
banco de dados. Note que há duas opções em Storage Type, a primeira é File System e
a segunda ASM. Escolha File System.
Repare também em outra informação importante, em Database Files Location, é
colocado lá ORACLE_BASE/oradata, esse é o diretório onde ficarão os arquivos de
dados (datafile), arquivos de controle (controlfile) e arquivos de redo log online (redo
log files). Clique em next.
Passo 7: Nesta tela é onde realizamos a configuração da Fast Recovery Area (Um
espaço na qual teremos todos os arquivos necessário para recuperar um banco de
dados) e também Podemos habilitar o modo archivelog no banco de dados, porém,
faremos isso manualmente após o banco criado. Clique em next.
Passo 8: Nesta tela Podemos habilitar ou não os schemas de teste da Oracle, para fins
de estudo habilite os schema e clique em next.
Passo 9: Começamos a criação deste tópico falando sobre a arquitetura do banco de
dados, onde agora sabemos que o Oracle é composto de 3 estruturas, umas dessas
estruturas é a estrutura de memória e é neste passo que configuramos o tamanho da
SGA e como ela será gerenciada. A Oracle recomenda que seja alocado para a SGA no
entre 40% a 60% da memória total do servidor. Deste modo iremos definir 60% da
memória do servidor somente para o banco de dados. Desabilite O AMM – Automatic
Memory Management.
Esses são alguns dos parametros de inicilização do banco de dados, há ainda muitos
outros parametros que ao clicar em Show Advanced Parameters são possíveis de serem
vistos e alterados. A criação de um banco de dados deve ser pensada e dimensionada
para a aplicação, se criarmos corretamente um banco de dados reduziremos em pelo
menos 50% a 80% a necessidade de ajustes e manutenções. Clique em close e vá para
a aba Connection Mode.
Há dois tipos de conexão a ser configurada em um banco de dados
● Dedicated Server mode – Use esta opção se o seu banco de dados terá um número
pequeno de usuários que se conectaram e se manterão conectados por longos períodos.
● Shared Server Mode – Ideal para bancos de dados que terão um grande volume de
clients. Essa opção faz com que os usuários compartilhem de um pool de conexão.
Selecione Dedicated Server Mode e clique em next.
Passo 10: Nesta tela é onde executamos a multiplexação dos arquivos de controle
(controlfiles) e também dos arquivos de redo log online (redo log files).
Selecione controlfile no lado esquerdo, em File Directory altere o diretório do arquivo
control02.ctl para /u02/app/oracle/oradata… Como está na imagem abaixo.
Em Datafiles Podemos ver onde serão criados os arquivos de dados iniciais do banco de
dados. Lembre-se que ORACLE_BASE é uma variável que setamos no arquivo
bash_profile cujo valor é /u01/app/oracle.
Em Redo Log Groups, clique em “1”. Como a Oracle recomenda iremos multiplexar os
arquivos de redo log online.
Inicialmente, File Size (Tamanho do arquivo) altere a escala para Mbytes e sete um
tamanho de 50 MB. Ou seja, ao fazer isso, estamos criando arquivos de redo log com o
tamanho de 50Mb cada um. Na coluna File Name clique na linha vazia logo abaixo do
redo01.log e adicione um novo arquivo de redo log, porém, apontando para outro
disco. Repare nas nomenclaturas. Redo01a.log terá a mesma informação de
redo01b.log, pois os mesmos fazem parte do mesmo grupo (Group 1) e estão
multiplexados em discos diferentes.
Vá para o Segundo grupo de redo log, clique em 2.
Passo 11: Nesta tela Podemos gerar um script de todos os commandos que o DBCA irá
executar para criar o banco de dados. Clique em Finish para iniciar a criação do banco
de dados.
Clique em Ok.
Neste momento todos os arquivos do banco de dados estão sendo criados.
O banco de dados orcl foi criado com sucesso.
Repare que nesta tela aparece também o endereço do Enterprise Manager Database
Control: https://192.168.56.200:1158/em.
Clique em exit.
$ sqlplus / as sysdba
7.Referências
● Oracle 9i O Manual do DBA;
● https://www.oracle.com/technetwork/pt/articles/database-performance/introducao-
conceito-de-tablespaces-495850-ptb.html