태터데스크 관리자

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

태터데스크 메시지

저장하였습니다.

[오라클 질문] 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 에 대한 트레이스를 잡을려고 하는데 어느 세션에서 실행될 지 알 수가 없으니까요..
다른 사이트에서 답변을 못얻어서 이곳까지 찾게되었습니다..




[오라클 질문] Advanced OWI에서 언급된 PMON의 락 타임아웃에 대해서

기술이야기/Ask 엑셈 2010. 11. 23. 10:56

2010-11-16 10:17:57 에 등록된 질문입니다.  kkabong 님께서 질문해 주셨습니다.

안녕하세요.
Advanced OWI를 가지고 스터디를 하고 있습니다. (71~72 page)
제가 생각하기로는 데드락 시 특정 유저프로세스(process B)가
트랜잭션 중인 상대 프로세스(process A)의 트랜젝션 모드와 리소스에 대한 상태정보를 가지고
데드락이라고 판정가능하다고 이해하고 있었습니다.
그래서 데드락을 감지하고 해당 트랜젝션을 롤백하는 것도 유저프로세스의 역할로 보고 있었는데요.
(PMON의 기본적인 기능인 프로세스의 정리와 트랜잭션과는 별다른 관계가 없을 듯 하지만)
왠지 복잡한 트랜잭션 중의 데드락처리 시 PMON이 어떤 동작을 할 수도 있지 않을까 하는 생각이 들어서 질문드립니다.

1. 책(71 page)에서 PMON 프로세스의 락 타임아웃에 관련한 언급을 하고 있습니다.
  PMON이 DEADLOCK의 발생 시 어떤 동작/역할을 하는지 알고 싶습니다.
2. 그리고 PMON이 락 및 락 타임아웃을 대기하는 경우는 어떤 상황들이 있는지 알고 싶습니다.

감사합니다.



[오라클 질문] table_a를 select 권한 없이, view v_table_a로 만든 다음 view만 select 권한으로

기술이야기/Ask 엑셈 2010. 11. 23. 10:53
2010-10-20 11:27:02 에 등록된 질문입니다.  윤치권 님께서 질문해 주셨습니다.

먼저 성능 적인 부분 보다 기능적은 가능 여부를 문의코자 이렇게 글을 남기오니,
양해를 부탁드리겠습니다.

table_a를 select 권한 없이, view v_table_a로 만든 다음 view만 select 권한으로

특정 User에게 부여하면, 실행계획이나 스키마에 대한 조회가 불가능 합니다.

원 테이블에 대한 조회 권한이 없는 경우,

실행계획을 볼 수 없는걸까요? 아니면 다른 있는지요?

순서를 다시 정리 해 보겠습니다.

1. user_a의 table TBL1 -> user_a의 View V_TBL1으로 생성

2. user_a의 View V_TBL1 -> user_b의 synonym TBL1으로 생성

3. user_b는 user_a의 select 권한 없음 (있다면 회수)

이 때의 실행계획을 보고자 한다면 가능할까요.

감사합니다.