ذخیره AWR snapshot خارج از SYSAUX

همانطور که می دانید AWR snapshotها در SYSAUX tablespace ذخیره می شوند و تا نسخه 19c نمی توان آنها را در tablespace مجزایی ذخیره کرد. این امکان در نسخه 19c با اضافه شدن پارامتر TABLESPACE_NAME به پروسیجر dbms_workload_repository.modify_snapshot_settings به وجود آمد.

Connected to Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 
SQL> desc dbms_workload_repository.modify_snapshot_settings
Parameter       Type     Mode Default? 
--------------- -------- ---- -------- 
RETENTION       NUMBER   IN   Y        
INTERVAL        NUMBER   IN   Y        
TOPNSQL         NUMBER   IN   Y        
DBID            NUMBER   IN   Y        
TABLESPACE_NAME VARCHAR2 IN   Y        
RETENTION       NUMBER   IN   Y        
INTERVAL        NUMBER   IN   Y        
TOPNSQL         VARCHAR2 IN            
DBID            NUMBER   IN   Y        
TABLESPACE_NAME VARCHAR2 IN   Y      

همچنین اوراکل در نسخه 21c ستون TABLESPACE_NAME را به ویوی awr_cdb_wr_control اضافه کرده است که از طریق آن می توانیم tablespace جاری AWR  را مشخص کنیم:

SQL*Plus: Release 21.0.0.0.0 - Production on Thu Apr 4 11:55:04 2024
SQL> desc awr_pdb_wr_control
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 DBID                                      NOT NULL NUMBER
 SNAP_INTERVAL                             NOT NULL INTERVAL DAY(5) TO SECOND(1)
 RETENTION                                 NOT NULL INTERVAL DAY(5) TO SECOND(1)
 TOPNSQL                                            VARCHAR2(10)
 CON_ID                                             NUMBER
 SRC_DBID                                           NUMBER
 SRC_DBNAME                                         VARCHAR2(128)
 TABLESPACE_NAME                                    VARCHAR2(128)
SQL> select TABLESPACE_NAME from awr_pdb_wr_control;
TABLESPACE_NAME
----------------------
SYSAUX

در ادامه، tablespace جدیدی را ایجاد می کنیم و آن را برای ذخیره AWR snapshotها تنظیم می کنیم:

SQL> create tablespace awrtbs;
Tablespace created. 
SQL> exec dbms_workload_repository.modify_snapshot_settings(tablespace_name => 'AWRTBS');
PL/SQL procedure successfully completed.

با ایجاد یک snapshot خواهیم دید که segmentهای زیادی در این tablespace ایجاد خواهند شد:

SQL> exec dbms_workload_repository.create_snapshot();
PL/SQL procedure successfully completed.
SQL> select count(*) from dba_segments where tablespace_name='AWRTBS';
  COUNT(*)
----------
       118
select segment_name from dba_segments where tablespace_name='AWRTBS';
WRH$_SHARED_POOL_ADVICE
WRH$_SQL_WORKAREA_HISTOGRAM
WRH$_PGA_TARGET_ADVICE
WRH$_INSTANCE_RECOVERY
WRH$_SYSSTAT
WRH$_UNDOSTAT
WRH$_PROCESS_MEMORY_SUMMARY
…

ارائه خدمات مشاوره ، پشتیبانی و نصب و راه اندازی پایگاه داده اوراکل در سراسر کشور...................... تلفن: 09128110897 ایمیل:vahidusefzadeh@gmail.com

Comment (1)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *