2009-11-23 8 views
3

저는 DBA가 아닙니다. 그러나 전 Oracle 데이터베이스에있는 웹 응용 프로그램에서 작업합니다 (예, PL/SQL 프로 시저를 사용하여 clob에 HTML을 작성한 다음 브라우저에서 clob을 토합니다.) 아니, 제 생각이 아닙니다. 네가 울 때까지 기다릴거야.).Windows XP에서 Oracle 10G 벤치마킹

성능 문제가 있으며 일부 병목 현상을 찾아 제거하는 작업을 수행했습니다. Oracle 성능 측정 및 이러한 병목 현상을 찾는 방법은 무엇입니까? 도움이되지 않는 시스템 관리자는 그리드 컨트롤이 도움이되지 않으며 "자신의 경험"과 데이터 사전과 "v $"뷰에 대한 쿼리에 의존해야한다고 말합니다.

로컬 Oracle 인스턴스에 대해 몇 가지 테스트를 실행하고 발견 한 문제를 복제 할 수 있는지 확인하여 변경 사항이 실제로 개선되고 있는지 확인할 수 있습니다. 누군가이 방법을 배우는 방향으로 나를 가리켜 주시겠습니까?

+0

사용중인 IDE에서 프로파일 러를 찾으라는 질문을 받았습니다. 감사! – EMPraptor

+0

빈 슬레이트로 시작하여 병목 현상이 어디인지 알아 내려고하십니까? 또는 그것을 전부 좁혔습니까? – David

+0

본질적으로 비어있는 슬레이트 - 내가 가진 출발점은 동료의 sysadmin 데이터 분석을 기반으로하며, 정확하다고 완전히 믿지는 않습니다. –

답변

3

놀랍지도 않은이 주제에 대한 전체 서적이 있습니다.

정말로해야 할 일은 나누고 정복하는 것입니다.

우선 가장 기본적인 것은 몇 가지 표준 상식 문제입니다. 성능이 서서히 저하되었거나 성능에 큰 저하가 있었던 예가 최근입니다.

명백한 출발점을 잡은 후에는 시간을 어디에 사용할지 좁힐 수 있습니다. top queries은 적절한 출발점입니다. 이렇게하면 장시간 실행되는 특정 쿼리가 제공됩니다.

프런트 엔드에서 어떤 화면이 느린지 알고 어떤 저장 프로 시저를 사용하는지 알고있는 경우 일부 로깅을 사용합니다. 주요 DBMS_OUTPUT.put_lines 및 주요 벽 시계 정보. 그런 다음 SQLNavigator에서 대화 형으로 실행하여 저장 프로 시저의 어느 부분이 느리게 진행되는지 확인합니다.

일단 좁히기 시작하면 특정 쿼리가 왜 느려지는지 평가할 수 있습니다. EXPLAIN_PLAN은 가장 친한 친구가 될 것입니다.

+0

나는이 방향으로 약간의 진전을 이뤘다. 나는 그것이 내가 있어야하는 곳으로 결국 나를 데려 갈 것이라고 생각한다. 나는 모두에게 알릴 것이다. –

1

편집 : 당신이 생각, 당신이 원하는 것을 할 수 있습니다 DBMS_PROFILER라는 패키지가있다

. 필자는 IDE가 PL/SQL 코드를 프로파일 링한다는 것을 알았습니다. 아마이 패키지를 사용합니다.

http://www.dba-oracle.com/t_dbms_profiler.htmhttp://www.databasejournal.com/features/oracle/article.php/2197231/Oracles-DBMSPROFILER-PLSQL-Performance-Tuning.htm


편집 2 :

난 그냥 PL/SQL Developer에서 프로파일을 시도했다. 런타임 중 코드 스 니펫의 총 시간 및 발생 수에 대한 보고서를 작성하고 코드 위치를 단위 이름 및 행 번호로 제공합니다. 원래


:

당신은, 지금까지의 미친 PL/SQL이 생성 된 페이지는 가서 내가 같은 배입니다.

저는 오라클의 고급 기능에 특히 정통한 프로그래머가없는 소규모 사무실에서 근무합니다. 우리는 성과를 측정하고 개선 할 수있는 확립 된 방법이 없습니다. 그러나 내가 추측 할 수있는 가장 좋은 방법은 다른 PL/SQL IDE를 사용해 보는 것입니다.

필자는 Allaround Automations에서 PL/SQL Developer를 사용합니다. 여기에는 PL/SQL 코드를 디버깅 할 수있는 테스트 기능이 있으며 아직 사용하지 않은 벤치마킹 기능이있을 수 있습니다.

희망적인 답변을 찾으십시오. 나도 알고 싶다. :)

+0

SQL Navigator 4를 사용하고 있으며 비슷한 기능을 갖고있는 것 같습니다. 이제는 어떻게 사용하는지 알아 내려고 노력 중입니다. 제안 해줘서 고마워. –

+0

내 IDE에서 프로필러 데이터를 보관할 테이블을 만들어야한다는 메시지를 표시했습니다. 로컬 인스턴스에서 DBA를 직접 만든 것 같지만 DBMS_PROFILER를 설정하고 실행하는 데 필요한 권한을 확인하는 것이 좋습니다. http://oracleprofessional.blogspot.com/2004/09/dbmsprofiler-for-code-coverage.html – EMPraptor

2

Grid Control을 사용하여 데이터베이스 성능을 분석하는 것이 압도적 일 수 있으며 간단한 AWR 보고서부터 시작하는 것이 좋습니다. db 호스트의 $ ORACLE_HOME/rdbms/admin에서 생성하는 스크립트를 찾을 수 있습니다. 이 보고서는 다양한 범주 (예 : CPU 시간, 디스크 입출력, 경과 시간)별로 데이터베이스에 표시된 SQL의 순위를 매기고 데이터베이스 측면에서 병목 현상이 발생한 위치를 알려줍니다.

AWR 보고서의 장점 중 하나는 SQL * Plus 스크립트이며 클라이언트에서 실행될 수 있다는 것입니다. HTML 또는 텍스트 파일을 클라이언트에 스풀링합니다.

+0

AWR을 시도했는데 그 결과도 고대 그리스어로되어있을 수 있습니다. 나는 그것이 밖으로 뱉어내는 물건을 해석하는 것에 관한 약간의 연구를해야만한다고 생각한다. 감사. –

+0

죄송합니다. AWR이 아닌 ASH를 시도했습니다. 나는 지금 AWR을 조사 할 것이다. –

0

"나는 삶을 완전히 Oracle 데이터베이스 (예, 그 다음 CLOB에에 쓰기 HTML에 PL/SQL 프로 시저를 사용하여 귀하의 브라우저에서 크롭을 구토 웹 응용 프로그램에서 작동"

는 그것을 Apex 제품인가? (기술적으로는 CLOB를 뱉어하지 않지만) 즉, 이제 오라클 데이터베이스의 표준 일부로 포함 된 웹 응용 프로그램 환경입니다.

그래서 이달의 전체 무리가있는 경우 이미 제품/환경에 내장 된 문서화 (예 : 2 주간의 활동 기록 유지).

+0

아니요, 내 이해는 내 전임자가 자신을 굴렸다는 것입니다. –

관련 문제