Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BUG-51053 Update LOCK_TABLE_STATS #587

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open

BUG-51053 Update LOCK_TABLE_STATS #587

wants to merge 8 commits into from

Conversation

Soyoon-Choi
Copy link
Collaborator

Stored Procedures Manual
Performance Tuning Guide
General Reference 2

테이블 통계 잠금 관련 내용 업데이트

@Soyoon-Choi
Copy link
Collaborator Author

Trunk의 국/영문 매뉴얼 수정을 커밋했습니다. 내용적 리뷰가 필요한 부분이 있으니 확인 부탁드립니다.

"통계 정보"와 "통계 자료"의 혼용에 관하여:
Nok 댓글에서 통계 정보와 통계 자료 용어가 혼용되어 있다는 사실을 확인했습니다. 하여 확인해보니, 통계를 낸 결과 라는 의미로 다수의 매뉴얼에서 "통계 정보, 통계 자료, 통계값, 통계치" 이 네 개의 단어를 혼용하고 있음을 알 수 있었습니다.

타사의 매뉴얼을 찾아보니 어떤 대상에 대하여 수치적으로 통계를 낸 결과라는 의미를 표현할 때 거의 대부분 "통계"라는 단어를 쓰고 있고, 사전을 찾아보니 그것이 맞는 사용이라 전체적으로 수정해야 합니다.
이에 따라 관련 수정은 버그를 따로 열어 진행하고, 이번 버그에서 수정한 부분은 전부 "통계"로 통일하여 작성했음을 알려드립니다.

참고로, 혼용되고 있던 각 단어의 뜻은 다음과 같습니다.

  • 통계 Statistics: 어떤 현상을 종합적으로 한눈에 알아보기 쉽게 일정한 체계에 따라 숫자로 나타냄. 또는 그런 것.
  • 통계 자료 Statistical Data: 통계를 내는 데 바탕이 되는 자료. 또는 통계에 반영된 자료.
  • 통계 정보 statistical information: 시스템 내에 발생하는 각종 정보. 시스템 관리에 의한 시스템의 개선이나 설계를 하는 원인이 된다.
  • 통계치: 어떠한 집단적 현상이나 수집된 자료의 내용을 수량화하여 도출해 낸 값.
  • 통계값: 사전에 등재되어 있지 않습니다.

Fix Typo : tablename -> tabname
Copy link
Collaborator

@seo0jun seo0jun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수고하셨습니다.

| SET_TABLE_STATS | 특정 테이블에 대한 통계 자료를 변경한다. |
| SET_INDEX_STATS | 특정 인덱스에 대한 통계 자료를 변경한다. |
| SET_COLUMN_STATS | 특정 테이블의 칼럼에 대한 통계 자료를 변경한다. |
| SET_PRIMARY_KEY_STATS | 특정 테이블의 PRIMARY KEY INDEX에 대한 통계 자료를 변경한다. |
Copy link
Collaborator Author

@Soyoon-Choi Soyoon-Choi Aug 28, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@seo0jun 님 여기 다시 리뷰 필요할 것 같습니다... Stored Procedure Manual을 살펴보니 12장의 DBMS stats절13장의 DBMS_STATS절 에서 말하는 DBMS Stat가 다른 객체인가요? SET_PRIMARY_KEY_STATS, SET_UNIQUE_KEY_STATS, LOCK_TABLE_STATS, UNLOCK_TABLE_STATS의 내용은 원래 12장의 내용에 포함이 안되는게 맞는지...리뷰 부탁드립니다(지금은 임의로 Trunk 국문에만 넣은 상태고 혹시 누락되는 게 맞다면 원복하겠습니다)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

기능은 같은 이야기고 12장에도 들어가고 13 장에도 들어가야 할것 으로 보입니다.
12 장은 LOCK_TABLE_STATS 내부 Procedure 이야기고 13장은 DBMS_STATS 패키지에도 DBMS_STATS.LOCK_TABLE_STATS 와 같은 형태로 사용됩니다.

기능은 같은데 내부 단독 Procedure로 사용되기도 하고 패키지로써 사용되기도 합니다.

Copy link
Collaborator Author

@Soyoon-Choi Soyoon-Choi Aug 28, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

제가 이해하는 바는 다음과 같습니다.

  1. 12장에선 알티베이스의 시스템 저장 프로시저/함수를 설명하고 그 중 DBMS Stats 절을 따로 작성해 통계 관련 시스템 저장 프로시저를 따로 설명합니다.
  2. 13장에선 알티베이스의 시스템 저장 패키지를 설명하고 그 중에 DBMS_STATS 패키지가 포함되어 있습니다.

위의 내용이 맞다면 SET_PRIMARY_KEY_STATS, SET_UNIQUE_KEY_STATS, LOCK_TABLE_STATS, UNLOCK_TABLE_STATS 프로시저 전부 시스템 저장 프로시저이고, 따라서 현재 수정 내용인 자세한 함수 사용 관련 설명도 12장에 들어가야 하는 게 맞지 않을까요?

또 이것과 무관한 질문이긴 합니다만 현재 시스템 저장 패키지를 구성하는 함수인데 현재 12장의 시스템 저장 프로시저 설명에는 없는 함수들은 무조건 패키지 단위로만 쓸 수 있는지가 궁금합니다.

예를 들면, DBMS_APPLICATION_INFO 패키지를 구성하는 저장 프로시저 READ_CLIENT_INFO, READ_MODULE, SET_ACTION, SET_CLIENT_INFO, SET_MODULE 모두 12장엔 그 내용이 없고 13장의 DBMS_APPLICATION_INFO 패키지 절에 각각의 프로시저 설명이 포함되어 있는데요, 이런 프로시저들의 경우 단독으로 사용할 수는 없고 무조건 패키지를 호출하는(?) 구문으로만 사용할 수 있는지가 궁금합니다.

즉, READ_CLIENT_INFO 함수를

  1. EXEC DBMS_APPLICATION_INFO.READ_CLIENT_INFO(parameters..);로만 수행할 수 있다면 -> 현재 13장의 설명을 유지하면 됩니다. 다만 패키지 구문을 수행해야 사용할 수 있다는 설명이 추가되어야 합니다.
  2. EXEC READ_CLIENT_INFO(parameters..); 도 가능하다면 -> 차후 버그를 열어 시스템 저장 함수에 대한 설명을 12장으로 옮기고 13장에는 12장을 참고하라, 라는 형태로 수정하여 매뉴얼을 개선하는 것이 좋을 것 같습니다.

만약 패키지로만 수행 가능한 시스템 저장 함수나 프로시저가 있다면 그 함수들만 13장에 설명하고, 단독으로 사용 가능한 저장 프로시저/함수는 12장에 설명하는 게 좋을 것 같은데, 혹시 이와 관련하여 제가 놓친 사항이 있다면 설명 부탁드립니다.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

내부 프로시져와 패키지는 서로 기능한 같은 것도 있지만 한쪽에 없는 것도 있습니다. 필요에 따라 그런것이고
SET_PRIMARY_KEY_STATS, SET_UNIQUE_KEY_STATS 는 내부 프로시져에는 없고 패키지로만 존재하는 것입니다.
둘다 공통으로 존재할 수 도 있고 않할 수 도 있는데 LOCK_TABLE_STATS와 UNLOCK은 공통으로 존재합니다.

DBMS_APPLICATION_INFO 역시 내부 프로시져는 없습니다.

EXEC DBMS_APPLICATION_INFO.READ_CLIENT_INFO(parameters..);로만 수행할 수 있다면 -> 현재 13장의 설명을 유지하면 됩니다. 다만 패키지 구문을 수행해야 사용할 수 있다는 설명이 추가되어야 합니다.
-->
설명을 따로 추가할 필요는 없어보입니다.

READ_CLIENT_INFO는 패키지로 만 수행하기 때문에 12장에는 없어야합니다.

@Soyoon-Choi Soyoon-Choi requested a review from seo0jun August 28, 2024 05:57
| COPY_TABLE_STATS | 통계 정보를 새로운 파티션에 복사한다. |
| DELETE_SYSTEM_STATS | 데이터베이스 시스템에 대한 통계 자료를 삭제한다. |
| DELETE_DATABASE_STATS | 모든 테이블에 대한 통계 자료를 삭제한다. |
| DELETE_TABLE_STATS | 특정 테이블에 대한 통계 자료를 삭제한다. |
| DELETE_INDEX_STATS | 특정 인덱스에 대한 통계 자료를 삭제한다. |
| DELETE_COLUMN_STATS | 특정 테이블의 칼럼에 대한 통계 자료를 삭제한다. |

아래는 개별적인 테이블의 통계를 잠그거나 잠금을 해제하는 저장 프로시저이다.
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@seo0jun 님의 설명을 읽고 LOCK_TABLE_STATS 와 UNLOCK_TABLE_STATS의 자세한 설명은 12장의 DBMS Stats 절로 옮기고 하단 표를 추가했습니다. Trunk 버전 국/영문 매뉴얼을 기준으로 리뷰 해주시면, 타 버전 매뉴얼에도 적용하겠습니다.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@seo0jun 님, 마지막 커밋 이후 리뷰가 진행되지 않고 있어 알람 차 댓글 작성합니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants