Thứ Tư, 9 tháng 11, 2022

Theo dõi trạng thái hệ thống


1.1.1.   Theo dõi trạng thái các resource

Login vào máy chủ database với user “grid”, chạy các lệnh sau:

$ cd $ORACLE_HOME/bin

$ ./crsctl stat res -t

ü Các resource ora.ons; ora.diskmon không cần check

ü Các resource phải ở trạng thái ONLINE

ü Trường hợp OFFLINE thì thực hiện lệnh start resource theo mục “5.2.5 Start/Stop Resource”

Ví dụ:                                                                                          

 

1.1.2.   Kiểm tra trạng thái Listener

Login vào máy chủ database với user “grid”

-         Chạy lệnh sau để kiểm tra trạng thái listener:

$ srvctl status listener

ü Kết quả trả về “LISTENER is running on” thì người dùng có thể kết nối được đến Database. Ví dụ dưới đây là hiển thị trang thái Listener của Database RAC và Database đơn.

-         Hoặc chúng ta có thể chạy lệnh sau để kiểm tra:

$ lsnrctl status


è Trường hợp listener bị stop hoặc disable thì thực hiện theo mục “5.2.4 Start/Stop Oracle listener”

1.1.3.   Kiểm tra trạng thái ASM

Login vào máy chủ database với user “grid”

-         Để kiểm tra trạng thái tất cả ASM trên database, câu lệnh này sử dụng được cho cả Database RAC và Database đơn:

$ srvctl status asm -detail

ü Kết quả trả về: “ASM is running” nghĩa là ASM đang hoạt động

Ví dụ:

$ srvctl status asm -detail

-         Để kiểm tra trạng thái ASM trên 1 node RAC chạy lệnh theo cú pháp sau:

$ srvctl status asm -node <DB server> -detail

ü Trong đó: <DB server>  là tên của máy chủ database tương ứng. mục “5. Danh sách máy chủ quản trị”

ü Kết quả trả về: “ASM is running” nghĩa là ASM đang hoạt động

ü Câu lệnh này thường dùng cho RAC

Ví dụ:

$ srvctl status asm -node csdl01 -detail     

è Trường hợp ASM bị shutdown thì thực hiện theo mục “5.2.3 Start/Shutdown ASM”

1.1.4.   Kiểm tra hoạt động Database

Login vào máy chủ database với user “oracle” và chạy lệnh sau:

$ cd $ORACLE_HOME/bin

-         Chạy lệnh theo cú pháp sau và thay giá trị tham số tương ứng:

$ srvctl status database -d <DB Name>

Ví dụ:

$ srvctl status database -d CRM

Đang tải lên: Đã tải 2681/2681 byte lên.

 

è Trường hợp Database bị shutdown thì thực hiện theo mục “5.2.2 Start/Shutdown Oracle database”

1.1.5.   Kiểm tra trạng thái Instance của Database

Login vào máy chủ database với user “oracle”, chạy lệnh sau:

$ sqlplus /as sysdba

SQL>select instance_name, status from gv$instance;

ü Status = OPEN: nghĩa là database sẵn sàng cho người dùng truy cập bình thường

ü Status<>OPEN: Nghĩa là database chưa sẵn sàng cho người dùng.

1.1.6.   Kiểm tra log cluster

Login vào máy chủ database với user “grid” thực hiện các lệnh theo cú pháp sau và thay các biến phù hợp:

-         Kiểm tra log CRS

$ cat $ORACLE_BASE/diag/crs/<DB server>/crs/trace/alert.log |grep "Failed\|ORA-\|Ora-\|TNS-\|Error\|error\|Fatal\|fatal"

Ví dụ:

$ cat $ORACLE_BASE/diag/crs/csdl01/crs/trace/alert.log |grep "Failed\|ORA-\|Ora-\|TNS-\|Error\|error\|Fatal\|fatal"

è Với kết quả trả về, tùy theo từng lỗi cụ thể để có phương án phù hợp.

-         Kiểm tra log ASM

$ more $ORACLE_BASE/diag/asm/+asm/<Instance ASM>/trace/*alert*.log "Failed\|ORA-\|Ora-\|TNS-\|Error\|error\|Fatal\|fatal"

Ví dụ:

$ more $ORACLE_BASE/diag/asm/+asm/+ASM1/trace/*alert*.log "Failed\|ORA-\|Ora-\|TNS-\|Error\|error\|Fatal\|fatal"

è Với kết quả trả về, tùy theo từng lỗi cụ thể để có phương án phù hợp.

1.1.7.   Kiểm tra log Database

Login vào máy chủ database với user “oracle” thực hiện các lệnh theo cú pháp sau và thay các biến phù hợp:

 

$cat           /<DB name>/<Instance name>/trace/alert_<Instance name>.log |"Failed\|ORA-\|Ora-\|TNS-\|Error\|error\|Fatal\|fatal"

Ví dụ:

$cat $ORACLE_BASE/diag/rdbms/CRM/CRM1/trace/alert_ CRM1.log |grep "Failed\|ORA-\|Ora-\|TNS-\|Error\|error\|Fatal\|fatal"

è Với kết quả trả về, tùy theo từng lỗi cụ thể để có phương án phù hợp.

1.1.8.   Kiểm tra dung lượng ASM Group

Login vào máy chủ database với user “oracle”

-         Thực hiện các câu lệnh sau:

$sqlplus / as sysdba

SQL> Select name, type, total_mb, free_mb,Round((total_mb-free_mb)*100/total_mb,2) PCT_Used,  required_mirror_free_mb required_mirror from v$asm_diskgroup;


è Nếu có Diskgroup nào mà giá trị %PCT_Used>90% thì xem xét việc tăng thêm dung lượng cho Diskgroup này.

1.1.9.   Kiểm tra dung lượng Tablespace

Login vào máy chủ database với user “oracle”

-         Thực hiện các câu lệnh sau:

$sqlplus / as sysdba

SQL>set pages 80

set lin 120

set echo off

set feed off

column PCT format 999.99

column tbspce format A30

col container for a30

select substr(f.tablespace_name,1,30) tbspce,

     round(f.tsbytes/(1024*1024),0) "ALLOCATED(MB)",

     round(nvl(s.segbytes,0)/(1024*1024),0) "USED(MB)",

     round((nvl(s.segbytes,0)/f.tsbytes)*100,2) PCT_Used,

     lower(vc.name) as container

from

   (select con_id,tablespace_name,sum(bytes) tsbytes from cdb_data_files group by con_id,tablespace_name) f,

   (select con_id,tablespace_name,sum(bytes) segbytes from cdb_segments group by con_id,tablespace_name) s,

   v$containers vc

where f.con_id=s.con_id(+)

  and f.tablespace_name=s.tablespace_name(+)

  and f.con_id=vc.con_id

order by container, tbspce;

 

è Nếu có tablespace nào mà giá trị PCT_Used (% sử dụng) >90% thì xem xét tăng thêm dung lượng cho những tablespace này.

1.1.10.              Kiểm tra Invalid Object

Login vào máy chủ database với user “oracle”

-         Thực hiện các câu lệnh sau:

$sqlplus / as sysdba

SQL> select owner,object_type, object_name,status from   dba_objects where  status = 'invalid' order by owner, object_type, object_name;

è Thực hiện compile các object bị “invalid” này, theo mục “6.15. Complie Object”

1.1.11.              Kiểm tra index unused

Login vào máy chủ database với user “oracle”

-         Thực hiện các câu lệnh sau:

$sqlplus / as sysdba

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');

è Thực hiện compile các object bị “invalid” này, theo mục “6.14. Rebuild Index”

1.1.12.              Kiểm tra các table thiếu statistic

Login vào máy chủ database với user “oracle”

-         Thực hiện các câu lệnh sau:

$sqlplus / as sysdba

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);

è Thực hiện analyse statistic cho các bảng này như mục “6.16. Gather statistics”



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/OracleDBAVietNam 👨 Website: http://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 #OracleTutorial #OracleDBA #OracleDatabaseAdministration #học oracle database #oca #ocp #oce #ocm

ĐỌC NHIỀU

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