Oracle Maintenance Window - Хэрхэн ажилладаг тухай

Өдрийн мэнд,

Maintenance window –ын талаар судалсан зүйлсээ хуваалцаж байна. Та бүхэнд нэмэх/засах зүйл байвал бичээрэй :slightly_smiling_face:

Maintenance window нь Oracle –ын automate maintenance task –ууд ажиллах time interval –ыг хэлж байгаа юм. Уг time interval –ыг бид дараах байдлаар тохируулсан байдаг.
Query: SELECT * FROM DBA_AUTOTASK_WINDOW_CLIENTS;

Maintanance –ын үеэр resource ашиглалт (allocation) –г зохицуулах үүднээс resource plan –ыг тохируулах боломжтой байдаг ба default -аар DEFAULT_MAINTENANCE_PLAN –ыг ашигладаг юм байна.

Resource plan нь ерөнхийдөө maintenance явж байх үеэд хэн ямар resource ашиглахыг хязгаарлаж өгдөг юм байна. Ингэхдээ дараах байдлаар ажилладаг.

SYS_GROUP –ын job/task –ууд Priority өндөртэйгээр түрүүлж ажиллана. Үлдсэн resource –ыг бусад group –үүд доорх хүснэгтэд харуулсан байдлаар хувааж ашиглана.

DEFAULT_MAINTENANCE_PLAN:

Consumer Group/subplan Level 1 Level 2
ORA$AUTOTASK_SUB_PLAN - 25%
ORA$DIAGNOSTICS - 5%
OTHER_GROUPS - 70%
SYS_GROUP 100% -

Maintenance –ын үеэр дараах task –ууд ажилладгаас ихэнхдээ “auto optimizer stats collection” task –л ганцхан enabled байдаг юм байналээ.

  • auto optimizer stats collection (enabled)

  • auto space advisor (disabled)

  • sql tuning advisor (disabled)

Эдгээрээс Optimizer Statistics Collection task хэрхэн ажилладаг тараал дэлгэрэнгүй бичлээ.

NOTE: Table –үүдын дата болон холбогдох index нь байнга өөрчлөгдөж байдаг ба энэ нь query –ны execution plan –ыг өөр өөрөөр сонгоход хүргэдэг. Performance –ын асуудал үүсхээс query poor execution plan -аар ажиллах зэргээс сэргийлье гэвэл Table/Index -ийнхээ statistics –ыг сүүлийн байдлаар байлгах хэрэгтэй байдаг.

Optimizer Statistics collection автомат task нь ажиллахдаа GATHER_DATABASE_STATS procedure –ыг GATHER AUTO option –тойгоор дуудаж ажиллуулж байгаатай ижил зарчмаар ажилладаг DBMS_STATS.GATHER_DATABASE_STATS_JOB_PROC нэртэй internal procedure -г ажиллуулдаг юм байна. Ингэснээр manual –аар ажилладаг gather stats –аас ялгаатай нь statistic шинэчлэх шаардлагатай object –уудыг эхэлж ажиллуулдаг.

Table -д 10% -ын өөрчлөлт орох буюу INSERT/UPDATE/DELETE хийгдсэн тохиолдолд тухайн table -ын statistics хуучирсанд тооцогдож Maintenance Window -ын үеэр Statistic -ыг шинэчлэнэ.

Жишээ нь: 1 сая бичлэгтэй table -д 100000 мөр бичлэг нэмэгдвэл тухайн table -ын statistic -ыг хуучирсанд тооцож дараагын maintenance window -өөр шинэчлэнэ.

Maintenance window дуусхаас өмнө автомат collection нь бүх object –уудыг үнэлж, statistic –гүй эсвэл хуучирсан statistic –тай object –уудыг эрэмбэлдэг.

Optimizer Statistc Collection –г ажиллуулах боломжтой дараах аргууд байдаг. Үүнд:

  • Automate:

Database maintenance window (Бааз дээрээсээ буюу command -аар болон OEM –ээс тохируулах боломжтой)
Commands:

execute DBMS_AUTO_TASK_ADMIN.ENABLE();
exec DBMS_AUTO_TASK_ADMIN.ENABLE(client_name => ‘auto optimizer stats collection’,operation =>NULL,window_name => NULL);

  • Manual:

[DBMS_STATS] package(Managing Optimizer Statistics: Basic Topics) –ын доорх procedure–уудыг ашиглан

GATHER_INDEX_STATS
GATHER_TABLE_STATS
GATHER_SCHEMA_STATS
GATHER_DICTIONARY_STATS
GATHER_DATABASE_STATS

Gather statistic –тай холбоотой өөрийн ашиглаж байгаа query -нүүдийг доор бичлээ.

–Maintenance window -ын тохиргоонууд, идэвхитэй эсэх, ямар таскууд ажиллахыг харах
select * from DBA_AUTOTASK_WINDOW_CLIENTS;

–Сүүлийн 24 цагийн дотор анализ хийгдсэн хүснэгтүүдийг харах
select owner, count(*) from dba_tables where last_analyzed > sysdate - 1 group by owner;

–Хуучирсан статистиктэй хүснэгтүүдийг харах
select * from DBA_TAB_STATISTICS where STALE_STATS='YES';

–Сүүлд ажилласан history -г харах
select * from dba_optstat_operations order by start_time desc;

–Тухайн object -ын хэдэн хувьд өөрчлөлт орвол статистик хуучирсанд тооцохыг харах
select dbms_stats.get_prefs('STALE_PERCENT', 'SCHEMA_NAME','TABLE_NAME') stale_percent from dual;

–Бусад
select * from DBA_AUTOTASK_CLIENT_JOB;
select * from DBA_AUTOTASK_CLIENT;
select * from DBA_AUTOTASK_JOB_HISTORY;
select * from DBA_AUTOTASK_CLIENT_HISTORY;

Read more: Хуучирсан statistic –уудыг олж DBMS_STATS –аар statistic –уудыг шинэчлэх

Sources: Managing Automated Database Maintenance Tasks

Summary

This text will be hidden

5 Likes

Good job…

1 Like