-
Todas as respostas estão contidas neste whitepaper.
http://www.oracle.com/technetwork/pt/database/dtp-oracle-database-11g-architectur-134026-ptb.pdf
-
Comparado ao banco de dados Oracle no UNIX, a alteração arquitetural mais
significativa do Banco de Dados Oracle 11g no Windows é a conversão de servidor com
base em processos em servidor com base em threads. No UNIX, o Oracle utiliza
processos para implementar tarefas em segundo plano, como gerador do banco de dados
(DBW0), gerador de log (LGWR), distribuidores (dispatchers), servidores
compartilhados e afins. Além disso, cada conexão dedicada ao banco de dados faz com
que outro processo do sistema operacional seja gerado em favor dessa sessão. No
Windows, porém, todos esses processos são implementados como threads em um
grande e único processo. Isso significa que, para cada instância do banco de dados
Oracle, haverá apenas um processo em execução no Windows para o próprio servidor
de banco de dados Oracle. (Observação: Existem outros processos Oracle no Windows
para outros serviços do banco de dados, como o Enterprise Manager Database Console.
Por dentro desse processo estão muitos threads em execução, sendo que cada um
equivale a um processo na arquitetura UNIX. Dessa maneira, se houvesse 100 processos
Oracle sendo executados no UNIX para uma instância específica, essa mesma carga de
trabalho seria manipulada por 100 threads em um único processo no Windows
-
O banco de dados Oracle funciona como um serviço do Windows, que é um processo em segundo plano que pode ser ativado pelo Windows durante a inicialização.
-
O Oracle Net Listener é um serviço que também precisa ser executado antes que os usuários possam se conectar ao banco de dados.
-
O banco de dados Oracle suporta a modificação das configurações de prioridade e
afinidade do processo do banco de dados e dos threads individuais nesse processo ao ser
executado no Windows.
Através da modificação do valor da configuração de Registro ORACLE_PRIORITY,
um administrador de banco de dados pode atribuir diferentes prioridades do Windows
aos threads de segundo plano individuais e também aos threads de primeiro plano como
um todo. Da mesma forma, a prioridade de todo o processo do Oracle também pode ser
modificada. Em determinadas circunstâncias, isso pode melhorar um pouco o
desempenho. Por exemplo, se um aplicativo gerar muita atividade de arquivos de log, a
prioridade do thread LGWR poderá ser aumentada para atender melhor à carga
colocada. De igual maneira, se a replicação for usada com intensidade, esses threads
que atualizam os dados de bancos remotos de forma bidirecional também podem ter sua
prioridade aumentada.
De modo muito semelhante à configuração ORACLE_PRIORITY, a configuração de
Registro ORACLE_AFFINITY permite que um administrador de banco de dados
atribua todo o processo do Oracle ou threads individuais nesse processo a CPUs ou
grupos de CPUs específicos do sistema. Relembrando: em alguns casos, isso pode
ajudar a performance. Por exemplo, vincular o DBW0 a uma única CPU para que não
migre de uma CPU para outra pode, em alguns casos, proporcionar uma pequena
melhoria na performance. Além disso, se houver outros aplicativos em execução no
sistema, a utilização da configuração ORACLE_AFFINITY pode ser uma forma de
manter o Oracle confinado a um subconjunto das CPUs disponíveis a fim de
proporcionar aos outros aplicativos tempo para que sejam executados.
-
Outra área na qual se trabalhou muito no código do banco de dados Oracle é a do
suporte a arquivos em cluster, arquivos grandes e arquivos brutos. O sistema de
arquivos em cluster do Oracle é a parte integrante do Banco de Dados Oracle 11g que
facilita a administração e a instalação dos clusters Oracle. Num esforço para garantir
que todos os recursos do Windows sejam explorados em sua plenitude, o banco de
dados suporta I/O de arquivo de 64 bits para permitir o uso de arquivo com tamanhos
superiores a 4 GB. Além disso, são suportados arquivos brutos físicos e lógicos para
arquivos de dados, log e controle, a fim de melhorar o desempenho usando o Oracle
RAC e bancos de dados de uma única instância no Windows.
-
a) Em sistemas Windows, o registro ORACLE_PRIORITY não pode ser modificado.
==> O banco de dados Oracle suporta a modificação das configurações de prioridade e afinidade do processo do banco de dados e dos threads individuais nesse processo ao ser executado no Windows. Através da modificação do valor da configuração de Registro ORACLE_PRIORITY,
um administrador de banco de dados pode atribuir diferentes prioridades do Windows aos threads de segundo plano individuais e também aos threads de primeiro plano como um todo. Da mesma forma, a prioridade de todo o processo do Oracle também pode ser modificada
b) No Windows, a cada conexão dedicada estabelecida com o banco de dados Oracle, outro processo do sistema operacional é gerado em nome dessa sessão.
==> Isso ocorre no UNIX
c) No Windows, o Oracle Net Listener é
carregado cada vez que um usuário se conecta ao banco de dados.
==> O Oracle Net Listener é um serviço que também precisa ser executado antes que os usuários possam se conectar ao banco de dados
d) O Oracle Database 11g, um processo típico do Windows, consiste em um processo em primeiro plano registrado no sistema operacional, ativado pelo Windows durante a inicialização e executado em determinado contexto de segurança.
==> Além de se basear em thread, o Banco de Dados Oracle 11g não é um processo comum do Windows. É um serviço do Windows, que basicamente consiste em um processo de segundo plano registrado com o sistema operacional, ativado pelo Windows no momento da inicialização e executado em determinado contexto de segurança.
e) Como o Unix, o Windows suporta o conceito de arquivos brutos, que não geram overhead do sistema de arquivos, uma vez que são partições não formatadas.
==> Como o UNIX, o Windows suporta o conceito de arquivos brutos, que basicamente são partições de disco não-formatadas que podem ser usadas como um único arquivo grande. Os arquivos brutos têm a vantagem de não sobrecarregarem o sistema de arquivos, pois são partições sem formatação. Sendo assim, o uso de arquivos brutos como arquivos do banco de dados ou de log pode resultar em um pequeno ganho de desempenho. Entretanto, o aspecto negativo do uso de arquivos brutos é a capacidade de gerenciamento, porque os comandos padrão do Windows não suportam a manipulação ou o backup de arquivos brutos. Portanto, os arquivos brutos são usados geralmente apenas por instalações muito sofisticadas e pelo Oracle Real Application Clusters, precisando de um desempenho otimizado.