通过案例学调优之--和 SHARED POOL 相关的主要 Latch
通过案例学调优之--和SHAREDPOOL相关的主要Latch3.1、和SHAREDPOOL相关的主要Latch有:Latch:sharedpoolLatch:librarycache我们知道Oracle通过SHAREDPOOL来实现SQ
的相关信息, 如:
, 也是通过将不同的
的相 关
Library Cache LatchLibrary Cache SHRAE POOL 。 接下来就开始进行硬解析过程,将执行解析后的执行计划等信息记录到 Library Cache ,一 直到硬解析结束。(硬解析)
的话,根据上面的逻辑那说明数 据库中存在大量的硬解析,这个时候就要查找那些
10:56:01 SCOTT@ prod >show parameter cursor NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ cursor_sharing string similar cursor_space_for_time boolean FALSE open_cursors integer 300 session_cached_cursors integer 50 1、session1:以scott建立测试表 11:44:26 SYS@ prod >conn scott/tiger Connected. 11:01:41 SCOTT@ prod >select * from v$mystat where rownum=1; SID STATISTIC# VALUE ---------- ---------- ---------- 1 0 0 10:56:09 SCOTT@ prod >create table test as select rownum as col1 ,rownum col2 from user_objects 10:58:38 2 ; Table created. 2、建立测试表直方图 10:58:51 SCOTT@ prod >exec dbms_stats.gather_table_stats(user,'TEST',method_opt=>'for columns col1 size 3'); PL/SQL procedure successfully completed. 10:59:36 SCOTT@ prod >select column_name,num_buckets,histogram from user_tab_col_statistics 11:00:43 2 where table_name='TEST'; COLUMN_NAME NUM_BUCKETS HISTOGRAM ------------------------------ ----------- --------------- COL1 3 HEIGHT BALANCED 11:01:35 sys@ prod >ALTER SYSTem flush shared_pool; System altered. 3、session 2:以scott建立另一个会话 11:03:44 SCOTT@ prod >select * from v$mystat where rownum=1; SID STATISTIC# VALUE ---------- ---------- ---------- 44 0 0 11:04:01 SCOTT@ prod >create table test1 as select rownum as col1 ,rownum col2 from user_objects; Table created. 11:04:36 SCOTT@ prod >exec dbms_stats.gather_table_stats(user,'TEST1',method_opt=>'for columns col1 size 3'); PL/SQL procedure successfully completed. 11:05:04 SCOTT@ prod >select column_name,num_buckets,histogram from user_tab_col_statistics 11:05:19 2 where table_name='TEST1'; COLUMN_NAME NUM_BUCKETS HISTOGRAM ------------------------------ ----------- --------------- COL1 3 HEIGHT BALANCED 11:05:30 sys@ prod >ALTER SYSTem flush shared_pool; System altered. 4、在session 1执行以下操作 11:02:42 SCOTT@ prod >begin 11:06:28 2 for i in 1..50000 loop 11:06:40 3 execute immediate 'select * from test where col1='||i; 11:07:08 4 end loop; 11:07:11 5 end; 11:07:13 6 / 在session 2执行同样地操作 11:07:57 SCOTT@ prod >begin 11:08:01 2 for i in 1..50000 loop 11:08:01 3 execute immediate 'select * from test1 where col1='||i; 11:08:01 4 end loop; 11:08:01 5 end; 11:08:02 6 / 5、查看session event 11:11:36 sys@ prod > select sid,event,p1,p1text,p2,p2text from v$session where sid in (1,44) SID EVENT P1 P1TEXT P2 P2TEXT ---------- ------------------------------ ---------- ------------------------------ ---------- ------------------------------ 1 latch: shared pool 537557404 address 293 number 44 latch: shared pool 537557404 address 293 number Elapsed: 00:00:00.00 11:11:38 sys@ prod >/ SID EVENT P1 P1TEXT P2 P2TEXT ---------- ------------------------------ ---------- ------------------------------ ---------- ------------------------------ 1 latch: shared pool 537557404 address 293 number 44 latch: row cache objects 828539960 address 270 number Elapsed: 00:00:00.00 11:11:39 sys@ prod >/ SID EVENT P1 P1TEXT P2 P2TEXT ---------- ------------------------------ ---------- ------------------------------ ---------- ------------------------------ 1 latch: shared pool 537557404 address 293 number 44 latch: shared pool 537557404 address 293 number Elapsed: 00:00:00.00 11:11:41 sys@ prod >/ SID EVENT P1 P1TEXT P2 P2TEXT ---------- ------------------------------ ---------- ------------------------------ ---------- ------------------------------ 1 latch: shared pool 537557404 address 293 number 44 latch: row cache objects 828007508 address 270 number Elapsed: 00:00:00.00 11:11:42 sys@ prod >/ SID EVENT P1 P1TEXT P2 P2TEXT ---------- ------------------------------ ---------- ------------------------------ ---------- ------------------------------ 1 latch: shared pool 537557404 address 293 number 44 latch: shared pool 537557404 address 293 number 11:12:32 sys@ prod >/ SID EVENT P1 P1TEXT P2 P2TEXT ---------- ------------------------------ ---------- ------------------------------ ---------- ------------------------------ 1 latch free 821793596 address 274 number 44 latch: shared pool 537557404 address 293 number sys@ prod >select sid,event,p1,p1text,p2,p2text from v$session where sid in (1,44) SID EVENT P1 P1TEXT P2 P2TEXT ---------- ------------------------------ ---------- ------------------------------ ---------- ------------------------------ 1 latch: shared pool 537557404 address 293 number 44 library cache: mutex X 1307903034 idn 65536 value 11:14:58 sys@ prod >select sid,event,p1,p1text,p2,p2text from v$session where sid in (1,44) SID EVENT P1 P1TEXT P2 P2TEXT ---------- ------------------------------ ---------- ------------------------------ ---------- ------------------------------ 1 library cache: mutex X 3413592168 idn 2883584 value 44 latch: row cache objects 828539960 address 270 number 11:15:18 sys@ prod >select sid,event,p1,p1text,p2,p2text from v$session where sid in (1,44) SID EVENT P1 P1TEXT P2 P2TEXT ---------- ------------------------------ ---------- ------------------------------ ---------- ------------------------------ 1 SQL*Net message from client 1650815232 driver id 1 #bytes 44 SQL*Net message from client 1650815232 driver id 1 #bytes 从上面的过程可以看到,大量的硬解析将导致严重的 library cache latch(mutex) 和 shared pool latch竞争。 6、查看Library cache中sql情况 sys@ prod >select * 2 from (select sql_id,child_number,child_latch,executions,sql_text 3 from v$sql 4 where sql_text like '%select * from test1 where col1%' 5 and sql_text not like '%v$sql%' 6 and sql_text not like '%begin%' 7 order by child_number desc) 8* where rownum select sql_id,hash_value,address,version_count from v$sqlarea where sql_id='6tsrjxza4gvur'; SQL_ID HASH_VALUE ADDRESS VERSION_COUNT ------------- ---------- -------- ------------- 6tsrjxza4gvur 3561484119 2E8CF368 3885
핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











일반적인 웹 표준과 실제 적용 사례 이해 오늘날의 디지털 시대에 월드 와이드 웹은 사람들이 정보를 얻고, 소통하고, 비즈니스 활동을 수행하는 중요한 플랫폼이 되었습니다. 웹 표준은 웹 페이지가 다른 브라우저에서 정상적으로 표시되고 안정적으로 작동하도록 보장하는 기반입니다. 이 기사에서는 몇 가지 일반적인 웹 표준을 소개하고 실제 적용 사례를 통해 그 중요성을 설명합니다. 먼저, HTML(Hypertext Markup Language)은 웹 표준의 가장 기본적인 부분으로 웹 페이지의 구조와 내용을 기술하는 데 사용됩니다. HTML은 태그를 사용하여 다음을 정의합니다.

시스템 재설치 시 환경 테스트가 실패하고 다시 작성해야 하는 문제를 해결하는 방법: 휴대폰이 중독되었습니다. 2. 바이러스 백신용 모바일 관리자와 같은 바이러스 백신 소프트웨어를 설치할 수 있습니다. 파일이 휴대폰 내부에 저장되어 휴대폰의 실행 메모리를 점유하게 됩니다. 3. 저장된 소프트웨어와 파일이 휴대폰 메모리를 너무 많이 차지하므로 하드웨어 구성이 설치 요구 사항을 충족하는 한 불필요한 파일과 소프트웨어를 자주 삭제하는 것은 문제가 되지 않습니다. 새 것을 시스템 디스크에서 직접 다시 설치하십시오! USB 플래시 드라이브나 하드 디스크를 사용하여 설치할 수 있으며 이는 매우 빠릅니다. 하지만 핵심은 호환성이 좋고(IDE, ACHI, RAID 모드에서 설치 지원) 자동으로 영구적으로 활성화될 수 있는 검증된 시스템 디스크를 사용하는 것입니다. 그래서

Nginx 서버는 확장성이 매우 뛰어난 고성능 웹 서버 소프트웨어이며 기본 모듈과 타사 플러그인의 통합을 지원합니다. 이 글에서는 Nginx 서버의 네이티브 모듈과 타사 플러그인의 통합 및 사용에 대해 자세히 소개하고, 독자들이 이를 더 잘 이해하고 적용할 수 있도록 코드 예제를 첨부합니다. 1. Nginx 네이티브 모듈 Nginx의 네이티브 모듈은 Nginx가 공식적으로 개발하고 유지 관리하는 기능 모듈을 말하며 핵심 모듈, HTTP 모듈, 메일 모듈 등을 포함합니다. Nginx의 구성

분주한 생산 라인에서 로봇 팔은 효율적으로 협업하고, 작업자는 원격 실시간 제어를 통해 전체 프로세스를 쉽게 제어할 수 있습니다. 광산 지하에서는 기술 전문가들이 AR 안경을 착용하고 안경에 실시간으로 표시되는 정보를 활용해 수천 마일 떨어진 기술팀과 함께 장비 문제를 신속하게 해결합니다. 공원 내에는 무인택배 차량이 자유롭게 왕복 운행해 사용자가 집을 떠나지 않고도 택배를 수령할 수 있다. 이러한 시나리오는 허구가 아니며, 퀄컴이 최근 발표한 '2023 Qualcomm Empowering Enterprise Digital Transformation Case Collection'에 등장하는 실제 사례입니다. 사물 인터넷 산업의 구현 시나리오 "응용 사례 모음"은 업계의 최신 기술 방향과 혁신적인 생태 협력 모델을 다차원적이고 입체적인 방식으로 보여줍니다. 올해 사례집은 중국 기업의 퀄컴 기술 활용에 초점을 맞췄다.

오늘날의 인터넷 시대에는 점점 더 많은 사람들이 온라인에서 질문에 대한 답을 찾고 소통하는 것을 좋아합니다. 그 결과 다양한 온라인 질의응답 커뮤니티가 생겨났다. 이러한 커뮤니티는 사용자가 질문하고, 질문에 답하고, 경험과 지식을 서로 교환할 수 있는 플랫폼을 제공합니다. 오늘은 PHP를 기반으로 개발된 온라인 Q&A 커뮤니티의 제작 과정을 소개하겠습니다. 먼저, 온라인 Q&A 커뮤니티가 어떤 기능을 갖추어야 하는지 명확히 할 필요가 있습니다. 일반적으로 여기에는 사용자 등록, 로그인, 질문, 답변 등의 측면이 포함되어야 합니다.

널리 사용되는 서버 측 프로그래밍 언어인 PHP는 풍부한 객체 지향 프로그래밍 기능을 제공합니다. OOP(객체 지향 프로그래밍)는 복잡한 시스템을 여러 개의 개별 객체로 나누어 개발 및 유지 관리를 단순화하는 프로그래밍 방법입니다. 이 기사에서는 PHP의 객체 지향 프로그래밍 사례를 소개하고 간단한 예제를 통해 PHP의 객체 지향 프로그래밍 적용을 보여줍니다. 1. 객체지향 프로그래밍의 개념 PHP에서 객체지향은

PHP는 현대 웹사이트 개발에서 매우 인기 있는 백엔드 프로그래밍 언어입니다. 시간이 지남에 따라 점점 더 많은 PHP 함수 라이브러리가 개발되어 개발자가 프로그램을 더 빠르게 작성하고 코드 재사용성을 향상시킬 수 있습니다. 이 기사에서는 개발자가 이러한 함수 라이브러리를 더 잘 사용하여 개발 효율성을 향상시킬 수 있도록 몇 가지 실용적인 PHP 함수 라이브러리 사례를 공유합니다. Alibaba Cloud OSSSDK Alibaba Cloud의 OSS(객체 스토리지 서비스)는 가용성과 확장성이 뛰어난 클라우드 스토리지 서비스입니다. 개발자는 다음을 수행할 수 있습니다.

개미새마을 일일질문 3.9: 오늘의 질문: '보드게임 디자이너'가 주로 하는 일을 아시나요? '보드게임 디자이너'가 주로 하는 일을 모르는 친구들이 많습니다. 다음으로, 관심 있는 유저들을 위해 에디터가 3.9 개미새마을의 일상적인 질문에 대한 답변을 공유해드리겠습니다. 개미새마을의 오늘의 답변 최신 업데이트 개미새마을의 일상 질문 3.9: '보드게임 디자이너'가 주로 하는 일을 아시나요? 질문: '보드게임 디자이너'가 주로 하는 일을 아시나요? 답: 테이블탑 게임 디자인 내용 분석: 1. 중국의 테이블탑 게임 전문가! 우태태(1971년 7월 24일~), 국내 유명 보드게임 디자이너 2. 중국 보드게임의 성장과 발전을 목격했다. 보드게임 업계 사람들은 그를 정중하게 부른다.
