1 Tiếp nhận yêu cầu
DBA tiếp nhận
phản ánh về các vấn đề liên quan đến lock session: import vào bảng chậm, delete
dữ liệu từ bảng chậm, update dữ liệu vào bảng chậm hay thay đổi cấu trúc bảng
không thành công. Với phạm vi những phản ánh này không có yêu cầu cụ thể về
biểu mẫu, DBA có trách nhiệm phối hợp với nhân viên quản trị ứng dụng từ các
phòng, ban để xử lý:
+ Từ các phòng sử dụng cơ sở dữ liệu
+ Từ cảnh báo
tinh nhắm qua SMS
2 Kiểm tra DB
Kiểm tra số
lượng session active và inactive
- Dùng câu lệnh
sau để kiểm tra session active <--- Rất quan trọng
select username, machine, status,server, count (*)
from v$session
where status = 'ACTIVE'
group by username, machine, status, server
order by count (*) desc;
- Dùng câu lệnh
sau để kiểm tra session inactive
select username, machine, status,server, count (*)
from v$session
where status = 'INACTIVE'
group by username, machine, status, server
order by count (*) desc;
-
Nếu thấy số lượng session active >80 (tùy thuộc vào ngưỡng của mỗi hệ thống) thì cần restart lại
ứng dụng này
-
Nếu thấy số lượng session inactive >250 thì cần restart
lại ứng dụng này
Kiểm tra số lượng lock session
-
Dùng câu lệnh sau để kiểm tra lock session <--- Rất quan trọng
select sid,SERIAL#,username, machine, server, sql_address
from v$session
where blocking_session is not null;
-
Dùng câu lệnh sau để kiểm tra lock bảng
select a.session_id, a.oracle_username, a.os_user_name, a.process, b.owner, b.object_name, b.subobject_name, b.object_type
from v$locked_object a, all_objects b
where a.object_id = b.object_id and locked_mode = 3
order by oracle_username, session_id;
- Nếu session, hoặc bảng nào lâu không giải phóng thì kiểm tra cụ
thể session đó đang chạy câu lệnh gì
select *
from v$sqltext
where address = '0000000A90D92F52'
order by piece;
-
Trong quá trình thực hiện yêu cầu lưu các file kết quả view
ra file excel phục vụ việc đánh giá khi cần.
3 Tác động DB để giải phóng lock
Nếu câu lệnh gây lock bảng
của ứng dụng thuộc về người dùng thì thực hiện kill session này.
alter system kill session 'sid,SERIAL#';
Nếu câu lệnh
gây lock thuộc về ứng dụng cần xin ý kiến của lãnh đạo để thực hiện việc
restart ứng dụng nhằm giải phóng session.
4 Test ứng dụng và kiểm tra DB
Kiểm tra lại
số lượng lock session:
-
Dùng câu lệnh sau để kiểm tra lock session
select sid,serial#,username, machine, server, sql_address
from v$session
where blocking_session is not null;
-
Dùng câu lệnh sau để kiểm tra lock bảng
select a.session_id,a.oracle_username,a.os_user_name,a.process,b.owner, b.object_name,b.subobject_name,b.object_type
from v$locked_object a, all_objects b
where a.object_id = b.object_id and locked_mode = 3
order by oracle_username, session_id;
Yêu cầu các
session có locked_mode=3 giải phóng liên tục không bị tồn, hoạt động của ứng
dụng sau khi tác động nằm trong giới hạn KPI cho phép.
5 Thực hiện restart database
Trong vòng
45p mà DB vẫn duy trì trạng thái lock các bảng ứng dụng hoặc DB chậm cần xin ý
kiến để thực hiện việc restart DB này:
- Tắt hết ứng dụng trỏ vào DB
- Tắt listener của DB
- Switch log DB
- Kiểm tra CPU của DB
- Shutdown DB ở chế độ immediate, nếu cần abort
- Start DB và kiểm tra lại DB, ứng dụng. nếu vẫn không giải
quyết được cần phải Reboot OS
6 Restart OS
DBA xin ý
kiến các cấp lãnh đạo Công ty thực hiện restart OS, chuyển yêu cầu ban phần cứng reboot OS khi ý đề xuất được
chấp thuận.
7 Kết thúc
Báo cáo trực tiếp lãnh đạo
phòng về nguyên nhân, cách xử lý và đánh giá lại nguyên nhân để tránh gây ra
tình trạng tương tự.
Hãy nhanh tay đăng ký khóa học "Quản trị cơ sở dữ liệu Oracle 12c cơ bản" trên Unica giành cho những bạn mới học cơ sở dữ liệu Oracle hoặc cần nâng cao kiến thức, kinh nghiệm thực tiễn trên Unica (giá gốc 900K, giá khi đăng ký HÔM NAY là 299K):
Bước 1: Truy cập Unica.vn, bấm ĐĂNG KÝ nếu chưa có tài khoản
Bước 2: Đăng nhập tài khoản học viên trên Unica.vn
Bước 4: Bấm KÍCH HOẠT NGAYđể thanh toán và bắt đầu vào học.
*****@ Trần Văn Bình - Founder of Oracle DBA AZ
#học oracle #oracle database #khóa học oracle online #khóa học oca #học oca ở đâu #oca là gì #oca oracle #BossData #OraAz #OracleDBAAz #OracleTutorial #Quản_trị_cơ_sở_dữ_liệu_Oracle #OracleDBA #OracleDatabaseAdministration