Re: [oracle_br] AJuda script shell
Muito obrigado Mulafani, eu fiz da seguinte maneira: --KILL_SESSION.ksh #!/bin/ksh export ORACLE_SID=sdeopexport ORACLE_HOME=/oracle/11gexport PATH=$ORACLE_HOME/binsqlplus / as sysdba @/home/oracle/acndba/scripts/kill_session.sql -- kill_session.sql spool /home/oracle/acndba/scripts/kill_session_output.sqlselect '!kill -9 '|| p.spid FROM gv$session s, gv$process p WHERE s.paddr = p.addr AND s.username IS NOT NULL AND s.status like '%KILLED%';spool off@/home/oracle/acndba/scripts/kill_session_output.sql Irei testar para ver se esta funcionando, esperando o cenario se repetir... Em Terça-feira, 12 de Dezembro de 2017 12:31, "Rodrigo Mufalani rodr...@mufalani.com.br [oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu: Boa tarde, Há maneiras mais elegantes de fazer isso com shell script, mas... dá pra fazer somente com sql basicamente... #!/bin/shsqlplus “/as sysdba”< on behalf of Rafael Mendonca raffaell.t...@yahoo.com [oracle_br] <oracle_br@yahoogrupos.com.br> Sent: Tuesday, December 12, 2017 12:21:43 PM To: oracle_br@yahoogrupos.com.br Subject: Re: [oracle_br] AJuda script shell Sergio, obrigado pela resposta, mas nao eh isso que preciso, falei em SCRIPT SHELL e nao a query, a query eu ja tenho: kill_session.ksh #!/bin/ksh export ORACLE_SID=export ORACLE_HOME=/oracle/lalalaexport PATH=$ORACLE_HOME/binsqlplus / as sysdba @/home/oracle//scripts/kill_session.sql #kill_session.sql SELECT p.spid FROM gv$session s, gv$process p WHERE s.paddr = p.addr AND s.username IS NOT NULL AND s.status = 'KILLED'; Beleza, ele me gera um select dinamico com a query pra matar as sessoes, mas eu preciso que isso seja feita de forma automatica, alguem pode ajudar? Em Terça-feira, 12 de Dezembro de 2017 12:00, "Sérgio Luiz Rodrigues Chaves sergio.cha...@elumini.com.br [oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu: Bom dia, O select abaixo é para identificação de locks mas pode ser adaptado para o que você precisa. Atenção para o texto que está para ambiente de RAC. SELECT gvh.inst_id INST_BLOQUEADORA, gvh.SID SID_BLOQUEADORA, gvs.serial# SERIAL_BLOQUEADORA,gvs.status STATUS,gvs.username USUARIO_BLOQUEADOR, (select Distinct substr(sql_text,0,999) from gv$sql where sql_id = gvs.PREV_SQL_ID) SQL_BLOQUEADOR,gvs.module MODULO,gvs.CLIENT_INFO CLIENT_INFO, gvw.inst_id INST_AGUARDANDO, gvw.SID SID_AGUARDANDO,(select distinct username from gv$session where sid = gvw.sid and inst_id = gvw.inst_id) USUARIO_AGUARDANDO,(select distinct substr(sql_text,0,999) from gv$sql where sql_id in (select distinct sql_id from gv$session where sid = gvw.sid and inst_id = gvw.inst_id)) SQL_AGUARDANDO,decode(gvh.type, 'MR', 'Media_recovery','RT', 'Redo_thread','UN', 'User_name','TX', 'Transaction','TM', 'Dml','UL', 'PLSQL User_lock','DX', 'Distrted_Transaxion','CF', 'Control_file','IS', 'Instance_state','FS', 'File_set','IR', 'Instance_recovery','ST', 'Diskspace Transaction','IV', 'Libcache_invalidation','LS', 'LogStaartORswitch','RW', 'Row_wait','SQ', 'Sequence_no','TE', 'Extend_table','TT', 'Temp_table','Nothing-') TIPO_BLOQUEIO_ESPERA,decode(gvw.request, 0, 'None',1, 'NoLock',2, 'Row-Share',3, 'Row-Exclusive',4, 'Share-Table',5, 'Share-Row-Exclusive',6, 'Exclusive','Nothing-') modo_req_espera ,decode(gvs.username,'ATZ','ATENCAO ATZ',null)||'alter system kill session '|| || gvh.SID || ',' || gvs.serial#||',@'||gvs.INST_ID|| ''' IMMEDIATE;---'||decode(gvs.username,'ATZ','ATENCAO ATZ',null) "COMANDO_KILL_ORACLE",'EXEC KILL_SESSION ('|| gvh.SID || ',' || gvs.serial#||',' ||gvs.INST_ID||');' "COMANDO_KILL_ORACLE1",'kill -9 '||p.spid "COMANDO_KILL_LINUX",LPAD(TRUNC(gvw.ctime/3600),6)||':'||LPAD(MOD(TRUNC(gvw.ctime/60),60),2,'0')||':'||LPAD(MOD(gvw.ctime,60),2,'0') "TEMPO_ESPERA"FROM gv$lock gvh, gv$lock gvw, gv$session gvs, gv$process pWHERE (gvh.id1, gvh.id2) in (SELECT id1, id2 FROM gv$lock WHERE request=0INTERSECTSELECT id1, id2 FROM gv$lock WHERE lmode=0)AND gvh.id1=gvw.id1AND gvh.id2=gvw.id2AND gvh.request=0AND gvw.lmode=0AND gvh.SID=gvs.SIDAND gvh.inst_id=gvs.inst_idand gvs.paddr = p.addrand gvs.inst_id = p.inst_id Desde já agradeço. Sérgio Chaves. De: oracle_br@yahoogrupos.com.br <oracle_br@yahoogrupos.com.br> em nome de Rafael Mendonca raffaell.t...@yahoo.com [oracle_br] <oracle_br@yahoogrupos.com.br> Enviado: terça-feira, 12 de dezembro de 2017 11:01:48 Para: Yahoo! Brazil Assunto: [oracle_br] AJuda script shell Pessoal, preciso de um script shell no aix para matar *TODAS* as sessoes com status killed, no caso kill -9 pid: exemplo: SELECT p.spid FROM v$session s, v$process p WHERE s.paddr = p.addr AND s.username IS NOT NULL AND s.status = 'KILLED'/ Alguem poderia me ajudar? #yiv2437521631 #yiv2437521631 -- #yiv2437521631ygrp-mkp {border:1px solid #d8d8d8;font-family:Arial;margin:10px 0;paddin
Re: [oracle_br] AJuda script shell
Boa tarde, Há maneiras mais elegantes de fazer isso com shell script, mas... dá pra fazer somente com sql basicamente... #!/bin/sh sqlplus “/as sysdba”<From ... o resto da sua quey Spool off @kill1.sql exit EOF Faz um shell que loga no sqlplus... chama esse script acima lembrando que to que for v$ vira v\$ no teu script Obter o Outlook para iOS<https://aka.ms/o0ukef> From: oracle_br@yahoogrupos.com.br <oracle_br@yahoogrupos.com.br> on behalf of Rafael Mendonca raffaell.t...@yahoo.com [oracle_br] <oracle_br@yahoogrupos.com.br> Sent: Tuesday, December 12, 2017 12:21:43 PM To: oracle_br@yahoogrupos.com.br Subject: Re: [oracle_br] AJuda script shell Sergio, obrigado pela resposta, mas nao eh isso que preciso, falei em SCRIPT SHELL e nao a query, a query eu ja tenho: kill_session.ksh #!/bin/ksh export ORACLE_SID= export ORACLE_HOME=/oracle/lalala export PATH=$ORACLE_HOME/bin sqlplus / as sysdba @/home/oracle//scripts/kill_session.sql #kill_session.sql SELECT p.spid FROM gv$session s, gv$process p WHERE s.paddr = p.addr AND s.username IS NOT NULL AND s.status = 'KILLED'; Beleza, ele me gera um select dinamico com a query pra matar as sessoes, mas eu preciso que isso seja feita de forma automatica, alguem pode ajudar? Em Terça-feira, 12 de Dezembro de 2017 12:00, "Sérgio Luiz Rodrigues Chaves sergio.cha...@elumini.com.br [oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu: Bom dia, O select abaixo é para identificação de locks mas pode ser adaptado para o que você precisa. Atenção para o texto que está para ambiente de RAC. SELECT gvh.inst_id INST_BLOQUEADORA, gvh.SID SID_BLOQUEADORA, gvs.serial# SERIAL_BLOQUEADORA, gvs.status STATUS,gvs.username USUARIO_BLOQUEADOR, (select Distinct substr(sql_text,0,999) from gv$sql where sql_id = gvs.PREV_SQL_ID) SQL_BLOQUEADOR, gvs.module MODULO,gvs.CLIENT_INFO CLIENT_INFO, gvw.inst_id INST_AGUARDANDO, gvw.SID SID_AGUARDANDO, (select distinct username from gv$session where sid = gvw.sid and inst_id = gvw.inst_id) USUARIO_AGUARDANDO, (select distinct substr(sql_text,0,999) from gv$sql where sql_id in (select distinct sql_id from gv$session where sid = gvw.sid and inst_id = gvw.inst_id)) SQL_AGUARDANDO, decode(gvh.type, 'MR', 'Media_recovery', 'RT', 'Redo_thread', 'UN', 'User_name', 'TX', 'Transaction', 'TM', 'Dml', 'UL', 'PLSQL User_lock', 'DX', 'Distrted_Transaxion', 'CF', 'Control_file', 'IS', 'Instance_state', 'FS', 'File_set', 'IR', 'Instance_recovery', 'ST', 'Diskspace Transaction', 'IV', 'Libcache_invalidation', 'LS', 'LogStaartORswitch', 'RW', 'Row_wait', 'SQ', 'Sequence_no', 'TE', 'Extend_table', 'TT', 'Temp_table', 'Nothing-') TIPO_BLOQUEIO_ESPERA, decode(gvw.request, 0, 'None', 1, 'NoLock', 2, 'Row-Share', 3, 'Row-Exclusive', 4, 'Share-Table', 5, 'Share-Row-Exclusive', 6, 'Exclusive', 'Nothing-') modo_req_espera , decode(gvs.username,'ATZ','ATENCAO ATZ',null)||'alter system kill session '|| || gvh.SID || ',' || gvs.serial#||',@'||gvs.INST_ID|| ''' IMMEDIATE;---'||decode(gvs.username,'ATZ','ATENCAO ATZ',null) "COMANDO_KILL_ORACLE", 'EXEC KILL_SESSION ('|| gvh.SID || ',' || gvs.serial#||',' ||gvs.INST_ID||');' "COMANDO_KILL_ORACLE1", 'kill -9 '||p.spid "COMANDO_KILL_LINUX", LPAD(TRUNC(gvw.ctime/3600),6)||':'||LPAD(MOD(TRUNC(gvw.ctime/60),60),2,'0')||':'||LPAD(MOD(gvw.ctime,60),2,'0') "TEMPO_ESPERA" FROM gv$lock gvh, gv$lock gvw, gv$session gvs, gv$process p WHERE (gvh.id1, gvh.id2) in ( SELECT id1, id2 FROM gv$lock WHERE request=0 INTERSECT SELECT id1, id2 FROM gv$lock WHERE lmode=0) AND gvh.id1=gvw.id1 AND gvh.id2=gvw.id2 AND gvh.request=0 AND gvw.lmode=0 AND gvh.SID=gvs.SID AND gvh.inst_id=gvs.inst_id and gvs.paddr = p.addr and gvs.inst_id = p.inst_id Desde já agradeço. Sérgio Chaves. De: oracle_br@yahoogrupos.com.br <oracle_br@yahoogrupos.com.br> em nome de Rafael Mendonca raffaell.t...@yahoo.com [oracle_br] <oracle_br@yahoogrupos.com.br> Enviado: terça-feira, 12 de dezembro de 2017 11:01:48 Para: Yahoo! Brazil Assunto: [oracle_br] AJuda script shell Pessoal, preciso de um script shell no aix para matar *TODAS* as sessoes com status killed, no caso kill -9 pid: exemplo: SELECT p.spid FROM v$session s, v$process p WHERE s.paddr = p.addr AND s.usernameIS NOT NULL AND s.status = 'KILLED' / Alguem poderia me ajudar?
Re: [oracle_br] AJuda script shell
corrigindo: select '!kill -9 '|| p.spid FROM gv$session s, gv$process p WHERE s.paddr = p.addr AND s.username IS NOT NULL AND s.status like '%KILLED%'; como faco pra dentro do shell, ele executar a saida do sql dinamico? Em Terça-feira, 12 de Dezembro de 2017 12:21, "Rafael Mendonca raffaell.t...@yahoo.com [oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu: Sergio, obrigado pela resposta, mas nao eh isso que preciso, falei em SCRIPT SHELL e nao a query, a query eu ja tenho: kill_session.ksh #!/bin/ksh export ORACLE_SID=export ORACLE_HOME=/oracle/lalalaexport PATH=$ORACLE_HOME/binsqlplus / as sysdba @/home/oracle//scripts/kill_session.sql #kill_session.sql SELECT p.spid FROM gv$session s, gv$process p WHERE s.paddr = p.addr AND s.username IS NOT NULL AND s.status = 'KILLED'; Beleza, ele me gera um select dinamico com a query pra matar as sessoes, mas eu preciso que isso seja feita de forma automatica, alguem pode ajudar? Em Terça-feira, 12 de Dezembro de 2017 12:00, "Sérgio Luiz Rodrigues Chaves sergio.cha...@elumini.com.br [oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu: Bom dia, O select abaixo é para identificação de locks mas pode ser adaptado para o que você precisa. Atenção para o texto que está para ambiente de RAC. SELECT gvh.inst_id INST_BLOQUEADORA, gvh.SID SID_BLOQUEADORA, gvs.serial# SERIAL_BLOQUEADORA,gvs.status STATUS,gvs.username USUARIO_BLOQUEADOR, (select Distinct substr(sql_text,0,999) from gv$sql where sql_id = gvs.PREV_SQL_ID) SQL_BLOQUEADOR,gvs.module MODULO,gvs.CLIENT_INFO CLIENT_INFO, gvw.inst_id INST_AGUARDANDO, gvw.SID SID_AGUARDANDO,(select distinct username from gv$session where sid = gvw.sid and inst_id = gvw.inst_id) USUARIO_AGUARDANDO,(select distinct substr(sql_text,0,999) from gv$sql where sql_id in (select distinct sql_id from gv$session where sid = gvw.sid and inst_id = gvw.inst_id)) SQL_AGUARDANDO,decode(gvh.type, 'MR', 'Media_recovery','RT', 'Redo_thread','UN', 'User_name','TX', 'Transaction','TM', 'Dml','UL', 'PLSQL User_lock','DX', 'Distrted_Transaxion','CF', 'Control_file','IS', 'Instance_state','FS', 'File_set','IR', 'Instance_recovery','ST', 'Diskspace Transaction','IV', 'Libcache_invalidation','LS', 'LogStaartORswitch','RW', 'Row_wait','SQ', 'Sequence_no','TE', 'Extend_table','TT', 'Temp_table','Nothing-') TIPO_BLOQUEIO_ESPERA,decode(gvw.request, 0, 'None',1, 'NoLock',2, 'Row-Share',3, 'Row-Exclusive',4, 'Share-Table',5, 'Share-Row-Exclusive',6, 'Exclusive','Nothing-') modo_req_espera ,decode(gvs.username,'ATZ','ATENCAO ATZ',null)||'alter system kill session '|| || gvh.SID || ',' || gvs.serial#||',@'||gvs.INST_ID|| ''' IMMEDIATE;---'||decode(gvs.username,'ATZ','ATENCAO ATZ',null) "COMANDO_KILL_ORACLE",'EXEC KILL_SESSION ('|| gvh.SID || ',' || gvs.serial#||',' ||gvs.INST_ID||');' "COMANDO_KILL_ORACLE1",'kill -9 '||p.spid "COMANDO_KILL_LINUX",LPAD(TRUNC(gvw.ctime/3600),6)||':'||LPAD(MOD(TRUNC(gvw.ctime/60),60),2,'0')||':'||LPAD(MOD(gvw.ctime,60),2,'0') "TEMPO_ESPERA"FROM gv$lock gvh, gv$lock gvw, gv$session gvs, gv$process pWHERE (gvh.id1, gvh.id2) in (SELECT id1, id2 FROM gv$lock WHERE request=0INTERSECTSELECT id1, id2 FROM gv$lock WHERE lmode=0)AND gvh.id1=gvw.id1AND gvh.id2=gvw.id2AND gvh.request=0AND gvw.lmode=0AND gvh.SID=gvs.SIDAND gvh.inst_id=gvs.inst_idand gvs.paddr = p.addrand gvs.inst_id = p.inst_id Desde já agradeço. Sérgio Chaves. De: oracle_br@yahoogrupos.com.br <oracle_br@yahoogrupos.com.br> em nome de Rafael Mendonca raffaell.t...@yahoo.com [oracle_br] <oracle_br@yahoogrupos.com.br> Enviado: terça-feira, 12 de dezembro de 2017 11:01:48 Para: Yahoo! Brazil Assunto: [oracle_br] AJuda script shell Pessoal, preciso de um script shell no aix para matar *TODAS* as sessoes com status killed, no caso kill -9 pid: exemplo: SELECT p.spid FROM v$session s, v$process p WHERE s.paddr = p.addr AND s.username IS NOT NULL AND s.status = 'KILLED'/ Alguem poderia me ajudar? #yiv0085736138 #yiv0085736138 -- #yiv0085736138ygrp-mkp {border:1px solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv0085736138 #yiv0085736138ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv0085736138 #yiv0085736138ygrp-mkp #yiv0085736138hd {color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 0;}#yiv0085736138 #yiv0085736138ygrp-mkp #yiv0085736138ads {margin-bottom:10px;}#yiv0085736138 #yiv0085736138ygrp-mkp .yiv0085736138ad {padding:0 0;}#yiv0085736138 #yiv0085736138ygrp-mkp .yiv0085736138ad p {margin:0;}#yiv0085736138 #yiv0085736138ygrp-mkp .yiv0085736138ad a {color:#ff;text-decoration:none;}#yiv0085736138 #yiv0085736138ygrp-sponsor #yiv0085736138ygrp-lc {font-family:Arial;}#yiv0085736138 #yiv0085736138ygrp-sponsor #yiv0085736138ygrp-lc #yiv0085736138hd {margin:10px 0px;font-weight:700;font-size:78%;line-height:122
Re: [oracle_br] AJuda script shell
Sergio, obrigado pela resposta, mas nao eh isso que preciso, falei em SCRIPT SHELL e nao a query, a query eu ja tenho: kill_session.ksh #!/bin/ksh export ORACLE_SID=export ORACLE_HOME=/oracle/lalalaexport PATH=$ORACLE_HOME/binsqlplus / as sysdba @/home/oracle//scripts/kill_session.sql #kill_session.sql SELECT p.spid FROM gv$session s, gv$process p WHERE s.paddr = p.addr AND s.username IS NOT NULL AND s.status = 'KILLED'; Beleza, ele me gera um select dinamico com a query pra matar as sessoes, mas eu preciso que isso seja feita de forma automatica, alguem pode ajudar? Em Terça-feira, 12 de Dezembro de 2017 12:00, "Sérgio Luiz Rodrigues Chaves sergio.cha...@elumini.com.br [oracle_br]" <oracle_br@yahoogrupos.com.br> escreveu: Bom dia, O select abaixo é para identificação de locks mas pode ser adaptado para o que você precisa. Atenção para o texto que está para ambiente de RAC. SELECT gvh.inst_id INST_BLOQUEADORA, gvh.SID SID_BLOQUEADORA, gvs.serial# SERIAL_BLOQUEADORA,gvs.status STATUS,gvs.username USUARIO_BLOQUEADOR, (select Distinct substr(sql_text,0,999) from gv$sql where sql_id = gvs.PREV_SQL_ID) SQL_BLOQUEADOR,gvs.module MODULO,gvs.CLIENT_INFO CLIENT_INFO, gvw.inst_id INST_AGUARDANDO, gvw.SID SID_AGUARDANDO,(select distinct username from gv$session where sid = gvw.sid and inst_id = gvw.inst_id) USUARIO_AGUARDANDO,(select distinct substr(sql_text,0,999) from gv$sql where sql_id in (select distinct sql_id from gv$session where sid = gvw.sid and inst_id = gvw.inst_id)) SQL_AGUARDANDO,decode(gvh.type, 'MR', 'Media_recovery','RT', 'Redo_thread','UN', 'User_name','TX', 'Transaction','TM', 'Dml','UL', 'PLSQL User_lock','DX', 'Distrted_Transaxion','CF', 'Control_file','IS', 'Instance_state','FS', 'File_set','IR', 'Instance_recovery','ST', 'Diskspace Transaction','IV', 'Libcache_invalidation','LS', 'LogStaartORswitch','RW', 'Row_wait','SQ', 'Sequence_no','TE', 'Extend_table','TT', 'Temp_table','Nothing-') TIPO_BLOQUEIO_ESPERA,decode(gvw.request, 0, 'None',1, 'NoLock',2, 'Row-Share',3, 'Row-Exclusive',4, 'Share-Table',5, 'Share-Row-Exclusive',6, 'Exclusive','Nothing-') modo_req_espera ,decode(gvs.username,'ATZ','ATENCAO ATZ',null)||'alter system kill session '|| || gvh.SID || ',' || gvs.serial#||',@'||gvs.INST_ID|| ''' IMMEDIATE;---'||decode(gvs.username,'ATZ','ATENCAO ATZ',null) "COMANDO_KILL_ORACLE",'EXEC KILL_SESSION ('|| gvh.SID || ',' || gvs.serial#||',' ||gvs.INST_ID||');' "COMANDO_KILL_ORACLE1",'kill -9 '||p.spid "COMANDO_KILL_LINUX",LPAD(TRUNC(gvw.ctime/3600),6)||':'||LPAD(MOD(TRUNC(gvw.ctime/60),60),2,'0')||':'||LPAD(MOD(gvw.ctime,60),2,'0') "TEMPO_ESPERA"FROM gv$lock gvh, gv$lock gvw, gv$session gvs, gv$process pWHERE (gvh.id1, gvh.id2) in (SELECT id1, id2 FROM gv$lock WHERE request=0INTERSECTSELECT id1, id2 FROM gv$lock WHERE lmode=0)AND gvh.id1=gvw.id1AND gvh.id2=gvw.id2AND gvh.request=0AND gvw.lmode=0AND gvh.SID=gvs.SIDAND gvh.inst_id=gvs.inst_idand gvs.paddr = p.addrand gvs.inst_id = p.inst_id Desde já agradeço. Sérgio Chaves. De: oracle_br@yahoogrupos.com.br <oracle_br@yahoogrupos.com.br> em nome de Rafael Mendonca raffaell.t...@yahoo.com [oracle_br] <oracle_br@yahoogrupos.com.br> Enviado: terça-feira, 12 de dezembro de 2017 11:01:48 Para: Yahoo! Brazil Assunto: [oracle_br] AJuda script shell Pessoal, preciso de um script shell no aix para matar *TODAS* as sessoes com status killed, no caso kill -9 pid: exemplo: SELECT p.spid FROM v$session s, v$process p WHERE s.paddr = p.addr AND s.username IS NOT NULL AND s.status = 'KILLED'/ Alguem poderia me ajudar? #yiv8262697025 #yiv8262697025 -- #yiv8262697025ygrp-mkp {border:1px solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv8262697025 #yiv8262697025ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv8262697025 #yiv8262697025ygrp-mkp #yiv8262697025hd {color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 0;}#yiv8262697025 #yiv8262697025ygrp-mkp #yiv8262697025ads {margin-bottom:10px;}#yiv8262697025 #yiv8262697025ygrp-mkp .yiv8262697025ad {padding:0 0;}#yiv8262697025 #yiv8262697025ygrp-mkp .yiv8262697025ad p {margin:0;}#yiv8262697025 #yiv8262697025ygrp-mkp .yiv8262697025ad a {color:#ff;text-decoration:none;}#yiv8262697025 #yiv8262697025ygrp-sponsor #yiv8262697025ygrp-lc {font-family:Arial;}#yiv8262697025 #yiv8262697025ygrp-sponsor #yiv8262697025ygrp-lc #yiv8262697025hd {margin:10px 0px;font-weight:700;font-size:78%;line-height:122%;}#yiv8262697025 #yiv8262697025ygrp-sponsor #yiv8262697025ygrp-lc .yiv8262697025ad {margin-bottom:10px;padding:0 0;}#yiv8262697025 #yiv8262697025actions {font-family:Verdana;font-size:11px;padding:10px 0;}#yiv8262697025 #yiv8262697025activity {background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv8262697025 #yiv8262697025activity span {font-weight
Re: [oracle_br] AJuda script shell
Bom dia, O select abaixo é para identificação de locks mas pode ser adaptado para o que você precisa. Atenção para o texto que está para ambiente de RAC. SELECT gvh.inst_id INST_BLOQUEADORA, gvh.SID SID_BLOQUEADORA, gvs.serial# SERIAL_BLOQUEADORA, gvs.status STATUS,gvs.username USUARIO_BLOQUEADOR, (select Distinct substr(sql_text,0,999) from gv$sql where sql_id = gvs.PREV_SQL_ID) SQL_BLOQUEADOR, gvs.module MODULO,gvs.CLIENT_INFO CLIENT_INFO, gvw.inst_id INST_AGUARDANDO, gvw.SID SID_AGUARDANDO, (select distinct username from gv$session where sid = gvw.sid and inst_id = gvw.inst_id) USUARIO_AGUARDANDO, (select distinct substr(sql_text,0,999) from gv$sql where sql_id in (select distinct sql_id from gv$session where sid = gvw.sid and inst_id = gvw.inst_id)) SQL_AGUARDANDO, decode(gvh.type, 'MR', 'Media_recovery', 'RT', 'Redo_thread', 'UN', 'User_name', 'TX', 'Transaction', 'TM', 'Dml', 'UL', 'PLSQL User_lock', 'DX', 'Distrted_Transaxion', 'CF', 'Control_file', 'IS', 'Instance_state', 'FS', 'File_set', 'IR', 'Instance_recovery', 'ST', 'Diskspace Transaction', 'IV', 'Libcache_invalidation', 'LS', 'LogStaartORswitch', 'RW', 'Row_wait', 'SQ', 'Sequence_no', 'TE', 'Extend_table', 'TT', 'Temp_table', 'Nothing-') TIPO_BLOQUEIO_ESPERA, decode(gvw.request, 0, 'None', 1, 'NoLock', 2, 'Row-Share', 3, 'Row-Exclusive', 4, 'Share-Table', 5, 'Share-Row-Exclusive', 6, 'Exclusive', 'Nothing-') modo_req_espera , decode(gvs.username,'ATZ','ATENCAO ATZ',null)||'alter system kill session '|| || gvh.SID || ',' || gvs.serial#||',@'||gvs.INST_ID|| ''' IMMEDIATE;---'||decode(gvs.username,'ATZ','ATENCAO ATZ',null) "COMANDO_KILL_ORACLE", 'EXEC KILL_SESSION ('|| gvh.SID || ',' || gvs.serial#||',' ||gvs.INST_ID||');' "COMANDO_KILL_ORACLE1", 'kill -9 '||p.spid "COMANDO_KILL_LINUX", LPAD(TRUNC(gvw.ctime/3600),6)||':'||LPAD(MOD(TRUNC(gvw.ctime/60),60),2,'0')||':'||LPAD(MOD(gvw.ctime,60),2,'0') "TEMPO_ESPERA" FROM gv$lock gvh, gv$lock gvw, gv$session gvs, gv$process p WHERE (gvh.id1, gvh.id2) in ( SELECT id1, id2 FROM gv$lock WHERE request=0 INTERSECT SELECT id1, id2 FROM gv$lock WHERE lmode=0) AND gvh.id1=gvw.id1 AND gvh.id2=gvw.id2 AND gvh.request=0 AND gvw.lmode=0 AND gvh.SID=gvs.SID AND gvh.inst_id=gvs.inst_id and gvs.paddr = p.addr and gvs.inst_id = p.inst_id Desde já agradeço. Sérgio Chaves. De: oracle_br@yahoogrupos.com.br <oracle_br@yahoogrupos.com.br> em nome de Rafael Mendonca raffaell.t...@yahoo.com [oracle_br] <oracle_br@yahoogrupos.com.br> Enviado: terça-feira, 12 de dezembro de 2017 11:01:48 Para: Yahoo! Brazil Assunto: [oracle_br] AJuda script shell Pessoal, preciso de um script shell no aix para matar *TODAS* as sessoes com status killed, no caso kill -9 pid: exemplo: SELECT p.spid FROM v$session s, v$process p WHERE s.paddr = p.addr AND s.usernameIS NOT NULL AND s.status = 'KILLED' / Alguem poderia me ajudar?
[oracle_br] AJuda script shell
Pessoal, preciso de um script shell no aix para matar *TODAS* as sessoes com status killed, no caso kill -9 pid: exemplo: SELECT p.spid FROM v$session s, v$process p WHERE s.paddr = p.addr AND s.username IS NOT NULL AND s.status = 'KILLED'/ Alguem poderia me ajudar?