태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

[오라클 질문] library cache load lock

기술이야기/Ask 엑셈 2011. 2. 22. 10:28

2011-02-02 21:39:43 에 등록된 질문입니다.  엄영락 님께서 질문해 주셨습니다.

library cahe lock 은 library cache object 전체 혹은 일부을 library cache 영역으로
load 하기 위한 lock 이라고 할때 load의 정확한 의미가 뭔지 궁금합니다.
page out된 LCO을 다시 reload 한다는 것인지...














[오라클질문] Log file switch (checkpoint incomplete) Event

기술이야기/Ask 엑셈 2011. 2. 22. 10:27
2011-02-03 20:53:38 에 등록된 질문입니다.  공대식 님께서 질문해 주셨습니다.

Waiting Event 가 Log file switch (checkpoint incomplete) 가 발생하면서
대기 시간이 엄청 길어지고 있습니다.
DB는 NO Archive Mode로 동작하고 있으며 Redo Log Size 는 50M 입니다.
데이타 건수는 50만건 정도이며 Merge 구문을 사용해서 Update 작업을 진행중이
었습니다. 체크할 만한 사항이 어떤것이 있을까요 ?













[오라클질문] 다음과 같은 에러가 나는데요.인덱스 덤프시

기술이야기/Ask 엑셈 2011. 1. 12. 10:09

2011-01-07 13:45:52 에 등록된 질문입니다.  서상서 님께서 질문해 주셨습니다.

SCOTT@SANG11R2>exec tree_dump('t_index_idx');
BEGIN tree_dump('t_index_idx'); END;

*
ERROR at line 1:
ORA-01031: ?掘꼇璃
ORA-06512: 瞳 "SCOTT.TREE_DUMP", line 9
ORA-06512: 瞳 line 1


스크립트는 조동욱님의 스크립트입니다.
create or replace procedure tree_dump(v_name in varchar2)
is
  v_obj_id number;
begin
 
  for r_id in (select object_id from user_objects
          where object_name = upper(v_name) order by object_id) loop

      execute immediate
      'alter session set events ''immediate trace name treedump level '||r_id.object_id||'''';
  end loop;

end;
/

아래와 같이 생성했는데 위와 같은 에러가 나는데 어떤 이유일까요?
권한문제라고 나오는데,해당 권한들을 다 주었거든요.
확인 가능할까요?

감사합니다.

[오라클질문] latch: cache buffers chains 경합의 이상현상

기술이야기/Ask 엑셈 2011. 1. 12. 10:07
2011-01-04 14:10:31 에 등록된 질문입니다.  초보 님께서 질문해 주셨습니다.
 
또 들렀습니다.


랜덤하게 생성한 1000만건 테이블(big_t1)을 대상으로
아래 plsql 블럭을 두 세션에서 각기 동시 실행했습니다.


DECLARE 
  cnt number;
BEGIN
    FOR i IN 0 .. 1000000
    LOOP
        select seq into cnt from big_t1 where seq = 1 and rownum <= 1;  
    END LOOP;
END;




동시 실행중인 세션에 대해
아래 SQL로 모니터링 했을때.


SELECT
  vs.SID, vs.serial#, vs.status,
  sw.event, sw.p1, sw.p2, sw.p3, sw.wait_time, sw.seconds_in_wait, sw.state
FROM
  v$session vs,
  v$session_wait sw
WHERE 1=1
  AND vs.status = 'ACTIVE'
  AND vs.username = 'SCOTT'
  AND sw.SID = vs.SID


세션 모두 SQL 실행이 진행 중일때는
두 세션에서 모두 latch: cache buffers chains 대기 이벤트가 보였습니다.

이상한 것은 한쪽 세션이 먼저 SQL 실행이 종료가 된 상황에서도
남아 있는 다른 세션에서는 지속해서 latch: cache buffers chains 대기 이벤트가
발생하고 있었고 몇분간 지속됩니다. 여러번 반복해봐도 마찬가지였구요.

그 순간에 v$latchholder를 조회하면 아무 것도 없었구요.

이런 현상은 어떻게 이해해야 할까요?

[오라클질문] 10g RAC로 업그레이드 후 노드간 간섭 관련입니다

기술이야기/Ask 엑셈 2011. 1. 12. 10:05
2011-01-04 08:03:59 에 등록된 질문입니다.  carren 님께서 질문해 주셨습니다.

9i RAC(9.2.0.7)으로 운영하던 DB를 10g(10.2.0.4)로 업그레이드 후
특정 조회용 sql을 실행하면 문제가 발생하고 있습니다.

24시간 온라인 업무를 처리하는 DB이며, 두개의 노드(node1, node2)가 있습니다.
온라인 프로세스들은 node1과 연결되어 처리되고, node2에서는 배치업무 및 관리자 조회 sql들이 실행됩니다

9i에서는 node2에서 관리자들이 무거운 조회 sql을 실행해도 node1에 영향이 없었는데, 10g로 업그레이드 후 관리자들이 조회를 하게되면 node1에서 수행되는 온라인 프로세스들이 영향(지연처리등)을 받고 있습니다.

10g의 DRM기능이 원인인지 궁금하구요,
_gc_affinity_time=0
_gc_undo_affinity=false 와 같이 히든파라미터를 적용하는 것이 나은지 조언부탁드립니다.
기타 점검해 볼 사항은 어떤것이 있는지도 알려주세요


[오라클 질문] execute plan

기술이야기/Ask 엑셈 2010. 12. 21. 10:34
2010-12-15 08:41:02 에 등록된 질문입니다.  이루마 님께서 질문해 주셨습니다



Q1) 실행계획이 생성된 쿼리의 PLAN을 제거할 수 있는 방법이 있나요?
  (flush shared_pool 을 이용해서 전체를 없애는 것 말구요,특정 쿼리만..)

Q2) /*+gather_plan_statistics*/ 와 dbms_xplan.display_cursor(null,null,'allstats last')를 사용할 경우
  간혹, 다른 쿼리의 결과가 잡힐때가 있어요... 저 힌트를 쓸때 EXPLAIN PLAN처럼 statement_id를 쓸수는 없나요?






[오라클 질문] index skew는 물리적으로 가능한지??

기술이야기/Ask 엑셈 2010. 12. 21. 10:31

2010-12-09 15:47:05 에 등록된 질문입니다.  박병섭 님께서 질문해 주셨습니다.


예전에 교육받을때는 index skew는 발생할 수가 없다고 말씀하신 강사님의 말이 떠올랐습니다. 그러나 점점 인덱스에 대해서 공부하면 할 수록 물리적으로 생성가능하다고 느껴집니다.
예로 들면 테이블 create table t1 (no number(10,2)); create index t1_idx on t1(no); 할때에. insert into t1 values(10); insert into t1 values(20); insert into t1 values(30); insert into t1 values(40); 이렇게 값이 있고, 각각 한블럭에 한값이 들어갔다고 가정하고, 추가로 한블럭에 2row만 들어간다고 가정합니다. 여기서. 10.01.... 11.99까지 입력을 하면은 10과20사이에 인덱스만 추가되기때문에 인덱스 split이 읽어나면서 grow하면은 10~20사이의 인덱스 블럭이 skew가 발생할것 입니다. 이것이 맞는것인가요? 제가 틀렸으면 설명좀 부탁드리겠습니다. 예전강사님의 말을 믿기에는 이렇게 빠져나갈 구멍이 있는데요. 항상 좋은 답변을 주셔서 감사합니다.

 

 

[오라클 질문] 이미 열려있는 세션에 대해 10046 event 트레이스 잡을 방법이..

기술이야기/Ask 엑셈 2010. 12. 21. 10:29
2010-12-13 17:59:00 에 등록된 질문입니다. 이요셉 님께서 질문해 주셨습니다.

WAS의 connection pool 이용하는 서비스 경우 10046 event 를 걸어도 트레이스가 잡히질 않던데요.
system에 10046 event 트레이스 걸고나면, 트레이스 건 시점 이후의 신규 세션들에 대한 트레이스만 잡는 것 같더라구요.
이미 맺어져 있는 세션들에 대한 트레이스를 잡을 수 있는 방법은 없을까요?
세션들 개별적으로 잡는 것 말구요.
문제 sql 에 대한 트레이스를 잡을려고 하는데 어느 세션에서 실행될 지 알 수가 없으니까요..
다른 사이트에서 답변을 못얻어서 이곳까지 찾게되었습니다..