Commit cd6d61267d374ccd2d20d782b29dce378c2494df
1 parent
18fd1c4b
Exists in
master
and in
2 other branches
Incluídos os scripts de limpeza para Oracle do banco do SEI e SIP totalmente revisados.
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 | + | ... | ... |