Entendendo o OFA do Oracle 12c – Optimal Flexible Architecture

Todo DBA deve se familiarizar com a estrutura de diretório do Oracle, esse é um dos princípios básicos que devemos dominar. Uma hora ou outra esqueço de algum diretório e perco um tempinho para me lembrar, até mesmo quando estou num processo de remoção do software para uma nova instalação, visando está orientação, fiz uma pequena documentação sobre o assunto para uma rápida consulta quando necessário.

Apesar da figura abaixo está relacionada a versão 12c do Oracle, boa parte também se aplica a versão 10g e 11g.

OFA 12c

O OFA inclui alguns diretórios que devemos nos familiarizar:

  • Diretório Oracle Inventory
  • Diretório Oracle base (ORACLE_BASE)
  • Diretório Oracle home (ORACLE_HOME)
  • Diretório Oracle Network file  (TNS_ADMIN)
  • Diretório – Automatic Diagnostic Repository ( ADR_HOME)

Esses diretórios são discutidos abaixo:


Oracle Inventory Directory

O Oracle inventory directory armazena o inventário do software Oracle instalado no servidor. Esse diretório é requerido e esta compartilhado em torno de toda instalação do software oracle no servidor. Quando você instala o Oracle, o instalador checa para vê se existe uma estrutura OFA no formato /u[0-9]/app. Se tal diretório existe, então o instalador cria um Oracle inventory directory tal como:

/u01/app/oraInventory

Se a variável ORACLE_BASE está definida para o usuário oracle do sistema operacional, então o instalador cria um diretório para a localização do inventário Oracle.

ORACLE_BASE/../oraInventory

Por exemplo, se ORACLE_BASE está definido como /ora1/app/oracle, então o instalador define a localização do inventário Oracle como:

/ora01/app/oraInventory

Se o instalador não achar a estrutura de diretório OFA ou uma variável ORACLE_BASE, então a localização para o Oracle inventory é criada abaixo do diretório HOME do usuário oracle. Para instance, se o diretório HOME é /home/oracle, então a localização do Oracle inventory é

/home/oracle/oraInventory


Diretório Oracle Base

O diretório Oracle base é o diretório top para instalação do software Oracle. Você pode instalar uma ou mais versões do software Oracle neste diretório. O OFA para o diretório Oracle base é como seguinte:

/<mount_point>/app/<software_owner>

O nome típico para o mount point inclui /u01, /ora01, /oracle, e /oracle01. Você pode nomear o mount point de acordo com seu ambiente. Eu prefiro usar um nome para o mount point tal como /u01, /ora01. É curto, e quanto eu olho o mount point  sobre o servidor database, eu posso imediatamente dizer que está sendo usado por um Oracle database. Também, um mount point curto é mais fácil para usar quando você está consultando o dicionário de dados para reportar sobre aspecto físico do seu banco de dados e até mesmo para navegar entre os diretório no SO fica mais fácil.

O owner do software é tipicamente dado o nome de oracle. Este é o usuário do SO que você usa para instalar o software oracle. Abaixo segue um pequeno exemplo:

/u01/app/oracle


Diretório Oracle Home

O diretório Oracle home define a localização da instalação do software para um produto particular, tal como Oracle Database 12c ou Oracle Database 11g. Você deve instalar produtos diferentes ou releases diferentes de um produto em Oracle homes separados. A OFA recomenda o diretório Oracle home como o seguinte:

ORACLE_BASE/product/<version>/<install_name>

Na linha de código anterior, possíveis versões (version) podem ser 12.1.0.1 e 11.2.0.3>. Possíveis valores para install_name inclui db_1, devdb1, test2 e prod1. Aqui está um exemplo de um Oracle home para um database 12.1.

/u01/app/oracle/product/12.1.0.1/db_1

Alguns DBAs não gostam da string db_1 no final do diretório ORACLE_HOME e vê que não precisa disso. A razão para o db_1 é que você pode ter duas instalações separadas de binários: uma instalação desenvolvimento e uma instalação teste. Se você não precisa desta configuração em seu ambiente, sinta-se livre para deletar a string extra (db_1).


Diretório Oracle Network Files

Alguns utilitários Oracle usam o valor TNS_ADMIN para localizar o arquivo de configuração na rede. Este diretório e definido como ORACLE_HOME/network/admin. Tipicamente contém o tnsnames.ora e listener.ora arquivo Oracle net.


Automatic Diagnostic Repository

Iniciado com Oracle Database 11g, o diretório ADR_HOME especifica a localização dos arquivos de diagnostico relatados ao Oracle. Esses arquivos são cruciais para problemas de troubleshooting com o database Oracle. Esse diretório e definido como ORACLE_BASE/diag/rdbms/lower(db_unique_name)/instance_name. Você pode consultar a view V$PARAMETER para obter os valores de db_unique_name e instance_name.

Por exemplo, na próxima linha, o database unique name é o12c, e o instance name é O12C:

/u01/app/oracle/diag/rdbms/o12c/O12C

Você pode verificar a localização do diretório ADR_HOME via esta query:

select value from V$diag_info where name=’ADR Home’;

Sobre mrochadba

Database Administrator

Publicado em 23/09/2015, em Uncategorized. Adicione o link aos favoritos. Deixe um comentário.

Deixe um comentário