Fix Lỗi ORA-03113 end of file on communication channel

1. Nguyên nhân : 
 Lỗi ORA-03113 end of file on communication channel là lỗi xuất hiện sau khi quá trình kết nối của một máy client hay ứng dụng đến database xảy ra vấn đề. Vì nó là một lỗi chung chung nên cần thu thập nhiều thông tin để xác định được chính xác điều gì đã xảy ra với database.
2. Fix lỗi 
Kết nối đến database bằng SYSDBA:
 sqlplus / as sysdba
 - startup nomount (A1):
 SQL> startup nomount
 - Mount database (A1,A2):
 SQL> alter database mount;
-  Recover database (A3):
 SQL> recover database
-  Open database (A4):
 SQL> alter database open;

Trường hợp vẫn chưa khắc phục được, kiểm tra log.xml và file trace xuất hiện lỗi:

SMON: following errors trapped and ignored:
ORA-01595: error freeing extent (13934) of rollback segment (123))
ORA-00600: internal error code, arguments: [3242], [], [], [], [], [], [], [], [], [], [], []

Lỗi này thường xảy ra khi db bị server bị down đột ngột, hoặc db bị crashes , bugs… Undo tablespace bị hỏng hoặc mất. Ta phải tạo Undo tablespace mới và thay thế.

Các bước xử lý trường hợp này như sau:
- Kiểm tra DB dùng undo tablespace nào?
Sqlplus / as sysdba
Startup mount
Show parameter UNDO_TABLESPACE 
- Kiểm tra thông tin xem UNDOTBS03 của DB có bao nhiêu datafile thuộc về nó: Chú ý trong trường hợp DB mount, chúng ta chỉ có thể query thông tin từ các view đọc được từ controlfile (nghĩa là chỉ lấy được thông tin từ các view tĩnh):
select t.name tablespace , d.name from v$datafile d, v$tablespace t
where D.TS# =T.TS#
and T.NAME LIKE '%UNDOTBS%'; 
- Kiểm tra datafile thuộc tablespace:
select t.name tablespace , d.name from v$datafile d, v$tablespace t where D.TS# =T.TS#
- Tiến hành câu lệnh thanh đổi thông số UNDO_MANAGEMENT thành MANUAL;
Alter system set UNDO_MANAGEMENT=manual scope=spfile;
Shutdown immediate
Startup mount. 
- Tạo undo tablespace mới:
create undo tablespace UNDOTBS2 datafile '/u01/app/oracle/oradata/ORA140/datafile/undo_tbs2_01.dbf' SIZE 1024M;
- Chuyển undo tablespace mặc định sang undo tablespace mới
 alter system set undo_tablespace=UNDOTBS2 scope=spfile sid='oracl';
 alter system set undo_management = auto scope=spfile;
 shutdown immediate
 startup

Hãy bình luận đầu tiên

Để lại một phản hồi

Thư điện tử của bạn sẽ không được hiện thị công khai.


*