Commit e5851bf0ea9172129d8c8edf9d702c94418bbf05
Exists in
master
and in
2 other branches
Merge branch 'Correcao_Utilitarios_MySQL' into 'master'
Atualização completa do Script de Limpeza Oracle See merge request !8
Showing
2 changed files
with
145 additions
and
45 deletions
Show diff stats
utilitarios/sei_script_limpeza_oracle.sql
| 1 | 1 | /* |
| 2 | 2 | SCRIPT DE LIMPEZA DE PROCESSOS E DOCUMENTOS DA BASE DE DADOS DO SEI 2.6.0 (ORACLE) |
| 3 | + Antes de executar o script: | |
| 4 | + 1) Retirar o sistema do "AR" (derrubar todas sessõµes). | |
| 5 | + 2) Fazer uma cópia da base imediatamente antes de executar o script. | |
| 6 | + 3) Executar o script de limpeza. Se der erro, restaurar a base com a cópia feita no passo 2. | |
| 7 | + | |
| 8 | + Depois de executar o script com sucesso, sendo aconselhável conferir algumas tabelas abaixo e sequenciais de protocolo de processo na tabela "infra_sequencia": | |
| 9 | + 1) Apagar todos os arquivos e estrutura de pastas no Filesystem do sei_esquema. | |
| 10 | + 2) Excluir os Índices do Solr, conforme orientado no final do capítulo do Solr no Manual de Instalação do SEI: | |
| 11 | + 18 - Caso, no futuro, seja preciso reindexar todos os dados é aconselhável limpar antes os Índices usando os comandos abaixo: | |
| 12 | + http://[servidor_solr]:8080/solr/sei-protocolos/update?stream.body=<delete><query>*:*</query></delete>&commit=true | |
| 13 | + http://[servidor_solr]:8080/solr/sei-bases-conhecimento/update?stream.body=<delete><query>*:*</query></delete>&commit=true | |
| 14 | + http://[servidor_solr]:8080/solr/sei-publicacoes/update?stream.body=<delete><query>*:*</query></delete>&commit=true | |
| 15 | + 4) Colocar o sistema de volta ao "AR". | |
| 3 | 16 | */ |
| 4 | 17 | |
| 18 | +connect sei_esquema/sei_esquema@teste | |
| 19 | + | |
| 5 | 20 | /* Limpeza de tabelas afetas a Protocolo de Processos, de Documentos Gerados e Externos */ |
| 6 | 21 | |
| 22 | +--Procedure para reiniciar sequence de acordo com o valor máximo da tabela correspondente | |
| 7 | 23 | create or replace procedure reset_seq( p_seq_name in varchar2 ) |
| 8 | 24 | is |
| 9 | 25 | l_val number; |
| ... | ... | @@ -16,141 +32,210 @@ execute immediate 'select ' || p_seq_name || '.nextval from dual' INTO l_val; |
| 16 | 32 | |
| 17 | 33 | execute immediate 'alter sequence ' || p_seq_name || ' increment by 1 minvalue 0'; |
| 18 | 34 | end; |
| 35 | +/ | |
| 36 | + | |
| 37 | +--Início - Desabilitando as FKs | |
| 38 | +set echo off | |
| 39 | +set feedback off | |
| 40 | +set verify off | |
| 41 | +set heading off | |
| 42 | +set termout off | |
| 43 | +set pagesize 1000 | |
| 44 | +set colwidth 500 | |
| 45 | +set linesize 500 | |
| 46 | +spool disable_fk.sql | |
| 47 | +select 'ALTER TABLE '||cons.table_name||' DISABLE CONSTRAINT '||constraint_name||' CASCADE;' | |
| 48 | +from user_tables tabs | |
| 49 | + INNER JOIN user_constraints cons on (cons.table_name = tabs.table_name) | |
| 50 | +where cons.CONSTRAINT_TYPE = 'R'; | |
| 51 | +spool off | |
| 52 | +@disable_fk.sql; | |
| 53 | +/ | |
| 54 | +--Fim - Desabilitando as FKs | |
| 19 | 55 | |
| 20 | 56 | truncate table anexo; |
| 21 | -exec reset_seq('sei.seq_anexo'); | |
| 57 | +exec reset_seq('sei_esquema.seq_anexo'); | |
| 22 | 58 | |
| 23 | 59 | truncate table numeracao; |
| 24 | -exec reset_seq('sei.seq_numeracao'); | |
| 60 | +exec reset_seq('sei_esquema.seq_numeracao'); | |
| 25 | 61 | |
| 26 | 62 | truncate table acesso; |
| 27 | -exec reset_seq('sei.seq_acesso'); | |
| 63 | +exec reset_seq('sei_esquema.seq_acesso'); | |
| 28 | 64 | |
| 29 | 65 | truncate table acesso_externo; |
| 30 | -exec reset_seq('sei.seq_acesso_externo'); | |
| 66 | +exec reset_seq('sei_esquema.seq_acesso_externo'); | |
| 31 | 67 | |
| 32 | 68 | truncate table acompanhamento; |
| 33 | -exec reset_seq('sei.seq_acompanhamento'); | |
| 69 | +exec reset_seq('sei_esquema.seq_acompanhamento'); | |
| 70 | + | |
| 71 | +truncate table grupo_acompanhamento; | |
| 72 | +exec reset_seq('sei_esquema.seq_grupo_acompanhamento'); | |
| 34 | 73 | |
| 35 | 74 | truncate table andamento_situacao; |
| 36 | -exec reset_seq('sei.seq_andamento_situacao'); | |
| 75 | +exec reset_seq('sei_esquema.seq_andamento_situacao'); | |
| 76 | + | |
| 77 | +truncate table rel_proced_situacao_unidade; | |
| 37 | 78 | |
| 38 | 79 | truncate table anotacao; |
| 39 | -exec reset_seq('sei.seq_anotacao'); | |
| 80 | +exec reset_seq('sei_esquema.seq_anotacao'); | |
| 40 | 81 | |
| 41 | 82 | truncate table assinatura; |
| 42 | -exec reset_seq('sei.seq_assinatura'); | |
| 83 | +exec reset_seq('sei_esquema.seq_assinatura'); | |
| 43 | 84 | |
| 44 | 85 | truncate table estatisticas; |
| 45 | -exec reset_seq('sei.seq_estatisticas'); | |
| 86 | +exec reset_seq('sei_esquema.seq_estatisticas'); | |
| 46 | 87 | |
| 47 | 88 | truncate table indexacao_base_conhecimento; |
| 48 | 89 | |
| 90 | +truncate table base_conhecimento; | |
| 91 | +exec reset_seq('seq_base_conhecimento'); | |
| 92 | + | |
| 93 | +truncate table rel_base_conhec_tipo_proced; | |
| 94 | + | |
| 49 | 95 | truncate table indexacao_protocolo; |
| 50 | 96 | |
| 51 | 97 | truncate table indexacao_publicacao; |
| 52 | 98 | |
| 53 | 99 | truncate table versao_secao_documento; |
| 54 | -exec reset_seq('sei.seq_versao_secao_documento'); | |
| 100 | +exec reset_seq('sei_esquema.seq_versao_secao_documento'); | |
| 55 | 101 | |
| 56 | 102 | truncate table secao_documento; |
| 57 | -exec reset_seq('sei.seq_secao_documento'); | |
| 103 | +exec reset_seq('sei_esquema.seq_secao_documento'); | |
| 58 | 104 | |
| 59 | 105 | truncate table atributo_andamento; |
| 60 | -exec reset_seq('sei.seq_atributo_andamento'); | |
| 106 | +exec reset_seq('sei_esquema.seq_atributo_andamento'); | |
| 61 | 107 | |
| 62 | 108 | truncate table retorno_programado; |
| 63 | -exec reset_seq('sei.seq_retorno_programado'); | |
| 64 | - | |
| 65 | -truncate table acesso_externo; | |
| 66 | -exec reset_seq('sei.seq_acesso_externo'); | |
| 109 | +exec reset_seq('sei_esquema.seq_retorno_programado'); | |
| 67 | 110 | |
| 68 | 111 | truncate table participante; |
| 69 | -exec reset_seq('sei.seq_participante'); | |
| 112 | +exec reset_seq('sei_esquema.seq_participante'); | |
| 70 | 113 | |
| 71 | 114 | truncate table observacao; |
| 72 | -exec reset_seq('sei.seq_observacao'); | |
| 115 | +exec reset_seq('sei_esquema.seq_observacao'); | |
| 73 | 116 | |
| 74 | 117 | truncate table rel_protocolo_assunto; |
| 75 | 118 | |
| 76 | 119 | truncate table rel_protocolo_protocolo; |
| 77 | -exec reset_seq('sei.seq_rel_protocolo_protocolo'); | |
| 120 | +exec reset_seq('sei_esquema.seq_rel_protocolo_protocolo'); | |
| 78 | 121 | |
| 79 | 122 | truncate table publicacao; |
| 80 | -exec reset_seq('sei.seq_publicacao'); | |
| 123 | +exec reset_seq('sei_esquema.seq_publicacao'); | |
| 81 | 124 | |
| 82 | 125 | truncate table rel_bloco_protocolo; |
| 83 | 126 | |
| 84 | 127 | truncate table rel_bloco_unidade; |
| 85 | 128 | |
| 86 | 129 | truncate table protocolo_modelo; |
| 87 | -exec reset_seq('sei.seq_protocolo_modelo'); | |
| 130 | +exec reset_seq('sei_esquema.seq_protocolo_modelo'); | |
| 131 | + | |
| 132 | +truncate table grupo_protocolo_modelo; | |
| 133 | +exec reset_seq('seq_grupo_protocolo_modelo'); | |
| 88 | 134 | |
| 89 | 135 | truncate table unidade_publicacao; |
| 90 | -exec reset_seq('sei.seq_unidade_publicacao'); | |
| 136 | +exec reset_seq('sei_esquema.seq_unidade_publicacao'); | |
| 137 | + | |
| 138 | +truncate table serie_escolha; | |
| 91 | 139 | |
| 92 | 140 | truncate table serie_publicacao; |
| 93 | -exec reset_seq('sei.seq_serie_publicacao'); | |
| 141 | +exec reset_seq('sei_esquema.seq_serie_publicacao'); | |
| 94 | 142 | |
| 95 | ---truncate table texto_padrao; | |
| 143 | +truncate table texto_padrao_interno; | |
| 144 | +exec reset_seq('sei_esquema.seq_texto_padrao_interno'); | |
| 96 | 145 | |
| 97 | 146 | truncate table rel_protocolo_atributo; |
| 98 | 147 | |
| 99 | 148 | truncate table feed; |
| 100 | -exec reset_seq('sei.seq_feed'); | |
| 149 | +exec reset_seq('sei_esquema.seq_feed'); | |
| 101 | 150 | |
| 102 | -truncate table velocidade_transferencia; | |
| 151 | +truncate table velocidade_tr | |
| 152 | +ansferencia; | |
| 103 | 153 | |
| 104 | 154 | truncate table atributo_andamento_situacao; |
| 155 | +exec reset_seq('sei_esquema.seq_atributo_andamento_situaca'); | |
| 105 | 156 | |
| 106 | 157 | truncate table auditoria_protocolo; |
| 107 | -exec reset_seq('sei.seq_auditoria_protocolo'); | |
| 158 | +exec reset_seq('sei_esquema.seq_auditoria_protocolo'); | |
| 108 | 159 | |
| 109 | 160 | truncate table rel_notificacao_documento; |
| 110 | 161 | |
| 111 | 162 | truncate table estatisticas; |
| 112 | -exec reset_seq('sei.seq_estatisticas'); | |
| 163 | +exec reset_seq('sei_esquema.seq_estatisticas'); | |
| 113 | 164 | |
| 114 | 165 | truncate table atributo_andamento; |
| 115 | -exec reset_seq('sei.seq_atributo_andamento'); | |
| 166 | +exec reset_seq('sei_esquema.seq_atributo_andamento'); | |
| 116 | 167 | |
| 117 | 168 | truncate table notificacao; |
| 118 | -exec reset_seq('sei.seq_notificacao'); | |
| 169 | +exec reset_seq('sei_esquema.seq_notificacao'); | |
| 119 | 170 | |
| 120 | 171 | truncate table bloco; |
| 121 | -exec reset_seq('sei.seq_bloco'); | |
| 172 | +exec reset_seq('sei_esquema.seq_bloco'); | |
| 122 | 173 | |
| 123 | 174 | truncate table atividade; |
| 124 | -exec reset_seq('sei.seq_atividade'); | |
| 175 | +exec reset_seq('sei_esquema.seq_atividade'); | |
| 125 | 176 | |
| 126 | 177 | truncate table documento; |
| 127 | -exec reset_seq('sei.seq_documento'); | |
| 178 | +exec reset_seq('sei_esquema.seq_documento'); | |
| 128 | 179 | |
| 129 | 180 | truncate table procedimento; |
| 130 | 181 | |
| 182 | +truncate table tipo_procedimento_escolha; | |
| 183 | + | |
| 131 | 184 | truncate table protocolo; |
| 132 | -exec reset_seq('sei.seq_protocolo'); | |
| 185 | +exec reset_seq('sei_esquema.seq_protocolo'); | |
| 186 | + | |
| 187 | +truncate table grupo_email; | |
| 188 | +exec reset_seq('sei_esquema.seq_grupo_email'); | |
| 189 | + | |
| 190 | +/* Se no banco a ser limpo tenha Grupos de E-mail Institucionais configurados na Administraçã£o do SEI, verifique a possibilidade de reconfigurá-los manualmente pela aplicação. Caso tenha necessidade de mantê-los no banco, em vez de executar os dois comandos acima, deve executar o comando abaixo para deletar apenas os Grupos de E-mail dos Usuários, não sendo possível o realinhamento dos IDs: | |
| 191 | + delete from grupo_email where sta_tipo='U'; | |
| 192 | +*/ | |
| 193 | + | |
| 194 | +truncate table grupo_unidade; | |
| 195 | +exec reset_seq('sei_esquema.seq_grupo_unidade'); | |
| 196 | + | |
| 197 | +/* Se no banco a ser limpo tenha Grupos de Envio Institucionais configurados na Administração do SEI, verifique a possibilidade de reconfigurá-los manualmente pela aplicação. Caso tenha necessidade de mantê-los no banco, em vez de executar os dois comandos acima, deve executar o comando abaixo para deletar apenas os Grupos de Envio dos Usuários, não sendo possível o realinhamento dos IDs: | |
| 198 | + delete from grupo_unidade where sta_tipo='U'; | |
| 199 | +*/ | |
| 200 | + | |
| 133 | 201 | |
| 134 | 202 | /* Reconstrui as tabelas de log e auditoria e tabelas sequenciais correspondentes */ |
| 135 | 203 | truncate table infra_auditoria; |
| 136 | -exec reset_seq('sei.seq_infra_auditoria'); | |
| 204 | +exec reset_seq('sei_esquema.seq_infra_auditoria'); | |
| 137 | 205 | |
| 138 | 206 | truncate table infra_log; |
| 139 | -exec reset_seq('sei.seq_infra_log'); | |
| 207 | +exec reset_seq('sei_esquema.seq_infra_log'); | |
| 140 | 208 | |
| 141 | 209 | truncate table infra_navegador; |
| 142 | -exec reset_seq('sei.seq_infra_navegador'); | |
| 210 | +exec reset_seq('sei_esquema.seq_infra_navegador'); | |
| 143 | 211 | |
| 144 | 212 | truncate table infra_dado_usuario; |
| 145 | 213 | |
| 146 | -/* | |
| 147 | -Sobre a última linha abaixo, a tabela de sequência anual de protocolo de processos pode ser qualquer um dos formatos abaixo (de acordo com a configuração da numeração de protocolo): | |
| 214 | +--Início - Habilitando as FKs | |
| 215 | +set echo off | |
| 216 | +set feedback off | |
| 217 | +set verify off | |
| 218 | +set heading off | |
| 219 | +set termout off | |
| 220 | +set pagesize 1000 | |
| 221 | +set colwidth 500 | |
| 222 | +set linesize 500 | |
| 223 | +spool enable_fk.sql | |
| 224 | +select 'ALTER TABLE '||cons.table_name||' ENABLE CONSTRAINT '||constraint_name||';' | |
| 225 | +from user_tables tabs | |
| 226 | + INNER JOIN user_constraints cons on (cons.table_name = tabs.table_name) | |
| 227 | +where cons.CONSTRAINT_TYPE = 'R'; | |
| 228 | +spool off | |
| 229 | +@enable_fk.sql; | |
| 230 | +/ | |
| 231 | +--Fim - Habilitando as FKs | |
| 148 | 232 | |
| 233 | +/* | |
| 234 | +Sobre a última linha abaixo, a tabela de sequência anual de protocolo de processos pode ser qualquer um dos formatos abaixo (de acordo com a configuração da numeração de protocolo): | |
| 149 | 235 | seq_[ano]_org_sip_[id sip] |
| 150 | 236 | seq_[ano]_org_sei_[cod sei] |
| 151 | 237 | seq_[ano]_uni_sip_[id sip] |
| 152 | 238 | seq_[ano]_uni_sei_[cod sei] |
| 153 | - | |
| 154 | 239 | */ |
| 155 | 240 | |
| 156 | 241 | delete from infra_sequencia where nome_tabela like 'seq_%_uni_sei_%'; |
| ... | ... | @@ -161,4 +246,4 @@ delete from infra_sequencia where nome_tabela like 'seq_%_org_sip_%'; |
| 161 | 246 | update infra_sequencia set num_atual=0 where nome_tabela='infra_log'; |
| 162 | 247 | update infra_sequencia set num_atual=0 where nome_tabela='infra_navegador'; |
| 163 | 248 | |
| 164 | -/********************************************************************************************************************************************************/ | |
| 165 | 249 | \ No newline at end of file |
| 250 | +/********************************************************************************************************************************************************/ | ... | ... |
utilitarios/sip_script_limpeza_oracle.sql
| ... | ... | @@ -2,14 +2,29 @@ |
| 2 | 2 | SCRIPT DE LIMPEZA DE DADOS DA BASE DE DADOS DO SIP - SEI 2.6.0 (ORACLE) |
| 3 | 3 | */ |
| 4 | 4 | |
| 5 | -/* Reconstrui as tabelas de log e auditoria e tabelas sequenciais correspondentes */ | |
| 6 | -truncate table infra_auditoria; | |
| 7 | -exec reset_seq('sei.seq_infra_auditoria'); | |
| 5 | +connect sip@sip | |
| 6 | + | |
| 7 | +/* Reconstrui as tabelas de log e auditoria e as sequences correspondentes */ | |
| 8 | 8 | |
| 9 | +truncate table infra_auditoria; | |
| 9 | 10 | truncate table infra_log; |
| 10 | -exec reset_seq('sei.seq_infra_log'); | |
| 11 | + | |
| 12 | +declare | |
| 13 | + l_val number; | |
| 14 | +Begin | |
| 15 | + execute immediate 'select seq_infra_auditoria.nextval from dual' INTO l_val; | |
| 16 | + execute immediate 'alter sequence seq_infra_auditoria increment by -' || l_val || ' minvalue 0'; | |
| 17 | + execute immediate 'select seq_infra_auditoria.nextval from dual' INTO l_val; | |
| 18 | + execute immediate 'alter sequence seq_infra_auditoria increment by 1 minvalue 0'; | |
| 11 | 19 | |
| 20 | + execute immediate 'select seq_infra_log.nextval from dual' INTO l_val; | |
| 21 | + execute immediate 'alter sequence seq_infra_log increment by -' || l_val || ' minvalue 0'; | |
| 22 | + execute immediate 'select seq_infra_log.nextval from dual' INTO l_val; | |
| 23 | + execute immediate 'alter sequence seq_infra_log increment by 1 minvalue 0'; | |
| 24 | +end; | |
| 12 | 25 | |
| 26 | +truncate login; | |
| 13 | 27 | /********************************************************************************************************************************************************/ |
| 14 | 28 | |
| 15 | 29 | |
| 30 | + | ... | ... |