As sequenciasou sequences sao objetos do banco de dadosonde varios usuarios podem gerar numeros inteiros unicos. As geracoesdos numeros sequenciais ajudam na geracao das chaves primarias.Sem as sequencias, os valores sequenciais so podem ser produzidosatraves de uma programacao. Um novovalor de chave primaria pode ser obtidoselecionando uma sequencia, que uma vez fornecido ao usuario,incrementa seu valor automaticamente. Neste artigo vamos apresentarcomo alterar valores de uma sequencia sem a necessadade de recria-la. Emversoes anteriores do Oracle para reinicializar uma sequencia era necessariorecria-la. A seguir vamos demonstrar ospassos: Criando uma sequencia usaremoso comando abaixo. SQL>CREATE SEQUENCE SEQ_TEST INCREMENT BY 1 START WITH 1 NOMAXVALUE NOCYCLE CACHE 10; Sequence created.Para ver o valor atual da sequencia utilizamos oscomandos abaixo:SQL> SELECT SEQ_TEST.NEXTVAL FROM DUAL; NEXTVAL---------- 1 SQL> SELECT SEQ_TEST.CURRVAL FROM DUAL; CURRVAL---------- 1Em seguida, para incrementar valores na sequenciaexecutaremos os comandos abaixo:SQL> SELECT SEQ_TEST.NEXTVAL FROM DUAL; NEXTVAL---------- 2 SQL> SELECT SEQ_TEST.NEXTVAL FROM DUAL; NEXTVAL---------- 3 SQL> SELECT SEQ_TEST.NEXTVAL FROM DUAL; NEXTVAL---------- 4 SQL> SELECT SEQ_TEST.NEXTVAL FROM DUAL; NEXTVAL---------- 5 SQL> SELECT SEQ_TEST.CURRVALFROM DUAL; CURRVAL---------- 5Neste exemplo geramos 5 incrementos para asequencia.Para reinicializar a sequencia, deve-se utilizar ocomando alter sequence com a opcao "increment by", adicionando ovalor que se deseja inicializar ou mesmo diminuir, conforme o exemplo abaixo: SQL> ALTER SEQUENCE SEQ_TEST INCREMENT BY -5 MINVALUE 0; Sequence altered. O comando acima ira zerar asequencia, pois a mesma possuia 5 valores e no comando e subtraido 5, conforme resultado demonstrado abaixo. SQL> SELECT SEQ_TEST.NEXTVAL FROM DUAL; NEXTVAL---------- 0 SQL> SELECT SEQ_TEST.CURRVAL FROM DUAL; CURRVAL---------- 0 Tambem e possivel incrementarvalores, substituindo pelo valor desejado, conforme apresentado abaixo: SQL> ALTER SEQUENCE SEQ_TEST INCREMENT BY 3 MINVALUE 0; Sequence altered. SQL> SELECT SEQ_TEST.NEXTVAL FROM DUAL; NEXTVAL---------- 3 SQL> SELECT SEQ_TEST.CURRVAL FROM DUAL; CURRVAL---------- 3 Referencias: OracleDatabase SQL Language Reference 11gR2 (11.2) Oracle Database Administrator sGuide 11gR2 (11.2)MSc.Rubens OliveiraDBA Oracle Consultorolivert.dba@consultant.com Muitas vezes, o DBA poderaenfrentar um cenario em que o desempenho banco de dados Oracle apresentaralentidao. Neste artigo daremos uma ideia ao DBA por onde comecar asverificacoes no banco de dados, a fim de monitorar e/ou corrigir o ambiente. Podem existir muitas razoes pelasquais o banco de dados pode apresentar um desempenho ruim. Para investigar umproblema de desempenho, deve-se considerar as seguintes perguntas para tomar aacao apropriada.Se o banco de dados esta lento - o problema e constante ou pontual?Se for umproblema constanteGerar um relatorio do AWR ou doStatspack, dependendo da versao do banco de dados. Coletar as informacoes porum periodo de tempo em que ocorre o problema.Se possivel gerar um relatorio dehistorico que cubra a mesma hora do dia e o periodo em que o desempenho melhorapara ajudar na identificacao do problema.Se for umproblema pontual (algumas vezes)Gerar um relatorio do AWR ou Statspackdentro do periodo de tempo em que o problema ocorre (Por exemplo, se o problemaocorre entre as 12hs e as 15hs, o ideal e que seja gerado um relatorio com umperiodo de uma hora antes e uma hora depois do problema, para esse exemplo operiodo do relatorio seria das 11hs as 16hs) .E interessante gerar um relatoriodo AWR ou Statspack, num periodo igual periodo de tempo, quando