Abaixo, estão algumas informações básicas sobre a estrutura do Banco de Dados Oracle.
Essas anotações são pessoais, talvez seja difícil você entender...
O Oracle divide-se em duas partes:
- Instância - área de memória, alocada para o oracle gerenciar as requisições feitas pelos usuários e manipular os Bancos de Dados. É a forma de conexão com o Banco de Dados, apenas um instância é aberta;
- Banco de Dados - conjunto de arquivos físicos, onde são armazenadas as tabelas, índices e demais objetos do Banco de Dados.
O Banco de Dados é dividido em três arquivos, são eles:
- Datafiles - Arquivos físicos, armazenam tabelas, índices, etc. É necessário pelo menos um datafile;
- Redo Log File - Armazena fisicamente as alterações realizadas pelo Oracle, é utilizado como uma espécie de segurança transacional. São necessários pelo menos 2 Red Log File;
- Control File - Gerenciam e armazenam toda a estrutura do Banco de Daods. É necessário pelo menosum Control File.
SGA (System global area) - memória alocada na inicialização, é de fundamental importância para o funcionamento do Banco de Dados. A sua estrutura é a seguinte:
- Shared Pool;
- Database Buffer Cache;
- Redo Log Buffer;
- demais estruturas (lock, gerenciamento de fila, dados estatísticas);
- large pool;
- java pool.
O SGA, possui informações e dados de comtrole para o servidor.
Para verificar os parâmetros do SGA usa-se o comando:
>show sga
PGA (Program global area) - memória alocada na inicialização quando o servidor é iniciado, é uma memória não compartilhada. Contêm:
- Área de SORT;
- Informações de Sessão;
- Estado do Cursor;
- Espaço de pilha.
Segmento de RollBack (undo segment), é um objeto físico localizado dentro de um data file do Banco de Dados. Armazena a imagem antiga de uma transação que está sendo executada.
Conectando com o Banco de Dados
connect / as sysdba
A figura abaixo mostra um exemplo da estrutura organizacional do Oracle.
Os comandos abaixo são utilizados para exportar e importar um Banco de Dados, tabela(s) e/ou usuário(s).
EXPORT
Exporta as tabelas (tabela1, tabela2 e tabela3)
$ expdp USUARIO/INSTÂNCIA tables=(tabela1, tabela2, tabela3)
file=d:banco.dmp
log=d:banco.log
Exporta o Banco de Dados inteiro
$ expdp USUARIO/INSTÂNCIA full=y
file=d:banco.dmp
log=d:banco.log
Importa as tabelas (tabela1, tabela2 e tabela3)
$ impdp USUARIO/INSTÂNCIA tables=(tabela1, tabela2, tabela3)
file=d:banco.dmp
log=d:banco.log
Exporta o Banco de Dados inteiro
$ impdp USUARIO/INSTÂNCIA full=y
file=d:banco.dmp
log=d:banco.log