BANCO DE DADOS • • • • • • Tipos de startup Tipos de shutdown Exercícios-restrição de integridade Exercício-Instance x SGA OID RAID Pendências SELECT * FROM LSM.V3; O K O K O K NU_TIPO_FUNCAO -------------1 2 3 4 5 6 7 8 9 10 10 rows selected Exercícios - revisão Exercícios - revisão 1. 2. 3. High water mark como desalojar espaço acima da HWM? ALTER TABLE DEALLOCATE UNUSED SPACE; TRUNCATE TABLE tab1; MINEXTENTS (NO if PK)(no delete trigger)(HWM)(REUSE) 4. DROP TABLE CASCADE CONSTRAINTS; 5. DROP TABLESPACE INCLUDING CONTENTS CASCADE CONSTRAINTS;read only pode ser dropada, colocar offline antes por segurança. 6. Migrated(WHAT IS MOVED?) (I/O) and chaining rows 7. SNAPSHOT TOO OLD (ORA-01555)/commited data reused block/Solution? up MINEXTENTS, UNDOTBS 8. ARMAZENAMENTO-STORAGE 9. ! Tabela comum, tabela particionada (tbs,range,concurrent),IOT, cluster 10. Temporary segment=>SELECT DISTINCT...ORDER BY/GROUP BY/UNION (ALL);CREATE INDEX (SORT AREA SIZE) 11. Undo/Rollback Segments=>Transaction Rollback/Transaction Recovery(uncommied)/Leitura consistente. 12. TIMESTAMP Qual a precisão máxima? OID – Oracle Internet Directory 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. • • • • • • • Um diretório é um banco de dados especializado e otimizado para ler e procurar mais de um recurso gravado e manipulado por um usuário simultaneamente. Um diretório suporta gravar uma grande variedade de informações. O LDAP fica em um servidor com a mesma hierarquia de um ervidor de aplicacão com HW próprio. Um diretório apresenta a possibilidade de adicionar e modificar informações dinamicamente. Um diretório pode ser redimensionado de forma a prover mecanismos para aumentar a quantidade de tipos de informações diferentes armazenadas. Um diretório é um banco de dados especializado e otimizado para ler e procurar mais de um recurso gravado e manipulado por um usuário simultaneamente. Modelo transacional, Basea-se em transações simples onde usualmente são baseadas em uma entrada de dados, bancos de dados podem modificar muito mais. Informações de espaço, Diretórios são melhores para gravar pequenas quantidades de informações. Tipo de informações, Diretórios gravam informações em formato de atributos. Portabilidade, serviços de diretórios falam com muitos tipos destes, porém clientes de banco de dados falam apenas com seus respectivos servers. Com a modificação constante da arquitetura das aplicações envolvidas principalmente em ambientes distribuídos, a necessidade da implementação de soluções independentes de distribuidores tornaram-se extremamente importante para as corporações. O principal motivo da utilização de serviço de diretórios é a portabilidade. Unifica a gerência das informações Informações de pessoas, serviços, etc Recursos computacionais Informações sobre equipamentos e redes Complementa outros serviços Base de dados para autenticação e autorização Organiza e facilita o acesso às informações LDAP provê uma linguagem comum de comunicação entre aplicações clientes e servidores utilizando conexão direta entre um e outro. Lightweight Directory Access Protocol LDAP é uma versão otimizada do protocolo de acesso à diretórios (Directory Access Protocol – DAP). A principal característica de melhora do LDAP em relação ao DAP é a utilização de protocolo de TCP/IP como método de conexão ao invés de comunicação por camadas utilizado anteriormente. LDAP preserva todas os melhores recursos oriundos do DAP reduzindo e otimizando os custos de conexão e tráfego de informações, utiliza comunicação por TCP/IP e é baseado no modelo de dados X.500 onde são possíveis disponibilização de uma grande quantidade de informações com pequeno investimento de hardware e/ou infra-estrutura. Tipos de Serviços e Servidores LDAP OpenLDAP slapd server Netscape Directory Server Novell eDirectory Sun ONE Directory Server IBM Directory Server Oracle Internet Directory Microsoft Active Directory Material complementar • CREATE INDEX uppercase_idx ON emp (UPPER(empname)); • Exemplo: • SELECT * FROM emp • WHERE UPPER(empname) = ’MARK’; Performance & Tuning Tuning Steps Passos para Ajustes de Desempenho 1.Design 2.Aplicacao-SQL comandos > 3.Memória (redimensionamento de buffer cache) 4.I/O (redistribuição de discos) 5.Contenção 6.SO (FTS acessava 400 blocos =>4 blocos) SQLServer x Oracle 1.Considerações iniciais • Fonte de pesquisa (independente x fabricante) • Testes • Imparcialidade 2.Evolução, versões, releases <2000 – Oracle 7, 8, 8i | SS7 00-04 – Oracle 9i | SS2000 >2004 – Oracle 10g | SS2005 Característica SQL Server 2000 Oracle 9i TCO-Custo total de propriedade Menor Maior Execução de comandos online Menor Maior Administração, treinamento, capacitação, tuning ... Possui ferramentas gráficas elaboradas facilitam a adm. Complexo Escalabilidade Menor Maior Windows Linux, Unix, VMS, Windows, OS390 Custo/beneficio Melhor para bases menores Melhor para bases maiores Níveis de bloqueio Linha, página, várias páginas, tabelas lock esclation Linha Tamanho máximo de linha de comando Menor Maior Exp/imp Elaborado, amigável e versátil Menos amigável Cluster Failover rápido/Instação + simples TAF robusto com Dt>, complexo SO suportados SQLServer x Oracle 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Estratégia de lock Reorganização online Particionamento de índices e tabelas Estatísticas Alta disponibilidade Administração Tipos de índices Tuning (O-materialized view x SS-indexed view) Export/import (O-exp/imp e data pump x SS-bcp e DTS) Replication SQLServer x Oracle 11. Backup e Recovery (O-ttablespace x SS-online restore) 12. Hot backup 13. Fast Recovery 14. Backup (O-Job schedules x SS-”maintenance plans”) Instalação • Oracle Universal Instaler – JAVA – Instalar – Atualizar – Remover – Instalação de patches Administração •Ferramentas desenvolvidas e alojadas no SO •Consumo de recursos computacionais •Agendamento de tarefas •Ferramentas do SGBD •OEM - Oracle Enterprise Manager •Jobs •Eventos Nomes dos Banco de Dados Descrição do BD no servidor BD em cluster Configuração Arquivo init.ora Formato init<SID>.ora Localização:$ORACLE_HOME/dbs cd0000ux088:/opt/oracle/product/9.2.0$ cd $ORACLE_HOME cd0000ux088:/opt/oracle/product/9.2.0$ cd dbs cd0000ux088:/opt/oracle/product/9.2.0/dbs$ ls -lap drwxr-xr-x 2 oracle oracle 4096 Nov 25 23:45 drwxr-x--- 61 oracle oracle 1536 Feb 26 2006 -rwxrwxrwx 1 oracle oracle 49 Oct 23 2005 lrwxrwxrwx 1 oracle oracle 49 Oct 23 2005 -> /opt/oracle/admin/oraprd09/pfile/initoraprd09.ora -rwSr----1 oracle oracle 1536 Feb 28 11:36 -rwSr----1 oracle oracle 2560 Feb 22 21:47 ./ ../ initoraprd00.ora initoraprd09.ora orapworaprd01 orapworaprd51 Configuração instance_name = Producao99 init.ora • • • • • ###################################################### # INSTANCIA: Producao99 # # SUPORTE EM SGBD ORACLE-Leonardo S.M. em 25-01-2007 # ###################################################### instance_name = Producao99 • • #event = "10015 trace name context forever, level 10" #sql_trace=true • audit_trail = true • o7_dictionary_accessibility=false #If true select any table privilege allows permition to sys objects • #local_listener=Producao99_siwfs • timed_statistics = true # if true you can activate set timing oncontrol_files • compatible #sql_trace=true # if you want auditing remote_login_passwordfile = exclusive audit_trail = true = "9.2.0.7.0" db_files = 500 open_cursors = 500 max_enabled_roles = 50 = ("/ora/oracle_01/Producao99/control1.ctl","/ ora/oracle_02/Producao99/control2.ctl","/or a/oracle_03/Producao99/control3.ctl“) • • os_authent_prefix = "" compatible = "9.2.0.7.0" • • • db_files = 500 open_cursors = 500 max_enabled_roles = 50 • ## SGA-These are dinamically changeable shared memory parameters • • • • • • sga_max_size=1500M db_cache_size = 640M db_keep_cache_size= 64M db_recycle_cache_size= 16M shared_pool_size = 640M db_cache_advice = on • • • • • #AUTOMATIC PGA MEMORY MANAGEMENT - Leonardo 12/08/06 pga_aggregate_target = 450M workarea_size_policy = auto #sort_area_size = 1048576 #sort_area_retained_size = 1048576 #Max allowed • ## SGA-These are NOT dinamically changeable shared memory parameters • • processes = 500 #Alterado de 250 para 500 em 18/02/05 control_files = ("/ora/oracle_01/Producao99/control1.ctl","/ora/oracle_02/Producao99/control2.ctl","/ora/oracle_03/Producao99/control3.ctl") ## SGA-These are dinamically changeable shared memory parameters sga_max_size=1500M db_cache_size = 640M db_keep_cache_size= 64M db_recycle_cache_size= 16M shared_pool_size = 640M db_cache_advice = on