Pular para o conteúdo principal

Postagens

Mostrando postagens de fevereiro, 2018

Outros Processos de Segundo Plano - Estruturas de Memória no Oracle

#37 Neste post será apresentado outros processos que ficam ativo no segundo plano. Muitos desses processos iniciam quando o banco de dados é instânciado e ficam ativos até o banco de dados ser desligado. Como são breves as informações sobre cada processo, as informações aqui serão idênticas ao livro OCA do John Watson, não irei resumir ou adicionar informações de outras fontes, conforme faço nos demais posts. Para que você possa listar os processos ativos no seu banco de dados, execute a seguinte instrução SQL. SELECT program FROM v$process ORDER BY program; Agora vamos conhecer esses processos: - CJQ0 , J000 > Gerenciam os jobs agendados para executarem periodicamente. O coordenador da fila de jobs, CJQn, os monitora e envia para um dos vários processos da fila de jobs, Jnnn, para execução. O mecanismo de agendamento de jobs será abordado no segundo exame OCP. - D000 > É um processo dispatcher que enviará chamadas SQL para os processos de servidores compartilhad...

RECO ( Recoverer Process ) - Estruturas de Memória no Oracle

#36 O RECO é utilizado para controlar instruções DML (Insert, Update, Delete) gerada em transação distribuída. Mas agora fica a pergunta, mas o que é uma transação distribuída? Uma transação distribuida consiste em atualizações em dois ou mais banco de dados. Esse tipo de transação é projetada por programadores e opera por meio de links de bancos de dados. Observe essa instrução DML, UPDATE aluno SET nota = 30 WHERE aluno_id = 10; UPDATE aluno@LINK_BANCO SET nota = 30 WHERE aluno_id = 10; COMMIT; O mesmo UPDATE é aplicado a duas tabelas iguais, mas em banco de dados diferentes, o primeiro Update é executado no banco de dados local, o segundo em um banco de dados remoto indentificado pelo LINK do banco de dados. A terceira instrução é o COMMIT, reelembrando, o que um COMMIT faz quando é executado. Assim que o COMMIT é chamado o LGWR é forçado a gravar nos arquivos de Redo Log Online, enquanto a gravação esta sendo processada a sessão que chamou o COMMIT fica suspensa, qu...

ARCn ( Archiver ) - Estruturas de Memória no Oracle

#35 ARC é um processo opcional no banco de dados, mas de grande importância para uma empresa, pois, evita a perda de dados caso ocorra uma falha na instância do banco de dados. É possível a existencia de até 30 processos ARC, començando a partir do 0, exemplo ARC0, ARC1 e assim por diante. A função do ARC é criar cópias dos arquivos de Redo Log Online. Reelembrando, todos os vetores de alteração (Buffers Sujos) quem vem do Cache de Buffer do Banco de Dados são gravados no Buffer Log, e o LGWR gravam esses vetores de alteração nos arquivos de Redo Log Online, como esses arquivos de Redo Log Online são de quantidade e tamanhos limitados, as informações sempre são sobrescritas em pequenos intervalos de tempo, desta forma os arquivos de Redo Log Online só armazenam informações recentes, e ai que entra o ARC, o ARC realiza uma cópia destes arquivos de Redo Log Online antes dele ser sobrescrito, desta forma é preservado o histórico completo das informações que estavam no Redo Log Onlin...

MMAN ( Memory Manager - Gerenciador de Memória ) - Estruturas de Memória no Oracle

#34 Esse foi um dos principais processos lançados junto com a versão 10g, ele permite o gerenciamento automático das alocações de memória SGA e PGA. O MMAN gerência a memória melhor do que o próprio DBA. Antes da versão 9i, os espaços de memória alocados para a PGA não era transferível e também não eram liberados após o processo utilizar a memória, e a estrutura de memória da SGA era definido na hora da inicialização da instância e só podia ser alterado se a instância for reiniciada. A versão 9i mudou isso, agora a PGA e SGA podem ser redimensionadas, o servidor passa a memória para sessões sobre demanda e também garante que o total de memória alocada permaneça dentro de certos limites para cada uma. A partir da versão 10g esse processo de alocação de memória ficou automático, e o MMAN é o processo responsável por isso, o MMAN monitora a demanda por estruturas de memória da SGA e pode redimensioná-las conforme necessidade. A partir da versão 11g esse processo ficou ainda mais...

MMON ( Manageability Monitor - Monitor de Gerenciamento ) - Estruturas de Memória no Oracle

#33 O processo MMON foi introduzido a partir da versão 10g e é o processo de ativação de grande parte dos recursos de automonitoramento e autoajuste do banco de dados. Uma instância do banco de dados reúne muita informação sobre estatísticas das atividades e desempenho do banco de dados. Essas informações são armazenadas na SGA e podem ser acessadas através de instruções SQL. Para poder gerar relatórios de estatísticas de longo prazo é necessário salvar essas informações, e essa é uma das funções do MMON. O MMON a cada hora captura as estatísticas da SGA e as grava no dicionário de dados, esse intervalo de captura é o tempo padrão usado. Essas informações podem ser armazenadas indefinidamente, mas por padrão elas são mantidas por oito dias. Esse processo de captura é conhecido como Snapshots, e toda vez que o Snapshots é executado, também é iniciado o ADDM (Automatic Database Diagnostic Monitor), essa ferramenta foi desenvolvido ao longo de muitos anos por vários DBAs experiênt...

CKPT ( Checkpoint Process ) - Estruturas de Memória no Oracle

#32 O CKPT é um processo de ponto de verificação interno do Oracle, o CKPT atualiza o cabeçalho do arquivo de controle e do arquivo de dados para indicar onde ocorreu o ponto de verificação. Esse ponto de verificação é chamado de RBA (endereço do byte do redo), esse ponto de verificação é usado como ponto de partida para restaurar os dados em caso de falha na instância do banco de dados. O RBA é atualizado de forma constante. Após uma falha o processo de verificação e recuperação funciona da seguinte forma, todos os buffers sujos que não foram gravados pelo DBW na hora da falha, devem ser recuperados dos arquivos de redo log e aplicados aos blocos de dados. Antes da versão 8i eram realizados Checkpoints completos, isso gerava uma queda no desempenho, a partir da versão 8i em diante são realizados Checkpoints incrementais. O mecanismo de Checkpoint incremental instrui o DBW a gravar os buffers sujos a uma taxa constante, com isso, sempre existe um intervalo previsível entre o DBW ...

LGWR ( Log Writer ) - Estruturas de Memória no Oracle

#31 O LGWR grava os dados do Buffer de Log nos arquivos de Redo Log no disco. Esse tipo de gravação também é muito conhecido como, fazer flush do buffer de log. Para entender a função do LGWR e como o Buffer de Log é criado, vamos reelembrar um post anterior, o post é sobre Cache de Buffer do Banco de Dados. O Cache de Buffer do Banco de Dados é o local na  memória onde é armazenado os blocos dos arquivos de dados e ele mantém dois tipos de Buffer, o Limpo e o Sujo. Quando um Buffer está sujo, isso quer dizer que ele executou uma das 3 instruções, Insert, Update ou Delete, antes do Buffer atualizar esse vetor de alteração no bloco dentro do Cache, ele grava esse vetor de alteração no Buffer de Log e é desta forma que o Buffer de Log é gerado. Em um post anterior, também é informado porque um Buffer de Log é importante. Para resumir, o Buffer de Log é o responsável por manter a integridade dos dados em caso de falha no banco de dados, pois, é a partir do Buffer de Log que é ...

DBW ( Database Writer ) - Estruturas de Memória no Oracle

#30 Já ouvimos falar dele no post sobre o Cache de Buffer do Banco de Dados, o DBW é o processo preguiçoso que trabalha a menor quantidade possível e o mais raramente possível. O DBW é o responsável por registrar nos arquivos de dados os buffer sujos, uma instância pode ter vários DBW, sendo que no máximo é 20, e a denominação inicia a partir do 0, exemplo DBW0, DBW1 e assim por diante. O quantidade de DBW é de acordo com o número de CPUs, e o número padrão de DBW é de um para cada oito CPUs. O DBW usa um algoritmo que tem como lógica o seguinte, uma gravação de I/O prejudica o desempenho do banco de dados, então porque ficar sempre realizando o I/O se não houver necessidade. Se um bloco em buffer foi gravado por uma sessão e ele se tornou sujo, o porque de limpar ele agora, se ele pode ficar sujo novamente, um buffer pode passar por milhões de gravações antes que o DBW o grave nos arquivos de dados. Usando essa lógica, em um Cache de Buffer pode conter centenas de milhares de bu...

PMON ( Process Monitor ) - Estruturas de Memória no Oracle

#29 O PMON é responsável por monitorar as sessões de usuários, mas antes de saber o que ele faz, vamos reelembrar. Uma sessão de usuário é um processo que é conectado a um processo de servidor, sempre que uma sessão é criada um processo de servidor é iniciado e quando essa sessão termina o processo é destuído. A maneira correta de finalizar uma sessão de usuário é a utilização do logoff pelo usuário, desta forma, todo o trabalho que a sessão esta realizando será concluído de forma ordenada e o processo de servidor será finalizado. Mas há casos em que a sessão é terminada de forma desordenada, isso pode acontecer por diversos motivos, como por exemplo, o PC do usuário tenha reiniciado, quando isso ocorre a sessão será deixada em um estado que indica que ela deve ser excluída. O PMON detecta essas sessões com problema, localiza e destroi o processo do servidor ligada a ela, depois, executa o comando ROLLBACK de todas as transações incompletas que possam estar em andamento, ao destu...

SMON ( System Monitor ) - Estruturas de Memória no Oracle

#28 A tarefa inicial do SMON é montar e abrir o banco de dados. Para montar um banco de dados, o SMON primeiro localiza e valida o arquivo de controle do banco de dados. Depois de montado, ele abre o banco de dados localizando e validando todos os arquivos de dados e os arquivos de log online. Depois do banco de dados estar aberto e em uso, o SMON fica responsável por várias tarefas domésticas, como organizar o espaço livre no arquivos 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.

Estruturas de Processos - Estruturas de Memória no Oracle

#27 Assim que o banco de dados é instânciado, são iniciados vários processos em segundo plano, mas cinco deles são muito importantes e esses cinco processos já tem uma longa história com o Oracle. - SMON > System Monitor -- Monta e Abri o banco de dados e organiza o espaço livre no arquivo de dados. - PMON > Process Monitor -- Monitora as sessões de usuários e detecta essas sessões com problema e destroi o processo. - DBWn > Database Writer (o n significa que pode existir várias DBW, permitido no máximo 20, começando do 0) -- O DBW é o responsável por registrar nos arquivos de dados os buffer sujos. - LGWR > Log Writer -- Grava os dados do Buffer de Log nos arquivos de Redo Log no disco - CKPT > Checkpoint Process -- É um processo de ponto de verificação interno do Oracle, usado para recuperação de dados em uma falha. Vários outros foram adicionados com os releases mais recentes, e 2 se destacam entre eles: - MMON > Man...

O Strems Pool - Estruturas de Memória no Oracle

#26 O Strems Pool é utilizado pelo Oracle Strems e é uma ferramenta avançada que está além do escopo da OCP. O mecanismo usado pelo Strems extrai vetores de alteração diretamente do Redo Log e a partir dele reconstroi as instruções que foram executadas, essas instruções são executadas no banco de dados remoto. Os processos que extraem alterações do Redo e os aplicam as alterações precisam de memória e essa memória é o Streams Pool. No banco de dados a partir da versão 10g, é possível criar e redimensionar as instruções após a inicialização da instância. Se tiverem dúvidas realizem um INSERT nos comentários e depois dê um COMMIT que depois respondo. Abraço e bons estudos.

Java Pool - Estruturas de Memória no Oracle

#25 O Java Pool só é necessário se a sua aplicação for executar procedures Java armazenadas no banco de dados. O Java Pool é usado para o espaço de heap necessário para instânciar os objetos Java. Entretanto, vários componentes opcionais do Oracle são escritos em Java, portanto, o Java Pool é considerado padrão hoje. Observe que o código Java não é armazenado em cache no Java Pool, ele é armazenado em cache no Shared Pool, da mesma maneira que o código PL/SQL. Se tiverem dúvidas realizem um INSERT nos comentários e depois dê um COMMIT que depois respondo. Abraço e bons estudos.

Large Pool - Estruturas de Memória no Oracle

#24 O Large Pool é uma área opcional, mas de grande importância em servidores compartilhados ou de execução paralela, para abreviar nesse capítulo sempre que mensionado servidor compartilhado, isso se refere aos dois tipos. O Large Pool é usado automaticamente por processos que ocupariam a memória do Shared Pool. Em servidores compartilhados e na ausência de um Large Pool, os processos vão disputar a memória do Shared Pool e isso é uma situação ruim. Sempre que servidores compartilhados estiverem sendo usados, deve se criar um área de Large Pool. O Large Pool também pode ser usado para alguns processos de I/O, como os processos usados pelo Recovery Manager durante a execução de um backup para um dispositivo de fita. O dimensionamento do Large Pool não é uma questão de desempenho. Alocar mais memória do que o necessário não fará com que as instruções sejam executadas mais rapidamente. E se o Large Pool for muito pequeno um processo que precisa de muita memória falhará com um err...

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...

Buffer de Log - Estruturas de Memória no Oracle

#22 O Buffer de Log é uma importante área da estrutura de memória do Oracle, ela é responsável por armazena os dados quase em tempo real e desta forma evita a perda de dados se houver uma falha no banco de dados. O Buffer de log é uma área de preparação pequena e de curto prazo que armazena os vetores de alteração antes que eles sejam gravados nos arquivos de Redo Log no disco. Sempre que é executado uma instrução DML (Insert, Delete, Update) é gerado vetores de alteração aplicados aos dados, na sessão do usuário esses vetores ficam armazenado no Cache de Buffer do Banco de Dados e essas informações não são gravadas em tempo real no disco, pois, se fossem a sessão do usuário teria que esperar a resposta de cada I/O o que iria gerar uma grande queda de desempenho, então a sessão do usuário grava os vetores de alteração diretamente na memória do buffer de log, isso é muito mais rápido do que gravar no disco. O Buffer de Log é então gravado nos arquivos de Redo Log, de onde são extra...

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...

Estruturas de Memória no Oracle

#20 Uma instância do Oracle é composta por um bloco de memória compartilhada conhecida como SGA (Área Global do Sistema), e vários processos em segundo plano. NA SGA possui no mínimo essas três estruturas de dados: - O Cache de Buffer do Banco de dados - O Buffer de Log - O Shared Pool Sigla para decorar: 2BufferShared Opcionalmente, a instância também pode conter: - Um large pool - Um java pool - Um Streams pool Sigla para decorar: ljs3pool (Pode interpretar como, Lojas3Pool) Se tiverem dúvidas realizem um INSERT nos comentários e depois dê um COMMIT que depois respondo. Abraço e bons estudos.

Data Guard - Arquitetura de sistemas distribuídos no Oracle

#19 Existem dois modelos de Data Guard, um voltado para tolerância a falhas e outro para processamento de consultas. No Data Guard exite um banco de dados primários onde são executadas as transações e um ou mais bancos de dados que estão em Standby. O modelo de Standby para tolerância a falhas é um banco de dados físico e ele é idêntico byte-por-byte ao banco de dados primário, sendo que ele é atualizado possivelmente em tempo real com todas as alterações realizadas no primário. Os vetores de alterações aplicados ao primário são propagados para o Standby físico na forma de registros de redo e aplicados como se um banco de dados de backup estivesse sendo recuperado. O model Standby para processamento de consultas é do tipo lógico, ele contém os mesmos dados do primário, mas a estrutura dos dados não precisa ser idêntica ao primário, pois o Standby lógico tem a estrutura otimizada para data warehousing, as difenças típicas seriam no índices. Os vetores de alteração são propagados...

Streams - Arquitetura de sistemas distribuídos no Oracle

#18 O Streams trabalha com o fluxo de gravação de um banco de dados para outro. Isso é muito usado para evitar falhas ou para ajustes de desempenho, pois, cada banco de dados pode ser configurado para tipos diferentes de trabalhos, exemplo, um banco para OLTP e outro para OLAP. Para se manter esses dados atualizados, o processo deve ser totalmente automático, onde todas as alterações devem ser atualizados no outro banco de dados em tempo real, ou quase real.O Oracle Streams é um recurso para capturar as alterações feitas as tabelas e aplicá-las às cópias remotas das tabelas que preencham ambos os requisitos. Existem dois tipos de fluxo de gravação, o unidirecional e o bidirecional. - Unidirecional, é muito para gravar dados em um data warehouse, onde os conjuntos de dados e as alterações feitas são extraídas das tabelas de um banco e armazenados em tabelas de outro. - Bidirecional, esse é o modelo de fluxo usado para tolerância a falhas, usando esse modelo o Streams propaga...

OLAP

O OLAP, do inglês "On-line Analytical Processing", trata da capacidade de analisar grandes volumes de informações nas mais diversas perspectivas dentro de um Data Warehouse (DW). O OLAP também faz referência às ferramentas analíticas utilizadas no BI para a visualização das informações gerenciais e dá suporte para as funções de análises do negócio organizacional. * Resumindo: Foco no nível estratégico da organização. Visa a analise empresarial e tomada de decisão. Se tiverem dúvidas realizem um INSERT nos comentários e depois dê um COMMIT que depois respondo. Abraço e bons estudos.

OLTP

O OLTP, do inglês "On-line Transaction Processing", é o termo usado para se referir aos sistemas transacionais, ou seja, os sistemas operacionais das organizações. São utilizados no processamento dos dados de rotina que são gerados diariamente através dos sistemas informacionais da empresa e dão suporte às funções de execução do negócio organizacional. * Resumindo: Foco no nível operacional da organização. Visa a execução operacional do negócio. Se tiverem dúvidas realizem um INSERT nos comentários e depois dê um COMMIT que depois respondo. Abraço e bons estudos.

RAC - Arquitetura de sistemas distribuídos no Oracle

#17 O Oracle RAC (Oracle Real Application Clusters). Com o RAC você pode reúnir dois ou mais computadores interconectados ou servidores e formar um banco de dados em cluster que se comporta como um sistema único. Com isso os processos Oracle em execução em nós separados acessam os mesmos dados de um armazenamento em disco compartilhado, os dados são compartilhados através de softwares e o controle de acesso aos dados é gerenciado pelo Oracle RAC. Vamos para a imaginação: Você tem dois servidores e para esses servidores vamos dar o nome de nó, então, em cada nó você deve possuir o mesmo sistema operacional instalado, e em cada nó deve possuir uma instância do Oracle RAC instalada, esses nós vão trabalhar em paralelo e os dois nós vão se comunicar com o mesmo servidor de banco dados onde estão armazenados os datafiles (arquivos de dados) que armazenam as informações. Agora imagine dezenas de nós interligados trabalhando em paralelo e dividindo a carga de trabalho, desta forma ex...

Arquitetura de sistemas distribuídos no Oracle

#16 Diferentemente do ambiente de instância única, em um ambiente distribuído existem várias possibilidades para agrupar instâncias e banco de dados. Vou apresentar as combinações que se juntas, de acordo com o Oracle, podem resultar em sistemas que podem ficar 100% do tempo ativo e com 0% em perda de dados, e possibilita um desempenho e escalabilidade ilimitados. As combinações são: - RAC (Real Application Server), onde várias instâncias abrem um banco de dados. - Streams (Fluxo de Gravação), onde vários servidores Oracle propagam as transações entre si. - Data Guard, em que o banco de dados primário atualiza um banco de dados standby. Agora que conhecemos as combinações, vamos detalhar cada uma em separado. Se tiverem dúvidas realizem um INSERT nos comentários e depois dê um COMMIT que depois respondo. Abraço e bons estudos.

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...

Funcionamento de uma Tabela - Estruturas Relacionais

#14 Em um paradigma relacional, uma tabela armazena os dados em uma estrutura de duas dimensões. Uma tabela relacional possui linhas e colunas, as colunas definem o tipo de informação que será armazenada e as linhas correspondem as informações armazenadas. Na tabela todas as linhas possuem a mesma estrutura de colunas e cada coluna possuem propriedades e regras que definem os tipos de dados aceitos. Uma observação sobre terminologia, o que definimos como Tabelas também podem ser chamados de Relacionamento ou Entidade, As Linhas podem ser chamadas de Registros ou Tuplas, as Colunas podem ser chamadas de Atributos ou Campos. E o número de linhas na tabela é chamada de cardinalidade das tuplas. Então se você ouvir alguma dessas terminologias você sabe o que significa. Um resumo rápido da terminologia: - Tabelas é o mesmo que: Relacionamento ou Entidade - Linas é o mesmo que: Registros ou Tuplas - Colunas é o mesmo que: Atributos ou Campos - A quantidade de linhas de uma tabe...

Estruturas Relacionais

#13 Como mencionado no começo do curso o Oracle é um RDBMS (sistema de gerenciamento de banco de dados relacional), e um RDBMS trabalha somente com dados normalizados, então agora vamos entender o que é uma estrutura relacional, como os dados são normalizados e como é analizado e pensado a criação das tabelas. Normalizar dados em estruturas relacionais não é apenas um conceito, é uma arte, essa normalização é realizada por Analistas de Sistemas, eles são os responsáveis por modelar os dados comerciais em um formato que se ajuste para serem armazenados em tabelas relacionais. Realizar essa modelagem não é uma tarefa simples, o analista de sistemas deve analisar vários pontos, pois, uma modelagem errada pode ocasionar baixo desempenho no banco de dados e o pior, uma modelagem mal feita pode gerar redundância de dados (informações) e com isso comprometer a integridade das informações. Como é um assunto extenso vamos estudar por partes. Se tiverem dúvidas realizem um INSERT nos com...

Aplicativos Oracle

#12 O Oracle possui uma grande quantidade de aplicativos, muitos destes vieram da grande quantidade de aquisições corporativas realizadas. Mas dois desses aplicativos são os principais, o Oracle E-Business e o Oracle Collaboration Suite. - Oracle E-Business é fornece um conjunto de aplicações baseados em mecanismos de contabilidade, ele possui recursos para o setor de contabilidade, setor de RH, setor de produção, gerenciamento de relacionamento com clientes, serviços aos clientes e vários outros recursos. A versão atual foi desenvolvida com a ferramenta Developer Forms e a linguagem Java, além de uma grande quantidade de PL/SQL no banco de dados. Oracle E-Business é executada na camada intermediária Oracle Application Server e pode ser acessada através de um navegador. - Oracle Collaboration Suite, seus principais modulos são, servidor de email, gerenciamento de agenda, correio de voz e fax, confêrencias na Web e serviço de arquivos. Oracle Collaboration Suite também é executa...

Oracle Developer Suite - Ferramentas de Desenvolvimento - Família Oracle

#11 O Oracle Developer Suite possui ferramentas para desenvolvimento rápido de aplicações, essas ferramentas podem tornar os programadores mais produtivo do que se estivesse trabalhando com uma linguagem 3GL, mas no final essas ferramentas fazem a mesma coisa das demais ferramentas, que é a criação de instruções SQL que serão enviadas para executar no banco de dados. As ferramentas que existem no Oracle Developer Suite, são: Oracle Forms Developer, Oracle Reports, Oracle Discoverer. - Oracle Forms Developer, constrói aplicações que executam na camada intermediária de um Oracle Application Server, a aplicação exibe um applet Java no terminal do usuário. As aplicações Forms são bem mais rápidas de desenvolver do que as aplicações escritas em outra linguagem. AS aplicações Forms são acessadas por meio de um navegador. - Oracle Reports, essa ferramenta é usada para gerar e formatar relatórios, esses relatórios podem ser gerados por demandas ou agendamento e relatórios completos ...

Linguagens Externas ao Banco de Dados - Linguagens - Ferramentas de Desenvolvimento - Família Oracle

#10 Várias outras linguagens estão disponíveis para o desenvolvimento de aplicações cliente-servidor que executam externamente ao banco de dados e, o Oracle oferece bibliotecas de sua propriedade que permitem que os códigos escritos nessas linguagens se conecte a um banco de dados Oracle e execute instruções SQL. O nome dessa biblioteca é OCI (Oracle Call Interface), com essa biblioteca é possível estabelecer sessões no servidor de banco de dados. Como a biblioteca OCI é de propriedade da Oracle, todo o código foi desenvolvido para o banco de dados Oracle, quem quiser usar essa biblioteca para outro banco de dados terá que reescrever partes do código para adequação. As aplicações desenvolvidas em Java conseguem evitar esse problema de compatibilidade em diferentes bancos de dados, para Java a Oracle fornece dois tipos de conectividade com o banco de dados, quem desenvolve em Java pode escolher entre thick cliente e thin cliente. Thick cliente é configurado especialmente para Orac...

Linguagens Internas Oracle - Linguagens - Ferramentas de Desenvolvimento - Família Oracle

#9 Aqui vamos conhecer apenas as linguagens internas do Oracle e como elas funcionam. - Ela é desenvolvida e controlada por organismos internacionais. - SQL é uma linguagem set-oriented (Orientada a Conjuntos). - A linguagem possui apenas 16 comandos, mas, na prática, a codificação SQL as vezes é extremamente complicada - Os 16 comandos são separados em 4 tipos: DML, DDL, DCL, TCL Se você reparar as siglas são bem parecidas, então vamos decorar essas siglas. Vamos dividir elas em 2 grupos para ficar mais fácil decorar. Primeiro grupo - DML e DDL, eles são bem parecidos e fácil de lembrar. A primeira sigla é para Manipulação de dados e a segunda é Definição de dados. Então vamos definir esse grupo como Manipulação e Definição de dados. Segundo Grupo - DCL e TCL, esse grupo também é bem parecido e fácil de lembrar, é só trocar a primeira letra. Esse grupo é referente a instruções de Controle. A primeira sigla controla a permissão sobre os Dados e a segunda sigla cont...

Linguagens - Ferramentas de Desenvolvimento - Família Oracle

#8 O servidor Oracle oferece recursos para desenvolvimento de aplicações, algumas já existem no banco de dados, outras são de fora. No banco de dados é possível usar três tipos de linguagens: SQL PL/SQL Java As aplicações que executam fora do banco de dados podem ser escritas em uma ampla variedade de linguagens de terceira geração (3GLs) ou em ferramentas distribuidas com o Oracle Application Server, entre essas ferramentas, encontram-se: Forms Reports XML Publisher Discoverer Se tiverem dúvidas realizem um INSERT nos comentários e depois dê um COMMIT que depois respondo. Abraço e bons estudos.

Cache Fusion

O Cache Fusion é fundamental para o funcionamento de uma configuração RAC. Toda instância Oracle possui um cache de buffer local que executa a funcionalidade de cache usual para essa instância, em uma configuração RAC isso pode gerar um problema, pois uma instância pode precisar de acesso a tabela que esta sendo usada por outra instância, e ai que entra o Cache Fusion, ele faz o compartilhamento de cache de todas as instâncias do RAC usando a Interconnect. Vamos para a imaginação: Um usuário na instância A precisa acessar um bloco de dados que esta sendo bloqueado pela instância B, nesse caso a instância A solicitará a instância B o acesso a esse bloco de dados e irá utilizar o Interconnect para a comunicação. Esse conceito é chamado de Cache Fusion, onde permite uma instância acessar o cache de outra instância usando o Interconnect. Resumindo: O Cache Fusion do Oracle fornece transferências de memória-a-memória dos bloqueios de dados entre as instâncias do RAC, o que é mais ...

Oracle Enterprise Manager - Tecnologias de Servidor - Família Oracle

#7 Realiza o gerenciamento de um ambiente tão complexo e poderoso não é uma tarefa fácil ou simples de fazer. Com isso surgiram ferramentas de gerenciamento que automatizam varias funcionalizadades e com isso torna a tarefa mais fácil e produtiva. O Oracle Enterprise Manager está disponível em três formas que são, Database Control, Application Server Control, Grid Control - Database Control É uma ferramenta gráfica usada para gerenciar um banco de dados, que pode ser um banco de dados em Cluster, com a funcionalidade de Real Application Clusters (RAC). Ele possibilita o gerenciamento e monitoramento em tempo real, para executar tarefas agendadas, como operações de backup, e para reportar condições de alerta interativamente e por email. Um banco de dados em RAC terá um processo Database Control rodando em cada nó onde exista uma instância de banco de dados. RAC será explicado posteriormente. - Application Server Control É uma ferramenta gráfica que possibilita...

Pool de Conexões

Toda vez que uma requisição é feita, o servidor deve abrir uma conexão com o banco de dados e fecha-lá no final da requisição, ficar abrindo e fechando uma conexão com o banco de dados gera um tempo de latência muito grande e torna o sistema mais lento, e aplicações Web que recebem um número muito grande de acessos simultâneos podem ter problemas em manter a aplicação funcionando por causa desse excesso de conexões. Para evitar esses problemas é recomendado o uso de Conexões Pool para as conexões com o banco de dados. Conexão Pool é uma camada que fica entre a camada intermediária que faz as conexões com o banco de dados e o próprio servidor de banco de dados. Em aplicações Java podemos citar uma classe java intermediária e o banco seria representado por uma conexão com o driver JDBC que se conectaria com algum servidor de banco de dados. Em uma conexão sem o Pool, a classe Java realiza uma requisição ao driver JDBC e esse drive abre uma conexão com o servidor do banco de dados. ...