기본 콘텐츠로 건너뛰기

2015의 게시물 표시

redo log list

-------------------------------------------------------------------------------- SELECT GROUP#, STATUS, TYPE, MEMBER, IS_RECOVERY_DEST_FILE   FROM GV$LOGFILE  ORDER BY GROUP#, MEMBER; -------------------------------------------------------------------------------- SELECT *   FROM V$LOG  ORDER BY GROUP#; -------------------------------------------------------------------------------- SELECT A.GROUP#, A.MEMBER, B.STATUS, B.BYTES/1024/1024 AS MBytes   FROM V$LOGFILE A, V$LOG B WHERE A.GROUP# = B.GROUP#  ORDER BY A.GROUP#, A.MEMBER; -------------------------------------------------------------------------------- SELECT *   FROM V$LOG_HISTORY  ORDER BY SEQUENCE# DESC; --------------------------------------------------------------------------------

duplicate index

WITH    WITH_IND_COLUMNS AS     (         SELECT  TABLE_OWNER, TABLE_NAME, INDEX_OWNER, INDEX_NAME               , MIN(CASE WHEN COLUMN_POSITION =  1 THEN          COLUMN_NAME  || ' ' || DESCEND END)              || MIN(CASE WHEN COLUMN_POSITION =  2 THEN ' + ' || COLUMN_NAME  || ' ' || DESCEND END)              || MIN(CASE WHEN COLUMN_POSITION =  3 THEN ' + ' || COLUMN_NAME  || ' ' || DESCEND END)              || MIN(CASE WHEN COLUMN_POSITION =  4 THEN ' + ' || COLUMN_NAME  || ' ' || DESCEND END)              || MIN(CASE WHEN COLUMN_POSITION =  5 THEN ' + ' || COLUMN_NAME  || ' ' || DESCEND END)              || MIN(CASE WHEN COLUMN_POSITION =  6 T...

sequence list

SELECT *     FROM DBA_SEQUENCES    WHERE     1 = 1          AND SEQUENCE_OWNER NOT IN ('ANONYMOUS',                                     'APEX_030200',                                     'APEX_PUBLIC_USER',                                     'APPQOSSYS',                                     'CTXSYS',                                     'DBSNMP',                                     'DIP', ...

oracle hidden parameter 조회

col KSPPINM format a50 col KSPPSTVL format a10 col KSPPDESC format a100 SELECT  A.KSPPINM, B.KSPPSTVL, A.KSPPDESC FROM    X$KSPPI  A       , X$KSPPSV  B WHERE   SUBSTR(A.KSPPINM,1,1) = '_' AND     A.INDX = B.INDX AND     A.KSPPINM IN        (         '_PX_use_large_pool'       , '_b_tree_bitmap_plans'       , '_db_file_exec_read_count'       , '_db_file_optimizer_read_count'       , '_index_partition_large_extents'       , '_memory_imm_mode_without_autosga'       , '_object_statistics'       , '_optim_peek_user_binds'       , '_optimizer_adaptive_cursor_sharing'       , '_optimizer_join_factorization'       , '_optimizer_use_feedback'       , '_partition_large_extents'       , '_quer...

ls 명령어 디렉토리만 확인법

http://www.morenice.kr/64 ls 명령어는 파일과 디렉토리 리스트를 출력해주는 unix계열의 명령어다. ls --help 명령어를 확인하면 -d 옵션으로 directory만 출력하게 하는 옵션을 확인할 수 있다. morenice@ubuntu:~$ ls --help 사용법: ls [<옵션>]... [<파일>]... List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort. 긴 옵션에서 꼭 필요한 인수는 짧은 옵션에도 꼭 필요합니다. -a, --all do not ignore entries starting with . -A, --almost-all do not list implied . and .. .. -d, --directory list directory entries instead of contents, and do not dereference symbolic links .. .. 하지만 실제로 ls -d 명령을 실행하면 디렉토리가 출력되지 않고 . 하나만 출력된다. morenice@ubuntu:~$ ls -d . google 에서 간단한 내용을 검색해보니 외쿡 사람들도 왜 출력이 안되지 하면서 논의한 사항들이 있다. http://embraceubuntu.com/2005/10/19/list-only-the-directories/ 위의 사이트의 몇가지  사용예 가 있다. ls -d   ls -d */   ls -d */ | xargs -l basename 아!! ls -d 혹은 ls -d * 을 하면 결과가 안나...

Lock monitor

SELECT     a.sid, a.serial#, a.username, a.process, b.object_name, a.blocking_session blocker, a.event,     DECODE(c.lmode,2,'RS',3,'RX',4,'S',5,'SRX',8,'X','NO') "TABLE LOCK",     DECODE(a.command,2,'INSERT',3,'SELECT',6,'UPDATE',7,'DELETE',12,'DROP TABLE',26,'LOCK TABLE','UNknown') "SQL",     DECODE(a.lockwait, NULL,'NO wait','Wait') "STATUS",     'alter system kill session '''||a.sid||','||a.serial#||''' immediate;' as kill_command_input     ,A.* FROM     v$session a, dba_objects b, v$lock c WHERE     a.sid=c.sid and b.object_id=c.id1 AND c.type in ('TM','TX');

oracle sysaux full

SYSAUX 사용현황 select occupant_name, space_usage_kbytes/1024 "MB" from v$sysaux_occupants order by space_usage_kbytes; SYSAUX SEGMENT 정보 select owner, segment_name, segment_type, bytes/1024/1024 "MB" from dba_segments where tablespace_name = 'SYSAUX' order by bytes; 통계정보 보관주기 확인 select dbms_stats.get_stats_history_retention from dual; 보관주기 변경 exec dbms_stats.alter_stats_history_retention(8); 오래된 통계정보 삭제 (15/10/10 이전 삭제 예시 ) exec dbms_stats.purge_stats(to_timestamp_tz('10-10-2015 00:00:00 Asia/Seoul','DD-MM-YYYY HH24:MI:SS TZR')); AWR 현황 SELECT   snap_id, begin_interval_time, end_interval_time FROM   SYS.WRM$_SNAPSHOT WHERE   snap_id = ( SELECT MIN (snap_id) FROM SYS.WRM$_SNAPSHOT) UNION SELECT   snap_id, begin_interval_time, end_interval_time FROM   SYS.WRM$_SNAPSHOT WHERE   snap_id = ( SELECT MAX (snap_id) FROM SYS.WRM$_SNAPSHOT) / AWR 삭제 BEGIN    ...

통계정보 LOCK

http://m.blog.naver.com/shadouman/80122594664 STATTYPE_LOCKED 컬럼에 ALL 값이 존재하면 통계정보 생성을 하지 못하게 락이 걸려 있는것이며 값이 없다면 통계정보를 생성할 수 있는 것이다. select OWNER,TABLE_NAME,STATTYPE_LOCKED from dba_tab_statistics WHERE OWNER = 'SCOTT' AND TABLE_NAME = 'EMP'; OWNER                          TABLE_NAME                     STATTYPE_LOCKED ------------------------------ ------------------------------ --------------- SCOTT                           EMP                                ...

MySQL 쿼리 실시간 모니터링 및 저장하기

http://coffeenix.net/board_view.php?bd_code=1660 MySQL서버는 log 옵션(my.cnf에서 log=파일명. slow query는 log-slow-queries=파일명)을 통해서 실행된 DB 쿼리를 모두 파일로 저장할 수가 있다. 그러나 DB 서버에서 작은 사이트가 아니고선 엄청난 양의 실시간 쿼리를 모두 쌓는다는 것은 힘들다. DB 운영도중에 잠시동안 쿼리 로그를 쌓겠다고 MySQL 재실행할 수도 없는 노릇이다. MySQL 5.1에서는 재실행없이 로그를 쌓을 것인지 안할 것인지를 결정할 수 있지만, 이부분은 뒤에서 설명하기로 하고, DB 쿼리를 실시간으로 살펴보는 몇가지 방법을 소개한다. 1. 쿼리를 실시간으로 스니핑하기 Poor man’s query logging (Posted by Maciej Dobrzanski) (  http://www.mysqlperformanceblog.com/2008/11/07/poor-mans-query-logging/  )에서 tcpdump와 perl의 정규표현으로 실시간 쿼리를 살펴보는 괜찮은 방법을 소개하고 있다. * 위 블로그에 올라온 간단한 명령 # tcpdump -i eth0 -s 0 -l -w - dst port 3306 | strings | perl -e ' while(<>) { chomp; next if /^[^ ]+[ ]*$/;    if(/^(SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|DROP|ALTER)/i) {       if (defined $q) { print “$q\n”; }       $q=$_;    } else {       $_ =~ s/^[ \t]+//; $q.=” $_”;    } }’ 위 명령을 활용하여 SELECT/UPDATE/DELETE/INSERT 등을 highlight 하도록 작성했다. highlight 에 대한 자세한 ...