전체 글 265

Oracle alert, Listener trace log 등을 SQL문으로 보기

-- 11gR2 이상select * from v$diag_alert_extwhere originating_timestamp > sysdate - 2order by indx desc -- 11gR2 이상 RAC 환경-- gv$ view 만 있는 것이 아니라 gv$ 함수도 있다. (undocumented 이므로 사용에 주의)select inst_id, originating_timestamp, message_textfrom TABLE(gv$(cursor(select inst_id, originating_timestamp, message_textfrom v$diag_alert_ext where originating_timestamp > (sysdate - 1)and message_text like '%ORA-%..

DB 2016.04.08

Oracle DDL 이력 관리 (DDL Trigger)

여기저기 정보 조합, 수정하여 현 시스템에 최종 적용한 것입니다.trigger 관련 에러 발생해도 DDL 문 실행은 되도록, 에러 무시 exception 처리하였습니다.혹시 모를 DDL 오류 발생시 alter trigger ddl_history_trigger disable; 처리하여 에러 수정 가능합니다. 또한 DBA role이 있어도 pl/sql 문 내부에서 실행시 개별 privilege 필요하므로,사전에 trigger 를 만드는 계정에 v_$session 에 대한 권한 부여해야 합니다. -- v_$session 조회권한 부여 (sys 권한)SQL> grant select on sys.v_$session to 트리거계정명 -- 이력을 저장할 테이블CREATE TABLE DDL_HISTORY( EXEC_..

DB 2016.03.25

Oracle default temp table 제거, 용량 축소

default temp tablespace 의 경우, online중에 datafile 삭제하거나 shrink 처리가 잘 안되어 아예 교체하는 식으로 처리할 수 있다. -- 1. temp 사용중인 세션 확인 후, 종료 처리select tu.tablespace, tu.username,s.sid, s.serial#,s.sql_id, s.prev_sql_id,s.status, s.osuser, s.process, s.machine, s.port,s.prev_exec_start, s.logon_time,s.last_call_et, -- 최종 호출후 대기시간 (초)'ALTER SYSTEM KILL SESSION ''' || s.sid || ',' || s.serial# || ''' IMMEDIATE;' SQL_TE..

DB 2016.03.24

mysql 수동 windows 설치 script

1. 압축 파일 압축 해제 2. my.ini 설정 (없으면 my-default.ini 이름 변경 후 수정)basedir = D:/mysql-5.7.11-winx64datadir = D:/mysql-5.7.11-winx64/dataport = 3306 3. mysql database 생성# mysqld --initialize 4. /data 폴더의 서버명-err 파일에서 root 암호 확인A temporary password is generated for root@localhost: 임시암호 5. mysql daemon 실행# mysqld 6. mysql 접속# mysql -u root -p 7. root 암호 변경mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY ..

DB 2016.03.17

다른 계정 DB LINK 생성

-- 타계정 DB LINK 생성CREATE PROCEDURE 타계정.cre_db_lnk ASBEGIN EXECUTE IMMEDIATE 'CREATE DATABASE LINK 디비링크명 ' ||'CONNECT TO 계정명 IDENTIFIED BY "암호" ' ||'USING ''(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=아이피)(PORT=포트))(CONNECT_DATA=(SERVICE_NAME=서비스명)))''';END cre_db_lnk; exec 타계정.cre_db_lnk; drop procedure 타계정.cre_db_lnk; -- 타계정 DB LINK 삭제CREATE PROCEDURE 타계정.cre_db_lnk ASBEGIN EXECUTE IMMEDIATE 'DROP..

DB 2016.02.16

대량 INSERT 패턴 (nologging, append)

1. (일반적으로 archive log 모드로 사용하므로) table nologging 변경2. index unusable 처리3. 대량 데이터 append load4. index rebuild (nologging)5. table logging 변경6. index logging 변경7. 통계 갱신 ex) EXECUTE IMMEDIATE 'ALTER TABLE [테이블1] NOLOGGING'; EXECUTE IMMEDIATE 'ALTER INDEX [테이블1_인덱스1] UNUSABLE'; INSERT /*+ append */ INTO [테이블1] SELECT * FROM [테이블2]; COMMIT; EXECUTE IMMEDIATE 'ALTER INDEX [테이블1_인덱스1] REBUILD NOLOGGING..

DB 2015.10.29