SYS @ orcl > ed final
set serveroutput on
create or replace procedure final is lquery varchar2(200) := ''; begin for rec in ( select sid, serial#, username from v$session where sid in ( select blocking_session from v$session ) ) loop
lquery := 'alter system kill session ' || '''' || rec.sid || ',' || rec.serial# || '''' || ' immediate';
dbms_output.put_line(lquery); EXECUTE IMMEDIATE lquery;
END LOOP; END; /
SYS @ orcl > ed kill.sql
execute final;
SYS @ orcl > @kill.sql
PL/SQL procedure successfully completed.
[orcl:~]$ nano dba.sh
#!/bin/bash
echo -e " 여기는 운영 db 입니다. " echo -e "
aaa a aa aaa aaa a aaaa a a a aa a a a a a a a a aa a a a aaaaaa a a a aaaaa a a a a a a a a a a a aaa a aaa aaa a aaaa "
echo -e "====================================================" echo " " echo " [1] 테이블 스페이스의 공간을 확인하려면 1번 [2] 디스크 i/o 를 확인하기 위해서 sar 명령어를 수행하려면 2번 [3] 현재 데이터베이스에 이슈가 있는지 확인하려면 3번 [4] 테이블 스페이스 공간의 80% 이상이찼을때, 자동으로 공간을 추가하려면 4번 [5] 현재 오라클 메모리 상태 확인 [6] 체크포인트를 수동으로 일으키기 [7] 아카이브 로그 파일의 디스크 용량을 확인하기 [8] 컨트롤 파일 백업 텍스트 생성하기 [9] alert log file을 실시간 모니터링 하기 [10] 락(lock)이 발생했을때 홀더(holder)와 웨이터(waiter) 확인하기 [11] scott 유져의 테이블을 생성하는 스크립트 출력하기 [12] 락 홀더 세션 중단시키는 프로시져 실행하기 "
echo " " echo -n " 원하는 작업을 선택하세요 " read aa echo " " case $aa in 1) sh /home/oracle/t.sh ;; 2) sh /home/oracle/sar.sh ;; 3) sh /home/oracle/o.sh ;; 4) sh /home/oracle/add_t.sh ;; 5) sqlplus scott/tiger @/home/oracle/sga.sql ;; 6) sqlplus scott/tiger @/home/oracle/ckpt.sql ;; 7) sqlplus "/as sysdba" @/home/oracle/fra_space.sql ;; 8) sqlplus "/as sysdba" @/home/oracle/c.sql ;; 9) sh /home/oracle/al.sh ;; 10) sqlplus "/as sysdba" @/home/oracle/l.sql ;; 11) sh /home/oracle/tb.sh ;; 12) sqlplus "/as sysdba" @/home/oracle/kill.sql ;; esac echo " "
|