Pular para o conteúdo principal

Instalando e Configurando o Banco de Dados Oracle


#46
Agora vamos instalar o banco de dados Oracle 11g e ver as configurações necessárias para isso. 
Vamos instalar um banco de dados em um servidor Oracle Linux 6.

Aqui não será apresentado como instalar o servidor Oracle Linux 6, essa instalação foi explicada passo a passo em um post anterior. Mas será solicitado a configuração de alguns itens do servidor, como criação de usuários e permissão de diretórios.

Configuração mínima de servidor para instalar o banco de dados, essa configuração é válida para sistema operacional Windows ou Linux:

1 GB de RAM
1,5 GB de espaço de swap
400 MB no diretório TEMP
1,5 GB a 3,5 GB para o Oracle HomeObs,
1,5 GB para o banco de dados de exemplo
2,4 GB para a área de recuperação flash
Uma CPU de 1 GHz

Para instalar o banco de dados é necessário seguir algumas regras, primeiro vamos configurar o sistema operacional para poder receber a instalação do banco de dados Oracle.

Configurando o Sistema Operacional:

1 - Realize o unzip dos arquivos do banco de dados, ao realizar o unzip será criado um diretório chamado "database", segue a versão do banco de dados Oracle 11g que será instalada:

#11.2.0.4
unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip

2 - Agora vamos editar o arquivo "hosts" e adicionar o nome do novo host.
- Digite # vi /etc/hosts 
Você irá ver um conteúdo parecido com esse:
#############################
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
#############################
Vamos adicionar mais um host, para abrir a edição aperte a tecla "insert", após editar irá ficar parecido com isso (no lugar de xxx.xxx.xxx.xxx você informa seu IP).

#############################
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
XXX.xxx.xxx.xxx srvoracle 
#############################
após editar, para salvar aperte a tecla ESC e depois digite esse texto  :wq   e pressione enter.
3 - Agora vamos criar os grupos de usuário de uso padrão do banco de dados e também iremos criar um usuário com o nome "oracle" e atribuir a ele alguns desses grupos, a senha deste usuário também terá o nome de "oracle", mas você pode escolher o nome que quiser, segue o código para a criação dos grupos e do usuário.

#############################
groupadd -g 501 oinstall
groupadd -g 502 dba
groupadd -g 503 oper
groupadd -g 504 asmadmin
groupadd -g 506 asmdba
groupadd -g 505 asmoper

useradd -u 502 -g oinstall -G dba,asmdba,oper oracle
passwd oracle
#############################
você pode criar quantos usuários quiser e atribuir os grupos a eles, mas é o padrão ter um usuário com o nome "oracle".
4 - Agora iremos editar o arquivo "/etc/security/limits.d/90-nproc.conf"
O arquivo vai estar assim:
#############################
*          soft    nproc     1024
root       soft    nproc     unlimited
#############################
vamos alterar a primeira linha, o seu arquivo irá ficar assim:
#############################
*          -       nproc     16384
root       soft    nproc     unlimited
#############################
após editar, para salvar aperte a tecla ESC e depois digite esse texto  :wq   e pressione enter.

5 - Agora iremos editar o arquivo "/etc/selinux/config"
O arquivo vai estar assim:
#############################
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
#############################
você deve procurar pela variável "SELINUX" e alterar seu valor para "permissive", após alterar, o seu arquivo irá ficar assim:
#############################
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=permissive
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
#############################
após editar, para salvar aperte a tecla ESC e depois digite esse texto  :wq   e pressione enter.
6 - O Oracle precisa de alguns diretórios para a instalação do banco de dados, e para isso o Oracle segue um padrão chamado de OFA (Optimal Flexible Architecture), o OFA nada mais é do que uma conversão de nome para as estruturas de diretórios. A vantagem de usar o OFA é que você vai estar trabalhando sobre o padrão de melhores práticas definidas pelo Oracle.

O coração do OFA são duas variáveis de ambiente, o ORACLE_BASE e a ORACLE_HOME. 
O diretório ORACLE_BASE é um diretório do servidor, ele é a base onde todos os softwares da Oracle (produtos e versões) serão instalados.
Cada produto ou versão terá o seu próprio ORACLE_HOME que estará dentro do diretório do ORACLE_BASE. Esse tipo de estrutura irá garantir que muitos bancos de dados possam ser criados e atualizados sem gravar arquivos em locais não apropriados.

Agora vou apresentar o padrão OFA para a criação dos diretórios dentro do linux. 

- ORACLE_BASE deve ser um diretório denominado de acordo com o template " /pm/h/u " , onde "p" é uma string constante como "u" e "m" é uma constante numérica, como "01", "h" é o nome do diretório padrão, como "app", e "u" é a conta do sistema operacional que será proprietária de todos os softwares Oracle, como "oracle".
A variável ORACLE_BASE irá ficar com esse formato: /u01/app/oracle
Vocês se lembram que na instalacão foi criado uma partição com o nome "U01" , então, será dentro dela que iremos configurar esses diretórios.

- ORACLE_HOME tem o seguinte padrão "$ORACLE_BASE/product/v/db_n" , onde "product" é uma constante e "v" é o número da versão do produto, como "11.2.0.4" e "db_n" é um nome derivado pelo instalador com base no seu tipo de produto, como "db" para o banco de dados e um número de incremento para cada instalacão de produto, como "1".
A variável ORACLE_HOME irá ficar com esse formato: /u01/app/oracle/product/11.2.0.4/db_1

No final teremos definidos nosso dois diretórios em suas respectivas variáveis de ambiente:

/u01/app/oracle    (ORACLE_BASE)
/u01/app/oracle/product/11.2.0.4/db_1   (ORACLE_HOME)

O OFA também defini um padrão para o próprio banco de dados, o padrão é, "$ORACLE_BASE/q/d" , onde "q" é a string "oradata" e "d" é o nome do banco de dados. 
Um exemplo para o banco de dados chamado de "orcl" é: /u01/app/oracle/oradata/orcl

O OFA também define um padrão para as cópias do arquivo de controle, dos arquivos de redo log online e dos arquivos de dados, eles devem ser nomeados da seguinte forma:

Tipo: Arquivo de Controle
Nomenclatura: controlnn.ctl
Variável: nn é um número único
Exemplos: control01.ctl, control02.ctl

Tipo: Arquivo de redo log
Nomenclatura: redonn.log
Variável: nn é um número do grupo de arquivos de redo log online
Exemplos: redo01.log, redo02.log

Tipo: Arquivo de dados
Nomenclatura: tablespacenamenn.dbf
Variável: nome do tablespace do arquivo de dados e um número
Exemplos: system01.dbf, system02.dbf
Então agora vamos criar os diretórios seguindo o padrão OFA, como estamos criando os diretórios com o usuário root, temos que dar a permissão para o grupo "oinstall" e para o usuário "oracle". Siga esses comandos:

#############################
mkdir -p /u01/app/oracle/product/11.2.0.4/db_1
chown -R oracle:oinstall /u01
chmod -R 775 /u01
#############################

7 - Agora precisamos realizar o login como usuário "oracle". Após realizar o login como usuário "oracle", vamos editar o arquivo ".bash_profile".

Para abrir ele é fácil, siga esses comandos:

# cd ~
# vi .bash_profile

dentro desse arquivo iremos adicionar essas variáveis de ambiente abaixo, não apague o conteúdo que já está no arquivo ".bash_profile", apenas adicione as informações abaixo das já existentes, as variáveis de ambiente abaixo segue o padrão OFA informado anteriormente.

#############################
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

ORACLE_HOSTNAME= $HOSTNAME; export ORACLE_HOSTNAME
ORACLE_UNQNAME=orcl; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_1; export ORACLE_HOME
ORACLE_SID=$ORACLE_UNQNAME; export ORACLE_SID

PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH


## Essa variável podemos definir ela aqui, ou diretamente no prompt toda vez que for executar algum ## OUI do Oracle, ## exemplo o sqlplus

DISPLAY=localhost:10.0; export DISPLAY

#############################

8 - Para finalizar a configuração vamos usar um atalho para configurar os demais parâmetros de configuração necessários, entre com o seguinte comando usando o usuário root.

# yum install oracle-rdbms-server-11gR2-preinstall

esse comando irá instalar e realizar as configurações necessárias.


9 - Agora que esta tudo configurado no servidor, vamos instalar nosso banco de dados Oracle.

Para acessar a parte gráfica, primeiro precisamos desativar o firewall, entre com o seguinte comando:

# service iptables stop

A partir de agora vamos para a parte gráfica, mas antes de iniciar o instalador, vamos verificar se a parte gráfica esta acessível e para isso vamos executar o seguinte comando:

Obs: Algumas vezes o usuário ROOT não consegue chamar a interface gráfica.
# xclock
se após executar esse comando aparecer esse erro " -bash: xclock: command not found " ou outro erro que não permita a execução do relógio, então, vamos ter que instalar alguns pacotes, execute esse comando com o usuário root:

# yum install xorg-x11-apps.x86_64
ele irá instalar os pacotes necessários, após a instalação execute novamente o comando do relógio, se aparecer o relógio então podemos iniciar a instalador do Oracle, se aparecer outro erro, feche o shell e abre novamente, depois digite:

# echo $DISPLAY

irá aparecer algo como " localhost:10.0 ", se não apresentar nada você pode tentar seta a variável DISPLAY, mas esse nome pode alterar, então se você abrir um outro shell sem fechar o anterior, você não pode usar o mesmo valor para a variável, vai ser algo do tipo.

# DISPLAY=localhost:10.0; export DISPLAY

se você abrir outro shell, sem fechar o anterior, ficaria tipo assim

# DISPLAY=localhost:11.0; export DISPLAY

Se o display ainda não está funcionando e você está acessando o servidor via SSH, então abra a conexão SSH da seguinte forma e verifique se o display aparece : ssh -X user@ip

Se ainda não funcionou, verifique se o parâmetro X11Forwarding yes está habilitado. Para acessar esse parâmetro você precisa estar logado como root, ele fica dentro do diretório "/etc/ssh/sshd_config".

Se mesmo realizando essas configurações o xclock der erro, então você vai ter que pesquisar no Google para conseguir se adequar.

Para executar o instalador do Oracle, volte a usar o usuário "oracle". Agora que você esta logado com o usuário "oracle", acesse o diretório "database", esse diretório foi criado quando você realizou o unzip dos arquivos de instalação do Oracle.

# ./runInstaller

* É possível realizar uma instalção silenciosa ou ignorando qualquer erro de pré-requisitos, vamos não vou abordar isso nesse momento.
Agora vamos falar sobre as configurações sobre a interface gráfica.

Nessa primeira tela, você pode desmarcar o checkbox e não é preciso preencher o seu email, somente se você quiser. Agora, clique no Next e vamos para a próxima tela.


Agora vamos escolher o último radio buttom e aperta em Next.


Como iremos instalar somente o banco de dados, escolha a segunda opção, a primeira opção instala o banco de dados e cria uma base.



Nessa tela escolhemos o tipo de instalação, vamos escolher uma instalação simples, instalação do tipo Cluster ou RAC iremos ver em um outro momento.



Agora iremos definir a linguagem que desejamos.



Agora vamos definir o tipo de edição do banco de dados que iremos instalar, eu escolhi a primeira "Enterprise Edition".



Nessa tela vamos definir onde serão instalados o banco de dados e os softwares e produtos da Oracle, se você observar, os campos já vem preenchidos de forma correta, isso porque nos passos anteriores definimos as variáveis e as informações delas que são apresentadas nesses campos, ORACLE_BASE e ORACLE_HOME.


Agora é apresentado a opção de escolher onde será criado o diretório do Inventário. Sugiro o caminho que vem de padrão. Se nessa tela gerar algum erro, um dos motivos é que esse diretório já possa existir, isso ocorre se você para a instalação na metade, desta forma, acesse o diretório e exclua os arquivos que existem lá, se você quiser manter uma cópia desse arquivo copie ele para outro lugar.

O Inventário é o componente central do OUI, o Inventário é um conjunto de arquivos que em condições ideais existe fora de qualquer Oracle Home. O inventário armazena detalhes de todos os produtos Oracle instalados na máquina, incluindo a versão exata, o local e em alguns caso, os detalhes de patches que foram aplicados. Em cada execução do OUI verificará o inventário para obter incompatibilidades antes de permitir que uma instalação em um Oracle Home existente prossiga e então irá atualizar o inventário.



Agora iremos escolher os grupos de usuários do linux para acesso aos grupos de usuários do banco de dados. Iremos escolher o grupo "dba" e "oper", clicando em Next iremos iniciar validação dos dados para permitir a instalação.




A validação encontrou um erro, o erro informa que a memória física é menor que a necessária. Se você observar nos detalhes a expectativa é de 1GB e encontrou apenas 990MB, esse erro não gera tanto problema, pois o servidor foi definido com 1GB. Para pular esse erro você pode marcar o checkbox no topo e apertar em Next, irá aparecer um popup e você pode clicar em "Yes".




Nessa tela é apresentada as informações sobre o que o Oracle irá instalar, você pode salvar essa instalação para usar em outras instalações e clicando em Next inicia a instalação do banco de dados.




No final da instalacão irá aparecer um popup pedindo que você execute dois arquivos usando o usuário root.

Você deve apenas executa-los como ROOT, o segundo arquivo " /u01/app/oracle/product/11.2.0.4/db_1/root.sh " vai pedir para você digitar o caminho do PATH, apenas aperte ENTER para usar o caminho padrão.

O porque disso, é que, por segurança você não consegue executar o OUI com o usuário root, mas somente um usuário root pode escrever dentro dos diretórios /etc e /var, o OUI irá gerar os scripts "orainstRoot.sh" que ao ser executado irá criar o arquivo "oraInst.loc" esse arquivo é o meio usado para o OUI encontrar onde o inventário foi instalado, o outro arquivo a ser executado como root é o "root.sh" esse arquivo é responsável por ajustar as permissões dos arquivos no novo Oracle Home. Se não for a primeira vez que o OUI é executado na máquina, não haverá um prompt para o "orainstRoot.sh".

Se você tiver curiosidade, você pode abrir esses dois arquivos com um editor e ver o script que é executado por eles.

Agora é só clicar em OK e seu banco de dados esta instalado.




No próximo post iremos aprender a criar uma base de dados.

Se tiverem dúvidas realizem um INSERT nos comentários e depois dê um COMMIT que depois respondo.

Abraço e bons estudos.

Comentários

Postagens mais visitadas deste blog

Conhecendo a arquitetura do Banco de Dados Oracle

#15 Vamos focar mais no ambiente de banco de dados mais comum, que é uma instância em um computador, abrindo um banco de dados armazenado em discos locais. Sempre que for mensionado instância, esta se referindo ao banco de dados em funcionamento. Um banco Oracle é composto por duas estruturas, uma lógica e uma física. A estrutura lógica é chamada de instância e composta por estruturas de memória e processos, a sua existência é temporária na memória RAM e CPU e fica ativa enquanto o banco Oracle estiver ligado, se desligar o banco Oracle toda a informação ou vestígios de sua existência será apagado da memória, ao ligar o banco Oracle a instância é carregada novamente na memória. Os processos que compõem a instância trabalham em segundo plano e fica ativo o tempo todo enquanto a instância estiver ativa. A estrutura física é onde fica armazenado as informações, e uma vez criado, ele existe até que o DBA deliberadamente decida exclui-lo. Quando um banco Oracle é iniciado, na me...

O Cache de Buffer do Banco de dados - Estruturas de Memória no Oracle

#21 Vamos conhecer um pouco mais sobre o Cache de Buffer de Dados. O Cache de Buffer de Dados é o local de trabalho do Oracle, é nessa área que ele executa as SQLs. A função dessa área é otimizar e melhorar o desempenho das instruções DML. O maior gargalo de um banco de dados é o I/O dos arquivos em disco. Mas antes de explicar como funciona o Cache de Buffer de Banco de dados, vamos entender rápidamente o que é bloco, desta forma você não fica perdido, os arquivos de dados que contém os registros que são as linhas da tabela, indices e outros objetos de dados são formatados em blocos de tamanho fixo, o DBA pode definir um tamanho para esses blocos ou deixar de forma automática. A quantidade de linhas por bloco é indefinida, pois, as linhas possuem comprimento variável, o comprimento desta linha dependerá do número de colunas e os tipos de informações definidos para a tabela. De acordo com tamanho das linhas, pode haver várias linhas por bloco ou uma linha pode se estender por vár...

Shared Pool - Estruturas de Memória no Oracle

#23 O Shared Pool é considerada umas das estruturas de memórias mais complexas da SGA, ela é dividida em dezenas de subestruturas e todas são gerenciadas internamente pelo Oracle. Mas nesse momento vamos citar apenas os 4 principais componentes desta estrutura, as demais serão analizadas posteriormente. Quando uma aplicação executa uma DML, vários processos internos no Oracle são realizados até o retorno do resultado para o usuário. E esses 4 componentes tem participação direta na execução da DML e com isso gerando um bom desempenho do banco de dados. Os 4 principais componentes são: - O Cache de Biblioteca - O Cache de Dicionário de Dados - A Área PL/SQL - O Cache de Resultados de Funções PL/SQL e Consultas SQL Agora, vamos conhecer um pouco mais de cada um. - O Cache de Biblioteca (library cache) Todas instruções DML enviadas pela aplicação devem ser analizadas pelo Oracle. Quem realiza essa análise é o parse, o parse converte o código escrito pelos progra...