본문 바로가기

분류 전체보기80

[Oracle]SQL TRACE, TKPROF 성능튜닝 [Oracle]SQL TRACE, TKPROF 성능튜닝 성능튜닝을할때 필요한 툴로 AUTOTRACE말고 SQL TRACE도 있습니다.SQL TRACE는 이것만가지고는 분석하기 어렵기때문에 TKPROF를 같이 사용해주는데요주의할 점은 한세션으로 접속해서 연속으로 두번 같은SQL을 실행하면 결과가 각각나오는것이 아니라합쳐져서 나오기때문에 햇갈릴 수 있습니다. 동일한 문장은 한번만 실행해주세요한번 사용법을 알아보겠습니다. SHOW PARAMETER TIMED_STATISTICS 라는 명령어로 위와같이 확인할 수 있는데요SQL TRACE를 하기위해서는 TRUE가 되어있어야해요. DEFAULT가 TRUE입니다. SHOW PARAMETER USER_DUMP_DEST 명령어를 날려보시면 위와같이 TRACE한 분석 결.. 2014. 7. 17.
[Oracle]EXPLAIN PLAN, AUTOTRACE, statistics(Execution plan 실행계획) [Oracle]EXPLAIN PLAN, AUTOTRACE, statistics(Execution plan 실행계획) 성능 튜닝중에 SQL튜닝을 할때 툴은 필수죠. 오라클에는 EXPLAIN PLAN명령어와 AUTOTRACE 명령어가 있는데요 EXPLAIN PLAN은 매번 명령어를 쳐줘야해서 불편함이 많습니다. 때문에 AUTOTRACE를 쓰는게 편하죠~ AUTOTRACE설정 방법을 알아보겠습니다. 오라클 홈 디렉토리밑에 \sqlplus\admin에 가보시면 plustrace.sql파일이 있습니다. 이 sql을 실행하면 PLUSTRACE라는 ROLE이 만들어지는데요 이것을 사용자에게 부여해야합니다. 위처럼 plustrace.sql을 실행시켜주세요 그다음 PLUSTRACE라는 만들어진 ROLE을 사용할 계정에 .. 2014. 7. 16.
[Oracle]Trigger ip 차단 오라클 트리거로 아이피차단 [Oracle]Trigger ip 차단 오라클 트리거로 아이피차단 PL SQL에 트리거가 있죠트리거로 ip차단을 할 수 있습니다.의심스로운 사용자가 로그인해서 이상한작업을 한다면 ip를 차단해 놔야겠죠 ㅎ 위와같은 트리거로 ip를 차단할 수 있습니다.scott계정에 로그인할 시에 바로 이 pl sql문이 실행되는데요sys_context(....)이부분은 아이피를 확인할 수 있는 것입니다.if문으로 비교를 해준뒤 맞다면 raise_application_error로 에러를 출력해주고있습니다. 실제로 저 ip로 접속을 했을경우 이러한 에러메세지를 보이면서 차단을 해줍니다. 2014. 7. 16.
[Oracle]COPY 오라클 데이터복사 [Oracle]COPY 오라클 데이터복사 서로다른 곳에 데이터가 분산되어있는 분산 데이터베이스 환경에서copy라는 명령어로 테이블을 복사해주거나 복사해올 수 있습니다. COPY FORM 으로 다른곳에 있는 테이블을 복사해올 수 있습니다.@ 를 이용해서 다른서버에 접속하는 방법을 모르시는분은여기를 참고해주세요테이블이름은 TEST이고 벌써 있을경우 REPLACE, 대체해주는것을 알수 있죠 ㅎ COPY TO로 테이블을 보내줄 수 있습니다.CREATE로 없는 테이블을 만들어줄수 있습니다.test36이라는 테이블을 만들어 주고있네요 ㅎ 2014. 7. 16.
[Oracle]Import Export 데이터 덤프 [Oracle]Import Export 데이터 덤프 오라클에서 테이블내용들을 밖으로 빼서 덤프파일로 만들어서 저장할 수 있는데요이를 Export한다고 합니다. Export하는 방법은 위와같은 명령어로 가능합니다.file에는 만들어질 이름.dmp 라고 지정해주시면되고log는 쓰셔도되고 안쓰셔도됩니다.tables에는 로그인할 계정의 덤프파일을 만들 테이블 이름을 적어주시면됩니다. 반대로 import하는 방법입니다. imp명령어로 가능하구요 full=y 옵션을 주시고file에 import할 파일을 넣어주면 됩니다.간단하죠~ 2014. 7. 16.
[Oracle]오라클 전용프로세스 공유프로세스 [Oracle]오라클 전용프로세스 공유프로세스 사용자가 오라클서버에 접속하게되면 프로세스가 붙게되는데요하나의 유저에 하나의 프로세스를 만들어주는것을 전용프로세스라고합니다.그런데 소량의 작업만 하는 사용자라면 프로세스를 공유해서 사용하는 것이 좋겠죠이렇게 여러사용자가 프로세스를 공유해서 사용하는 것을 공유 프로세스라고합니다. 프로세스 진행과정1. 사용자가 리스너에 접속합니다. 리스너는 어떤 디스패처정보를 수집해서 가지고있습니다. 2. 어떤 디스패처가 비어있는지 확인한뒤 비어있는 디스패처를 사용자에게 줍니다.3. 사용자는 디스패처 정보를 받습니다.4. request queue(요청대기열)에 사용자가 실행한 sql을 저장합니다.5. shared server는 request queue를 확인해서 사용자가 실행한.. 2014. 7. 16.
[Oracle]Database link 오라클 데이터베이스 링크 [Oracle]Database link 오라클 데이터베이스 링크 데이터베이스를 한 장소에 보관하기도 하지만 일반적으로 분산해서 보관하죠. 예를 들면 서울에 본사가 있고 부산 대전에 지사가 있을경우 매달 본사에서 부산 대전에 있는 데이터베이스를 조회해 집계를 하려고합니다. 이때 database link를 이용하면 쉽게 집계를 할 수 있는데요 문법은 이와같이 생성합니다. scott계정으로 접속했는데 권한이 부족하네요 dba로 들어가서 권한을 부여하였습니다. 이번엔 생성이 되었죠 LINK 옆에 remote라는 이름을 주었습니다. CONNECT TO scott으로 스캇 계정에 접속하는걸알수있습니다. IDENTIFIED BY 옆에는 스캇 비밀번호입니다. USING 'GT'는 'GT라고 tnsnames에 작성했던 .. 2014. 7. 16.
[Oracle]Multi listener 오라클 멀티리스너 [Oracle]Multi listener 오라클 멀티리스너 Listener와 Tnsnames에 대해 잘 모르신다면 아래 link를 참고해주세요 Listener, Tnsnames Listener를 하나만 만들어 놓을경우 여러사용자가 붙게되면 부하가 걸릴 수 있습니다. 이럴때 Listener를 추가로 더 만들어놓으면 더많은 사용자를 수용할 수 있겠죠. 때문에 Multi Listener 설정을 해줘야 합니다. listener파일을 열어보시면 하나의 리스너가 있는데요 그밑에 이렇게 추가로 리스너를 만들어주면됩니다. 원래 있던 리스너정보를 복사해서 아래에 뭍여넣은다음 LISTENER1이라고 바꿔줬습니다. 그리고 포트번호를 1올려서 설정해줬습니다. 앞에서 LISTENER1이라고 했기 때문에 이번에는 lsnrctl .. 2014. 7. 16.
[Oracle]Listener, tnsnames 원격접속 [Oracle]Listener, tnsnames 원격접속 오라클을 사용하다보면 멀리서 서버에 접속해야 할때가 많죠~ 원격접속에 필요한 listener와 tnsnames를 알아보겠습니다. Listener는 접속요청을 하는 사용자를 받아들이는 역할을 하는데요 Listener가 켜져있다면 외부에서 접속할 수 있습니다. 위와같은 명령어로 리스너를 킬수 있습니다. 리스너를 종료할때는 위와같은 명령어로 종료할 수 있습니다. 리스너 파일을 직접 만들 수 있는데요 오라클홈에 netword\admin에 가보시면 위치해있습니다. 빨간색으로 되어있는부분을 잘 설정해주면 됩니다. 이파일은 tnsnames라는 파일인데 위와 같은 경로에 위치해있습니다. 이파일은 다른 서버에 있는 오라클에 접속할때 필요한 파일인데요 접속할 곳의 .. 2014. 7. 15.