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
è 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