Por que preciso usar o SYS.DBMS_TDB_CHECK_DB procedure ? - Portuguese

O Datapump não seria melhor e mais rápido ?

Bom dia, Aí depende do tamanho da sua base! Essa procedure é utilizada no caso de você estar migrando os seus datafiles para uma outra plataforma, como por exemplo de Windows para Linux. Ela serve para checar se a migracao é compativel e suportada. http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_tdb.htm#CHDHJJCBhttp://docs.oracle.com/cd/B28359_01/backup.111/b28270/rcmxplat.htm#CHDJAAHJ

Related

Ambiente de testes

Tenho a necessidade de utilizar uma forma de testar meus comandos DDL e DML antes de efetivar uma mudança.Mas, gostaria de rodar os comandos em um ambiente emulado, que não irá refletir no ambiente real, somente para saber se vai dar certo.Tem como fazer isso?
É claro que sim, mas para ter um 'ambiente emulado' vc TEM que ter um OUTRO database de testes, separado do seu banco real : pode ser um banco instalado numa máquina virtual, pode ser um banco numa máquina de mesa / de pequeno porte ou numa workstation, ou até mesmo (SE for testes muito simples) talvez vc possa usar o banco que a Oracle disponibiliza de graça em https://livesql.oracle.com ..   ... MAS um OUTRO banco, onde possa fazer seus testes, é o que vc vai precisar...
Olá,  Dá uma olhada nestas opções: https://blog.dbi-services.com/testing-oracle-sql-online/

Dois Segmentos em uma campanha

Olá,  Gostaria de saber se é possível criar dois segmentos dentro de uma campanha ?  1. Segmento seria a criação de uma base segmentada2. Segmento seria as pessoas as base que visitaram a página específica e não converteram.      Esses dois segmentos seriam em em apenas uma única campanha de régua, gostaria de saber se é possível realizar, caso positivo como seria ?

Tabelas de Historico - Dados Crescentes sem limite de quantidade.

Não sou DBA e queria discutir/aprender a melhor pratica para tabelas que crescem sem limite de quantidade de linhas. Eu vejo que a pratica, pelo menos aonde eu trabalhei, que a solução foi uma tabela quente ( com dados de 1 mês, por exemplo ), e um processo para mover os dados "antigos" para  uma tabela idêntica ( tabela histórico ). A justificativa sempre é para melhorar a performance dos dados quentes e os dados histórico ficam sujeitos a um maior tempo para completar a pesquisa. As aplicações que consultam estes dados são obrigados a identificar o tempo de pesquisa para saber se vai buscar somente da tabela quente ou devem ir também na tabela de histórico. Ao ver esta situação, fico indignado, acho que o Oracle tem solução para estes tipos de problema ( Index / Tablespace / Cluster ), como não tenho conhecimento, não consigo argumentar contra esta bizarrice. Alguém pode compartilhar alguma solução para esses casos ? Obrigado.
Olá, Sim, você está certo, a Oracle tem solução para isso porém deve ser avaliado se a licença da sua empresa cobre a feature de Particionamento. Para dados históricos, eu vejo esta como a melhor solução pois basta você escolher a estratégia de particionamento (por range, hash, list ou até combinações destes) e se será uma partição simples ou composta. Caso tenha interesse, analise o manual Database VLDB and Partitioning Guide https://docs.oracle.com/cd/E11882_01/server.112/e25523/toc.htm  Abraços. caadecarvalho
Bom Dia Adicionalmente a estratégia de particionamento sugerida acima, pode ser utilizada a funcionalidade TOTAL_RECALL essa funcionalidade permite que seja implementada uma regra para mover os dados para uma TBSP de dados histórico. Esta movimentação é feita quando o servidor de banco de dados estiver com baixa taxa de utilização. Com ela é possível você criar uma TBSP em um Disk Group que pode ser criar em um storage midlle range.
Além do que foi dito, você pode dar uma olhada em uma nova Feature do banco 12c chamado ADO (Automatic Data Optimization ). Segue um artigo que foi publicado no OTN em Espanhol sobre o assunto: Oracle 12c: Automatic Data Optimization (ADO)  AbsAlex Zaballa

Clonar bases?

Olá, Possuo duas bases no mesmo servidor, sendo uma de produção e outra pra simulação. Preciso que a de simulação funcione como um espelhamento da base de produção.Qual a melhor alternativa pra isto?Automatizar por script a restauração uma vez ao dia da base de simulação ou existe alguma alternativa melhor? Configurações: Oracle EE 11.0.2 Obrigado!! Guilherme
Olá Guilherme, Então, acredito que a melhor forma é ter um script a mão para realizar o refresh da base de "simulação" periodicamente.O refresh pode ser feito tanto com restore/recover, quanto via datapump (acredito ser uma forma interessante pois pode se atualizar apenas alguns schemas que se precisa de novas informações...).Caso queira fixar um período para realizar o refresh ainda dá para por na cron (ou agendador de tarefas...). Dica: como as bases ficarão no mesmo servidor, tome cuidado com os nomes delas e dos seus arquivos e também para as simulações não impactarem em produção... Espero ter ajudado,Anatoli A.
Exato. O grande "porém" da minha dúvida é a influência no banco de produção. Não poderei fazer muitas exportações (mesmo por datapump) pra não influenciar no banco de produção. Alinharei este fato com o cliente.Também já estou deixando outros scripts agendados via cron. Muito obrigado! Guilherme
Bom dia, Se o teu storage possui suporte a SnapShots, seria a melhor alternativa e mais rápida. Você pode usar o RMAN DUPLICATE DATABASE ou Restore/Recover, com isso você ainda tem o benefício de testar se o seu backup funciona. E por último, dá uma olhada nas soluções da Delphix - http://www.delphix.com/ Abs

Timeout no banco de dados?

Pessoal,Existe algum timeout default no banco de dados? Como modificar?Tenho duas bases em banco 11g EE e frequentemente tenho que me desconectar do client (sql developer, pl/sql developer) e conectar novamente a base.Se parar de trabalhar por cerca de 5 minutos o client já deixa de funcionar, ou seja, as query demoram a executar e por fim mostram uma mensagem de erro (timeout).Já testei diferentes clients para conexão com o banco e todos tem este problema. Pesquisei uma solução e encontrei o plugin "Keep alive", devo instalar ou existe uma forma de configuração desse tempo? Obrigado!! Abs.
Olá Guilherme, Timeout de sessão pode ser relativo a vários fatores, desde firewall (mais comum de ocorrer), sqlnet ou o oracle mesmo.Tem um parâmetro que pode estar setado no profile default do banco, que lida com o assunto.select * from dba_profiles; -- atenção para o limit "idle_time" Anatoli A.
Olá AnatoliAndrei,Conforme query: select * from dba_profiles where RESOURCE_NAME = 'IDLE_TIME';Obtive os seguintes resultados abaixo: MONITORING_PROFILEIDLE_TIMEKERNELDEFAULTDEFAULTIDLE_TIMEKERNELUNLIMITED Achei que o problema pudesse estar no firewall também, mas conversei com o pessoal de redes e não existe nenhum problema ou bloqueio.Meu sqlnet: NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)  ADR_BASE = /u01 O que pode ser?? Já não sei mais onde está o problema...Obrigado Abs
Olá, Verifique também se o Resource Manager está habilitado no banco, e caso positivo, se os planos contemplam alguma ação para timeout. 
SELECT * FROM DBA_RSRC_PLAN_DIRECTIVES WHERE MAX_IDLE_TIME != 0;
  Abraços.
caadecarvalho,Esta consulta não retornou nenhum resultado.Com a query SELECT * FROM DBA_RSRC_PLAN_DIRECTIVES; pude acompanhar que todas linhas retornam com max_idle_time = null.Não sei mais onde está o problema. To começando a ficar preocupado..ObrigadoAbs.
Olá, GuilhermeFraga Você já avaliou o sqlnet.ora localizado em $ORACLE_HOME/network/admin/sqlnet.ora? Existem várias possibilidades, conforme o AnatoliAndrei já mencionou. Sugiro que você avalie cada uma destas pois dentro do banco não há nenhum recurso que possa fazer essa tratativa além dos que já mencionamos aqui (Resource Manager e Profile). Veja também se há alguma rotina que esteja efetuando esta ação. Abraços.
Olá caadecarvalho ,Sim, postei como está meu sqlnet.ora nos posts mais acima...Segue: NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)  ADR_BASE = /u01 Vou pedir que deem mais uma revisada no Firewall, pois no banco já não sei mais onde mexer.Muito obrigado!Abs
OK, aguardamos retorno. Abraços.
Olá pessoal,Acabei descobrindo que o problema só acontece aqui dentro da empresa, ou seja, descobrimos que o problema estava no modem.Obrigado a ajuda de todos!

Categories

Resources