Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

ORA-03113:phần cuối của tệp trên kênh liên lạc

ORA-03113 là một lỗi khá phổ biến. Hãy để chúng tôi đi sâu tìm hiểu về nó

Sự cố ORA-03113:phần cuối của tệp trên kênh liên lạc

Nguyên nhân: Kết nối giữa quy trình Máy khách và Máy chủ đã bị hỏng. Nó cũng có thể xảy ra nếu extproc tác nhân bên ngoài gặp sự cố vì một lý do nào đó.

Hành động: Đã xảy ra lỗi giao tiếp cần điều tra thêm. Trước tiên, hãy kiểm tra các sự cố mạng và xem lại thiết lập SQL * Net. Ngoài ra, hãy tìm trong tệp alert.log để biết bất kỳ lỗi nào. Cuối cùng, hãy kiểm tra xem liệu quá trình máy chủ đã chết hay chưa và liệu tệp theo dõi có được tạo vào thời điểm thất bại hay không. Có thể có một số lệnh gọi hệ thống trong hàm .NET có thể chấm dứt quá trình. Xóa các cuộc gọi như vậy.

Lỗi ORA-3113 “cuối tệp trên kênh liên lạc” là một lỗi chung thường được báo cáo bởi một quy trình máy khách được kết nối với cơ sở dữ liệu Oracle. Về cơ bản, lỗi có nghĩa là "Tôi không thể giao tiếp với quy trình bóng Oracle". Vì một số lý do, máy khách của bạn và máy chủ cơ sở dữ liệu đã ngừng nói chuyện với nhau. Vì đây là một lỗi chung như vậy, cần phải thu thập thêm thông tin để giúp xác định điều gì đã xảy ra - bản thân lỗi này không chỉ ra nguyên nhân của sự cố.

Ví dụ:ORA-3113 có thể được báo hiệu cho bất kỳ trường hợp nào sau đây:
• Máy chủ bị sự cố
• Quá trình máy chủ của bạn bị chết ở cấp độ O / S
• Sự cố mạng
• Lỗi nội bộ Oracle (ORA-600 / ORA-7445) / hủy trên máy chủ
• Máy khách xử lý sai nhiều kết nối
• vv .. vv .. vv .. - rất nhiều nguyên nhân có thể xảy ra! !
Lỗi này thường đi kèm với các lỗi khác như:
• Lỗi nội bộ ORA-01041. tiện ích mở rộng hostdef không tồn tại
• ORA-03114 không được kết nối với ORACLE
• ORA-01012 chưa được đăng nhập

Lỗi này đôi khi được gây ra bởi những thứ đơn giản nhất. Tuy nhiên, nếu nguyên nhân là do lỗi nội bộ của Oracle, hãy xem nhật ký cảnh báo của bạn để biết thêm thông tin.

Hãy thực hiện các bối cảnh khác nhau trong đó ORA-03113

(1) ORA-3113 trong khi khởi động cơ sở dữ liệu Oracle

Nó có thể xảy ra trong tất cả các giai đoạn khởi động cơ sở dữ liệu Oracle

(2) Khách hàng thấy ORA-3113 chạy SQL / PLSQL

Nếu lỗi ORA-3113 xảy ra SAU KHI bạn đã kết nối với Oracle thì rất có thể tệp thực thi ‘oracle’ đã kết thúc đột ngột. Quá trình máy chủ có thể đã chết vì nhiều lý do.

(a) Quản trị viên hệ thống đã cố tình giết tiến trình bằng cách giết id tiến trình vì nó có thể tiêu tốn nhiều CPU và bộ nhớ hơn


(b) Nó có thể xảy ra do một số lỗi, Chúng tôi nên tìm kiếm tệp theo dõi cho phiên này trong thư mục chẩn đoán và kiểm tra giải pháp trong metalink

(c) Chỉ dành cho UNIX: Nếu không có tệp theo dõi, hãy kiểm tra kết xuất ‘lõi’ trong CORE_DUMP_DEST. Kiểm tra như sau:

cd $ORACLE_HOME/dbs # Or your CORE_DUMP_DEST
ls -l core*
của bạn

Nếu có một tệp được gọi là ‘lõi’, hãy kiểm tra xem thời gian của nó có khớp với thời gian xảy ra sự cố hay không. Nếu có các thư mục được gọi là ‘core_ ’, hãy kiểm tra các tệp chính trong mỗi thư mục này. ĐIỀU QUAN TRỌNG là phải lấy đúng tệp lõi. Bây giờ lấy dấu vết ngăn xếp từ tệp ‘lõi’ này. Kiểm tra từng trình tự bên dưới để xem cách thực hiện việc này - một trong những trình tự này sẽ hoạt động cho nền tảng của bạn.

Nếu bạn có dbx:

% script /tmp/core.stack
% dbx $ORACLE_HOME/bin/oracle core
(dbx) where
…
(dbx) quit
% exit

Nếu bạn có sdb:

% script /tmp/core.stack
% sdb $ORACLE_HOME/bin/oracle core
t
…
q
% exit

Nếu bạn có xdb:

% script /tmp/core.s

(d) Có thể một câu lệnh SQL cụ thể hoặc khối PL / SQL đang gây ra lỗi. Trong nhiều trường hợp, điều này sẽ được liệt kê trong tệp theo dõi được tạo dưới tiêu đề “Câu lệnh SQL hiện tại” hoặc gần giữa tệp theo dõi dưới con trỏ được tham chiếu bởi dòng “Con trỏ hiện tại NN”.

Nếu tệp theo dõi không hiển thị câu lệnh lỗi thì SQL_TRACE có thể được sử dụng để giúp xác định điều này, miễn là sự cố tái tạo. SQL_TRACE có thể được bật trong hầu hết các công cụ máy khách

Chúng ta nên luôn tham khảo ghi chú Metalink chính trên ORA-03113
Ghi chú chính:Khắc phục sự cố ORA-03113 (Doc ID 1506805.1)

Cũng đã đọc
ORA-01111
ORA-00900
hoặc-29283:thao tác tệp không hợp lệ


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ví dụ về giao dịch tự trị của Oracle

  2. Một ví dụ để chứng minh lỗ hổng của SQL Injection và cách ngăn chặn nó trong Oracle

  3. Làm cách nào để tôi có thể sử dụng regex để chia một chuỗi, sử dụng một chuỗi làm dấu phân cách?

  4. RU hay RUR?

  5. chuyển đổi đốm màu thành cục máu đông