Thứ Ba, 13 tháng 9, 2022

[VIP5] THỦ TỤC BẢO TRÌ HỆ THỐNG ĐỊNH KỲ ORACLE DATABASE

MỤC LỤC 5.1. Kiểm tra dung lượng các vùng đĩa local Lệnh thực hiện Kết quả mong đợi Kết quả thực thiện Khuyến cáo 5.2. Kiểm tra trạng thái hoạt động của CSDL (CRS deamon, CRS resource) Lệnh thực hiện Kết quả mong đợi Kết quả thực thiện Khuyến cáo 5.3. Kiểm tra trạng thái OCR Lệnh thực hiện Kết quả mong đợi Kết quả thực thiện Khuyến cáo 5.4. Kiểm tra trạng thái voting disk Lệnh thực hiện Kết quả mong đợi Kết quả thực thiện Khuyến cáo 5.5. Kiểm tra khả năng switch archive Lệnh thực hiện Kết quả mong đợi Kết quả thực thiện Khuyến cáo 5.6. Kiểm tra Free Space của Tablespaces của Oracle Lệnh thực hiện Kết quả mong đợi Kết quả thực thiện Khuyến cáo 5.7. Kiểm tra các unusable indexes Lệnh thực hiện Kết quả mong đợi Kết quả thực thiện Khuyến cáo 5.8. Kiểm tra các invalid objects Lệnh thực hiện Kết quả mong đợi Kết quả thực thiện Khuyến cáo 5.9. Kiểm tra Free ASM disk group Lệnh thực hiện Kết quả mong đợi Kết quả thực thiện Khuyến cáo 5.10. Kiểm tra các lỗi phát sinh liên quan đến CSDL trong alert file. Lệnh thực hiện Kết quả mong đợi Kết quả thực thiện Khuyến cáo 5.11. Kiểm tra kết quả backup dữ liệu Lệnh thực hiện Kết quả mong đợi Kết quả thực thiện Khuyến cáo 5.12. Kiểm tra job tự động gather statistics của Oracle có enable hay không Lệnh thực hiện Kết quả mong đợi Kết quả thực thiện Khuyến cáo 5.13. Kiểm tra tables thiếu statistics Lệnh thực hiện Kết quả mong đợi Kết quả thực thiện Khuyến cáo 5.14. Kiểm tra table có statistics ở trạng thái stale Lệnh thực hiện Kết quả mong đợi Kết quả thực thiện Khuyến cáo 5.15. Kiểm tra table bị lock statistics Lệnh thực hiện Kết quả mong đợi Kết quả thực thiện Khuyến cáo 5.16. Kiểm tra tần suất sinh log của ngày gần nhất Lệnh thực hiện Kết quả mong đợi Kết quả thực thiện Khuyến cáo 5.17. Chạy và kiểm tra báo cáo tải của CSDL Lệnh thực hiện Kết quả mong đợi Kết quả thực thiện Khuyến cáo 5.18. Performance của hệ thống Danh sách các câu lệnh: Tải CPU của hệ thống: Tải Memory của hệ thống: Khuyến cáo

5.1. Kiểm tra dung lượng các vùng đĩa local

Lệnh thực hiện

User thực hiện

OS use oracle

Lệnh thực hiện

df -h

Kết quả mong đợi

Dung lượng các phân vùng đĩa trên máy chủ thể hiện trong mục:

 Kiểm tra dung lượng các vùng đĩa

Filesystem         Size   Used  Available Capacity  Mounted on

Yêu cầu: Cột Capacity của các phân vùng đĩa phải nhỏ hơn 90%

Kết quả thực thiện

Filesystem         Size   Used  Available Capacity  Mounted on

rpool/ROOT/S11.1.19.0.6.0

                     30G 14G        11G 56% /

/devices             0K 0K         0K 0% /devices

/dev                 0K 0K         0K 0% /dev

ctfs                 0K 0K         0K 0% /system/contract

proc                 0K 0K         0K 0% /proc

mnttab               0K 0K         0K 0% /etc/mnttab

swap                98G   1.4M        98G 1% /system/volatile

objfs                0K 0K         0K 0% /system/object

sharefs              0K 0K         0K 0% /etc/dfs/sharetab

/usr/lib/libc/libc_hwcap1.so.1

                     25G 14G        11G 56% /lib/libc.so.1

fd                   0K 0K         0K 0% /dev/fd

rpool/ROOT/S11.1.19.0.6.0/var

                     30G   3.7G        11G 26% /var

swap                16G   314M        16G 2% /tmp

rpool/VARSHARE     547G   3.8G   324G 2%    /var/share

data               547G 43G       373G 11% /data

rpool/export       547G   2.5G       324G 1% /export

rpool/export/home  547G   9.9G   324G 3%    /export/home

rpool/export/home/admin1

                    547G 35K       324G 1% /export/home/admin1

rpool/export/home/opc_op

                    547G 35K       324G 1% /export/home/opc_op

rpool/export/home/oracle

                    547G 40G       324G 12% /export/home/oracle

rpool              547G   4.6M       324G 1% /rpool

data/u01           547G   131G       373G 26% /u01

df: cannot statvfs /var/share/crash/solaris: Permission denied

/u01/app/oracle/product/11.2.0.4/dbhome_1/bin/dbfs_client

                    4.0T   2.0T       2.0T 49% /dbfs_direct

Khuyến cáo

Trạng thái dung lượng các vùng đĩa đang tốt, các phân vùng disk trên local vẫn còn trống rất nhiều.

5.2. Kiểm tra trạng thái hoạt động của CSDL (CRS deamon, CRS resource)

Lệnh thực hiện

User thực hiện

OS Use: oracle & with grid environment

Lệnh thực hiện

crsctl status resource -t

(crs_stat -t -v)

Kết quả mong đợi

Name           Type       Target State     Host   

------------------------------------------------------------

Yêu cầu:  Tất cả các dịch vụ Oracle Clusterware của database có trạng thái là ONLINE (Target, State) ngoại trừ các dịch vụ GSD

Kết quả thực thiện

[oracle@exadcdb01 ~]$crs_stat -t -v

Name       Type       R/RA   F/FT   Target State Host       

----------------------------------------------------------------------

dbfs_mount local_resource 1/10   0/     ONLINE ONLINE exadcdb02  

ora.DATAC1.dg  ora....up.type 0/5 0/     ONLINE ONLINE exadcdb01  

ora.DBFS_DG.dg ora....up.type 0/5 0/ ONLINE    ONLINE exadcdb01  

ora....ER.lsnr ora....er.type 0/5 0/ ONLINE    ONLINE exadcdb01  

ora....N1.lsnr ora....er.type 0/5 0/0 ONLINE    ONLINE exadcdb01  

ora....N2.lsnr ora....er.type 0/5 0/0 ONLINE    ONLINE exadcdb01  

ora....N3.lsnr ora....er.type 0/5 0/0 ONLINE    ONLINE exadcdb02  

ora.RECOC1.dg  ora....up.type 0/5 0/     ONLINE ONLINE exadcdb01  

ora.asm    ora.asm.type   0/5    0/ ONLINE ONLINE    exadcdb01  

ora....srv.svc ora....ce.type 0/0 0/0 ONLINE    ONLINE exadcdb01  

ora....rod.svc ora....ce.type 0/0 0/0 ONLINE    ONLINE exadcdb01  

ora.xxxexa.db  ora....se.type 0/2 0/1    ONLINE ONLINE exadcdb01  

ora....hexa.db ora....se.type 0/2 0/1 ONLINE    ONLINE exadcdb01  

ora.cvu    ora.cvu.type   0/5    0/0 ONLINE ONLINE    exadcdb01  

ora.dbamon.db  ora....se.type 0/2 0/1    ONLINE ONLINE exadcdb01   

ora.dbfsdb.db  ora....se.type 0/2 0/1    ONLINE ONLINE exadcdb01  

ora.exadb4b.db ora....se.type 0/2 0/1 ONLINE    ONLINE exadcdb01  

ora....SM1.asm application 0/5 0/0    ONLINE ONLINE exadcdb01  

ora....01.lsnr application 0/5    0/0 ONLINE ONLINE    exadcdb01  

ora....b01.gsd application 0/5 0/0    OFFLINE   OFFLINE          

ora....b01.ons application 0/3 0/0    ONLINE ONLINE exadcdb01  

ora....b01.vip ora....t1.type 0/0 0/0 ONLINE    ONLINE exadcdb01  

ora....SM2.asm application 0/5 0/0    ONLINE ONLINE exadcdb02  

ora....02.lsnr application 0/5 0/0    ONLINE ONLINE exadcdb02  

ora....b02.gsd application 0/5 0/0    OFFLINE   OFFLINE           

ora....b02.ons application 0/3 0/0    ONLINE ONLINE exadcdb02  

ora....b02.vip ora....t1.type 0/0 0/0 ONLINE    ONLINE exadcdb02  

ora.gsd    ora.gsd.type   0/5    0/ OFFLINE   OFFLINE          

ora.istexa.db  ora....se.type 0/2 0/1    ONLINE ONLINE exadcdb01  

ora....srv.svc ora....ce.type 0/0 0/0 ONLINE    ONLINE exadcdb01  

ora....rod.svc ora....ce.type 0/0 0/0 ONLINE    ONLINE exadcdb01  

ora.kdldv.db   ora....se.type 1/2 0/1    ONLINE ONLINE exadcdb01  

ora....network ora....rk.type 1/5 0/ ONLINE    ONLINE exadcdb01  

ora.oc4j   ora.oc4j.type  0/1    0/2 ONLINE ONLINE    exadcdb02  

ora.ons    ora.ons.type   0/3    0/ ONLINE ONLINE    exadcdb01  

ora....bexa.db ora....se.type 0/2 0/1 ONLINE    ONLINE exadcdb01  

ora....ry.acfs ora....fs.type 0/5 0/ ONLINE    ONLINE exadcdb01  

ora.repexa.db  ora....se.type 0/2 0/1    ONLINE ONLINE exadcdb01   

ora.scan1.vip  ora....ip.type 0/0 0/0    ONLINE ONLINE exadcdb01  

ora.scan2.vip  ora....ip.type 0/0 0/0    ONLINE ONLINE exadcdb01  

ora.scan3.vip  ora....ip.type 0/0 0/0    ONLINE ONLINE exadcdb02  

ora.smsrep.db  ora....se.type 0/2 0/1    ONLINE ONLINE exadcdb01  

ora....ldt.svc ora....ce.type 0/0 0/0 ONLINE    ONLINE exadcdb01  

ora....vnb.svc ora....ce.type 0/0 0/0 ONLINE    ONLINE exadcdb01  

ora....exa.svc ora....ce.type 0/0 0/0 ONLINE    ONLINE exadcdb01  

ora.tccexa.db  ora....se.type 0/2 0/1    ONLINE ONLINE exadcdb01   

Khuyến cáo

Trạng thái của CRS đang tốt.

5.3. Kiểm tra trạng thái OCR

Lệnh thực hiện

User thực hiện

OS Use: oracle & with grid environment

Lệnh thực hiện

ocrcheck

Kết quả mong đợi

Status of Oracle Cluster Registry is as follows :

  ----------------------------------------------

Yêu cầu: Trạng thái của đĩa OCR phải là: Device/File integrity check succeeded và Cluster registry integrity check succeeded.

Kết quả thực thiện

Status of Oracle Cluster Registry is as follows :

      Version              :      3

      Total space (kbytes) :     262120

      Used space (kbytes)  :       4080

      Available space (kbytes) : 258040

      ID                   : 1168289413

      Device/File Name     :   +DBFS_DG

                 Device/File integrity check succeeded

 

                 Device/File not configured

 

                 Device/File not configured

 

                 Device/File not configured

 

                 Device/File not configured

 

      Cluster registry integrity check succeeded

      Logical corruption check bypassed due to non-privileged user

Khuyến cáo

Trạng thái của ocr disk đang tốt.


 

5.4. Kiểm tra trạng thái voting disk

Lệnh thực hiện

User thực hiện

OS Use: oracle & with grid environment

Lệnh thực hiện

crsctl query css votedisk

Kết quả mong đợi

##  STATE File Universal Id            File Name Disk group

--  ----- -----------------            --------- ---------

Yêu cầu: cột STATE phải là ONLINE.

Kết quả thực thiện

##  STATE File Universal Id            File Name Disk group

--  ----- -----------------            --------- ---------

 1. ONLINE   836da5d4899f4ffdbfef0f512d001f45 (o/172.22.0.12;172.22.0.13/DBFS_DG_CD_02_exadccel01) [DBFS_DG]

 2. ONLINE   5f1b045efb2c4f17bfc0d01b5c62a273 (o/172.22.0.16;172.22.0.17/DBFS_DG_CD_02_exadccel03) [DBFS_DG]

 3. ONLINE   442adccd81ae4fecbf34dc5d685e2d82 (o/172.22.0.14;172.22.0.15/DBFS_DG_CD_02_exadccel02) [DBFS_DG]

Located 3 voting disk(s).

Khuyến cáo

Trạng thái của voting disk đang tốt.

5.5. Kiểm tra khả năng switch archive

Lệnh thực hiện

User thực hiện

OS Use: oracle- - -Data Use: oracle

Lệnh thực hiện

sqlplus "/ as sysdba"

SQL> alter system archive log current;

Kết quả mong đợi

Yêu cầu: Kết quả trả về phải là System altered

Kết quả thực thiện

[oracle@exadcdb01 ~]$export ORACLE_SID=xxxexa1

[oracle@exadcdb01 ~]$sqlplus / as sysdba

SQL> alter system archive log current;

System altered.

Khuyến cáo

Việc switch log thực hiện tốt trên tất cả các instance của CSDL.

5.6. Kiểm tra Free Space của Tablespaces của Oracle

Lệnh thực hiện

User thực hiện

OS Use: oracle- - - Data Use: sysdba

Lệnh thực hiện

sqlplus "/ as sysdba"

SQL>set linesize 300

SQL> SELECT a.tablespace_name "Tablespace Name",

      ROUND (a.bytes_alloc / (1024 * 1024)) "TotalMBytes",

      ROUND (a.physical_bytes / (1024 * 1024)) "Phy.TotalMBytes",

      ROUND (NVL (b.tot_used, 0) / (1024 * 1024)) "UsedMbytes",

      (ROUND (a.bytes_alloc / (1024 * 1024))

       - ROUND (NVL (b.tot_used, 0) / (1024 * 1024)))

         "FreeMbytes",

      100 - ROUND ( (NVL (b.tot_used, 0) / a.bytes_alloc) * 100) "% Free"

FROM (  SELECT tablespace_name,

                SUM (bytes) physical_bytes,

                SUM (DECODE (autoextensible,  'NO', bytes,  'YES', maxbytes))

                   bytes_alloc

           FROM dba_data_files

       GROUP BY tablespace_name) a,

      (  SELECT tablespace_name, SUM (bytes) tot_used

          FROM dba_segments

       GROUP BY tablespace_name) b

   WHERE a.tablespace_name = b.tablespace_name(+)

      AND a.tablespace_name NOT IN

             (SELECT DISTINCT tablespace_name FROM dba_temp_files)

ORDER BY 1;

Kết quả mong đợi

   Tablespace Name  Total MBytes Used Mbytes Free Mbytes  % Free

Yêu cầu: Các tablespace system, sysaux cần cột “%Free” lớn hơn 3%. Các tablespace còn lại phải có cột “% Free” lớn hơn 15.


 

Kết quả thực thiện

Khuyến cáo

Tablespace XXX_DATA hiện có %Free chỉ còn 10%, tablespace UNDOTBS1 chỉ còn %Free 10%, %, tablespace XXX_INDEX chỉ còn %Free 15%. Khuyến cáo add thêm datafile cho 2 tablespace trên.

5.7. Kiểm tra các unusable indexes

Lệnh thực hiện

User thực hiện

OS Use: oracle- - - Data Use: sysdba

Lệnh thực hiện

sqlplus "/ as sysdba"

SQL>set linesize 300

SQL> select idxp.INDEX_NAME, idxp.PARTITION_NAME, idxp.STATUS

from DBA_IND_PARTITIONS idxp

where idxp.STATUS<>'USABLE'

union all

select idx.INDEX_NAME,idx.TABLE_NAME,idx.STATUS

from dba_indexes idx

where IDX.PARTITIONED='NO'

and IDX.STATUS not in ('N/A','VALID');

Kết quả mong đợi

SQL>   2 3 4    5 6 7    8 

no rows selected

Yêu cầu: Kết quả mong đợi là no rows selected

Kết quả thực thiện

SQL> select idxp.INDEX_NAME, idxp.PARTITION_NAME, idxp.STATUS

  2  from DBA_IND_PARTITIONS idxp

  3  where idxp.STATUS<>'USABLE'

  4  union all

  5  select idx.INDEX_NAME,idx.TABLE_NAME,idx.STATUS

  6  from dba_indexes idx

  7  where IDX.PARTITIONED='NO'

  8  and IDX.STATUS not in ('N/A','VALID');

no rows selected

Khuyến cáo

CSDL hiện nay không có indexes nào ở trạng thái không thể sử dụng.

5.8. Kiểm tra các invalid objects

Lệnh thực hiện

User thực hiện

OS Use: oracle- - - Data Use: sysdba

Lệnh thực hiện

sqlplus "/ as sysdba"

SQL>set linesize 300

SQL> SELECT owner,

    object_type,

    object_name,

    status

FROM   dba_objects

WHERE  status = 'INVALID'

ORDER BY owner, object_type, object_name;

Kết quả mong đợi

Yêu cầu: Kết quả mong đợi là no rows selected


 

Kết quả thực thiện

Khuyến cáo

   CSDL có 10 objects bị invalid, nếu các objects này có sử dụng đến thì nên compile lại & tìm hiểu nguyên nhân vì sao nó bị invalid. Nếu nó không được dùng đến thì nên xóa nó đi.

5.9. Kiểm tra Free ASM disk group

Lệnh thực hiện

User thực hiện

OS Use: oracle- - - Data Use: sysdba

Lệnh thực hiện

sqlplus "/ as  sysasm"

SQL>set linesize 300

SQL> SELECT NAME "DISK GROUP", TYPE, TOTAL_MB, FREE_MB, USABLE_FILE_MB,

Case

when TYPE='NORMAL' then round((TOTAL_MB/2-USABLE_FILE_MB)*100/TOTAL_MB)

when TYPE='EXTERN' then round((TOTAL_MB-USABLE_FILE_MB)*100/TOTAL_MB)

end "% USED"

FROM V$ASM_DISKGROUP;

Kết quả mong đợi

SQL>

DISK GROUP                 TYPE TOTAL_MB    FREE_MB USABLE_FILE_MB % USED

------------------------------ ------ ---------- ---------- -------------- ----------

Yêu cầu:Phần trăm sử dụng của các ASM_DISKGROUP phải nhỏ hơn 90% (Cột %USED phải có giá trị nhỏ hơn 90).

Kết quả thực thiện

Khuyến cáo

Các ASM diskgroups vẫn còn trống rất nhiều.

5.10. Kiểm tra các lỗi phát sinh liên quan đến CSDL trong alert file.

Lệnh thực hiện

Kết quả mong đợi

Kiểm tra nội dung alert file /u01/app/oracle/diag/rdbms/xxxexa/xxxexa1/trace/alert_xxxexa1.log và file /u01/app/oracle/diag/rdbms/xxxexa/xxxexa2/trace/alert_xxxexa2.log  trên các server của RAC

Yêu cầu: Trong nội dung file không nên có thông báo error  hoặc ORA-xxxxx trong thời gian 02 ngày gần nhất tính từ ngày hiện tại.

Kết quả thực thiện

Khuyến cáo

   Các file alertlog của các instance không có thông báo lỗi hoặc lỗi ORA-xxxx trong 2 ngày gần nhất.

   Lưu ý: Lỗi Fatal NI connect error 12170 trong các alertlog file của Oracle 11g, theo như giải thích của Oracle thì nó không được coi là một lỗi của Oracle.

5.11. Kiểm tra kết quả backup dữ liệu

Lệnh thực hiện

User thực hiện

OS Use: oracle- - - Data Use: sysdba

Lệnh thực hiện

sqlplus "/ as sysdba"

SQL>set linesize 300

SQL> select

    operation,

    status,

    object_type,

  to_char(start_time,'mm/dd/yyyy:hh:mi:ss') as start_time,

    to_char(end_time,'mm/dd/yyyy:hh:mi:ss') as end_time

from v$rman_status

where not (status ='COMPLETED' or (status ='COMPLETED WITH WARNINGS' and object_type like '%ARC%'));

Kết quả mong đợi

         Kết nối vào CSDL với quyền của user SYS và thực thi câu lệnh truy vấn như sau:

Việc backup là thành công nếu câu lệnh truy vấn trên không trả về kết quả.

Kết quả thực thiện

SQL> select

  2      operation,

  3      status,

  4      object_type,

  5      to_char(start_time,'mm/dd/yyyy:hh:mi:ss') as start_time,

  6      to_char(end_time,'mm/dd/yyyy:hh:mi:ss') as end_time

  7  from v$rman_status

  8  where not (status ='COMPLETED' or  status ='COMPLETED WITH WARNINGS');

no rows selected

Khuyến cáo

Việc thực hiện backup CSDL hàng ngày bằng RMAN đều thực hiện thành công.

5.12. Kiểm tra job tự động gather statistics của Oracle 11g có enable hay không

Lệnh thực hiện

User thực hiện

OS Use: oracle- - - Data Use: sysdba

Lệnh thực hiện

sqlplus "/ as sysdba"

SQL>set linesize 300

SQL>SELECT client_name ,status FROM dba_autotask_client  WHERE client_name = 'auto optimizer stats collection' AND status = 'ENABLED';

Kết quả mong đợi

Kết quả mong muốn là có kết quả là 1 row trả về.

Kết quả thực thiện

CLIENT_NAME                                                      STATUS

---------------------------------------------------------------- --------

auto optimizer stats collection                             ENABLED

Khuyến cáo

Việc gather statistics được thực hiện bởi oracle hàng ngày.

5.13. Kiểm tra tables thiếu statistics

Lệnh thực hiện

User thực hiện

OS Use: oracle- - - Data Use: sysdba

Lệnh thực hiện

sqlplus "/ as sysdba"

SQL>set linesize 300

SQL> SELECT T.OWNER , t.table_name FROM dba_tables t WHERE t.owner NOT IN ('ORACLE_OCM','SPATIAL_CSW_ADMIN_USR',

'APEX_PUBLIC_USER','OWBSYS','OWBSYS_AUDIT','XSNULL','FLOWS_FILES','APPQOSSYS','SPATIAL_WFS_ADMIN_USR',

'ORDDATA','APEX_030200','PERFSTAT','SPOTLIGHT','SCOTT','SH','HR','TSMSYS','BI','PM','MDDATA','IX','DIP','OE','DBSNMP','SYSMAN',

'MDSYS','ORDSYS','EXFSYS','DMSYS','WMSYS','CTXSYS','ANONYMOUS','XDB','ORDPLUGINS','SI_INFORMTN_SCHEMA','OLAPSYS',

'MGMT_VIEW','SYS','SYSTEM','OUTLN')   AND t.temporary = 'N' AND (t.last_analyzed IS NULL OR t.num_rows IS NULL);

 

Kết quả mong đợi

Kết quả mong muốn là "no rows selected"

Kết quả thực thiện

OWNER                      TABLE_NAME

------------------------------ ------------------------------

XXX_MOBILE                 CHANGE_MOBILE

XXX_MOBILE                 CHANGE_LOG_JOB

XXX_MOBILE                 CHANGE_LOG_EXCEPTION

XXX_MOBILE                 CHANGE_LOG_DETAIL

.....

 

52 rows selected.

Khuyến cáo

         Có tới 52 tables không có statistics, nếu có tables nào trong danh sách này được sử dụng thì nên thực hiện gather statistics manual bằng cách sử dụng DBMS_STATS.GATHER_TABLE_STATS.

         Lưu ý việc thiếu statistics có thể làm cho Oracle khai thác objects có liên quan không được hiệu quả.

5.14. Kiểm tra table có statistics ở trạng thái stale

Lệnh thực hiện

User thực hiện

OS Use: oracle- - - Data Use: sysdba

Lệnh thực hiện

sqlplus "/ as sysdba"

SQL>set linesize 300

SQL> SELECT t.owner,t.table_name FROM dba_tab_statistics t WHERE t.owner NOT IN ('ORACLE_OCM','SPATIAL_CSW_ADMIN_USR','APEX_PUBLIC_USER','OWBSYS','OWBSYS_AUDIT','XS$NULL','FLOWS_FILES','APPQOSSYS','SPATIAL_WFS_ADMIN_USR','ORDDATA','APEX_030200','PERFSTAT','SPOTLIGHT','SCOTT','SH','HR','TSMSYS','BI','PM','MDDATA','IX','DIP','OE','DBSNMP','SYSMAN','MDSYS','ORDSYS','EXFSYS','DMSYS','WMSYS','CTXSYS','ANONYMOUS','XDB','ORDPLUGINS','SI_INFORMTN_SCHEMA','OLAPSYS','MGMT_VIEW','SYS','SYSTEM','OUTLN')   AND t.stale_stats = 'YES';

Kết quả mong đợi

Kết quả mong muốn là "no rows selected"


 

Kết quả thực thiện

OWNER                      TABLE_NAME

------------------------------ ------------------------------

XXXENCIE                   EVENT_150819

XXXENCIE                  DE55_150819

XXXENCIE                   AUTH_150819

.....

                    

123 rows selected.

Khuyến cáo

         Có tới 123 tables mà statistics của nó không còn phù hợp, nếu có tables nào trong danh sách này được sử dụng thì nên thực hiện gather statistics manual bằng cách sử dụng DBMS_STATS.GATHER_TABLE_STATS.

         Lưu ý việc thông tin statistics không còn phù hợp có thể làm cho Oracle khai thác objects có liên quan không được hiệu quả.

5.15. Kiểm tra table bị lock statistics

Lệnh thực hiện

User thực hiện

OS Use: oracle- - - Data Use: sysdba

Lệnh thực hiện

[oracle@ttbcbackup ~]$ sqlplus "/ as sysdba"

SQL>set linesize 300

SQL> SELECT t.owner,t.table_name FROM dba_tab_statistics t WHERE t.object_type = 'TABLE' AND t.owner NOT IN ('ORACLE_OCM','SPATIAL_CSW_ADMIN_USR','APEX_PUBLIC_USER','OWBSYS','OWBSYS_AUDIT','XS$NULL','FLOWS_FILES','APPQOSSYS','SPATIAL_WFS_ADMIN_USR','ORDDATA','APEX_030200','PERFSTAT','SPOTLIGHT','SCOTT','SH','HR','TSMSYS','BI','PM','MDDATA','IX','DIP','OE','DBSNMP','SYSMAN','MDSYS','ORDSYS','EXFSYS','DMSYS','WMSYS','CTXSYS','ANONYMOUS','XDB','ORDPLUGINS','SI_INFORMTN_SCHEMA','OLAPSYS','MGMT_VIEW','SYS','SYSTEM','OUTLN')   AND t.stattype_locked IN ('ALL', 'DATA');

Kết quả mong đợi

         Trừ trường hợp có lock statistics do chủ định, còn lại kết quả mong muốn là "no rows selected"

Kết quả thực thiện

no rows selected

Khuyến cáo

CSDL không có table nào bị lock statistics.

5.16. Kiểm tra tần suất sinh log của ngày gần nhất

Lệnh thực hiện

User thực hiện

OS Use: oracle- - - Data Use: sysdba

Lệnh thực hiện

sqlplus "/ as sysdba"

set linesize 300

SQL> select trunc(COMPLETION_TIME,'HH') Hour,thread# , round(sum(BLOCKS*BLOCK_SIZE)/1048576) MB,count(*) Archives from v$archived_log where trunc(COMPLETION_TIME) between trunc(sysdate) and trunc(sysdate)+3

group by trunc(COMPLETION_TIME,'HH'),thread#  order by 1 ;

SQL> select trunc(COMPLETION_TIME,'DD') Day, thread#, round(sum(BLOCKS*BLOCK_SIZE)/1048576) MB,count(*) Archives_Generated from v$archived_log where trunc(COMPLETION_TIME) between trunc(sysdate) and trunc(sysdate)+3

group by trunc(COMPLETION_TIME,'DD'),thread# order by 1;

Kết quả mong đợi

         Các câu lệnh này sẽ thống kê tần suất log sinh ra trong  ngày gần nhất theo giờ & theo ngày.

         Lưu ý nếu có thể thì chỉ nên để log switch xảy ra với tần suất tối thiểu 20-25 phút  một lần

Kết quả thực thiện

SQL> select trunc(COMPLETION_TIME,'HH') Hour,thread# , round(sum(BLOCKS*BLOCK_SIZE)/1048576) MB,count(*) Archives from v$archived_log where

  2  trunc(COMPLETION_TIME) between trunc(sysdate) and trunc(sysdate)+3

  3  group by trunc(COMPLETION_TIME,'HH'),thread#  order by 1 ;

HOUR     THREAD#     MB   ARCHIVES

--------- ---------- ---------- ----------

18-JUL-19      2    704      6

18-JUL-19      1    692      6

18-JUL-19      2    700      6

18-JUL-19      1    353      3

18-JUL-19      2    358      3

18-JUL-19      1    703      6

18-JUL-19      1    702      6

18-JUL-19      2    698      6

18-JUL-19      2    699      6

18-JUL-19     1        350      3

18-JUL-19      2    712      6

 

HOUR     THREAD#     MB   ARCHIVES

--------- ---------- ---------- ----------

18-JUL-19      1   1071      9

18-JUL-19      2    692      6

18-JUL-19      1        691      6

18-JUL-19      2    937      9

18-JUL-19      1   1443     12

18-JUL-19      1    694      6

18-JUL-19      2   1041      9

18-JUL-19      1   2269     21

18-JUL-19       2       2077     18

18-JUL-19      2    346      3

18-JUL-19      1    692      6

 

22 rows selected.

SQL> select trunc(COMPLETION_TIME,'DD') Day, thread#, round(sum(BLOCKS*BLOCK_SIZE)/1048576) MB,count(*) Archives_Generated

  2  from v$archived_log where trunc(COMPLETION_TIME) between trunc(sysdate) and trunc(sysdate)+3

  3  group by trunc(COMPLETION_TIME,'DD'),thread# order by 1;

DAY      THREAD#     MB ARCHIVES_GENERATED

--------- ---------- ---------- ------------------

18-JUL-19      1   9659             84

18-JUL-19      2   8964             78

Khuyến cáo

         Tần suất switch log của các instnace của CSDL tốt. Instance 1 đang sinh archive log nhiều hơn instance 2 khá nhiều.

5.17. Chạy và kiểm tra báo cáo tải của CSDL

Lệnh thực hiện

User thực hiện

OS Use: oracle- - - Data Use: sysdba

Lệnh thực hiện

sqlplus "/ as sysdba"

SQL>@?/rdbms/admin/awrrpt

Tham khảo thêm:

[VVIP] Hướng dẫn đọc, phân tích Báo cáo AWR để tối ưu hiệu năng, câu lệnh SQL trong Oracle Database

Kết quả mong đợi

Nhập các thông tin theo như yêu cầu của script trong quá trình chạy.

Kết quả thực thiện

Các câu lệnh chiếm nhiều thời gian:

Các câu lệnh chiếm CPU cao:

Các câu lệnh đọc từ đĩa nhiều: 

 ....

Khuyến cáo

         CSDL có hoạt động tốt.

5.18. Performance của hệ thống

Danh sách các câu lệnh:

SQL Id

SQL Text

0hcq140njhv35

update AUTH set NBR_MTHS = :1, MATCHDATE = :2, AUTH_CODE = :3, AUTH_RESP = :4, BILL_AMT = :5, AUTH_ACTN = :6, CARD_NBR = :7, AMT_PURCH = :8, CURRNCY_CD = :9, ACPTOR_ID = :10, CARD_PLAN = :11, ORIG_TYPE = :12, MERCH_TYPE = :13, PROC_TRANS = :14, MCPOS_DATA = :15, ADD_RESP = :16, AUTH_CYCLE = :17, POS_COND = :18, PRINTDATE = :19, REV_REF = :20, PROC_ACC = :21, PROC_TOACC = :22, SEC_LVL = :23, PIN_DATA = :24, CVC_INV = :25, POS_ENTRY = :26, LOCAL_DAY = :27, BANKACCT = :28, SETTLE_DAY = :29, ACCOUNT = :30, ISSR_AMT = :31, LOCAL_TIME = :32, SEQ_NO = :33, TRANS_SRC = :34, FF_IND = :35, BILLMTC_AMT = :36, TRANS_FEE_HOLD = :37, TRAN_ID = :38 where ROWID = CHARTOROWID(:39)

Tải CPU của hệ thống: Lấy dữ liệu từ OSWatcher

Tải Memory của hệ thống: Lấy dữ liệu từ OSWatcher

Khuyến cáo

   Hệ thống có mức tải rất thấp, CSDL hoạt động tốt.


=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,khóa học pl/sql, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, middleware, hoc solaris, hoc linux, hoc aix, unix, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master