Điểm:0

Oracle 18c XE không thể sao lưu cơ sở dữ liệu PDB sau khi cơ sở dữ liệu XE chính bị hỏng

lá cờ in

Tôi có một máy chủ Oracle 18c XE có lỗi trong tệp system01.dbf của cơ sở dữ liệu XE chính.

Tất cả dữ liệu người dùng đều nằm trong cơ sở dữ liệu PDB, điều may mắn là có vẻ ổn (hiện tại PDB đang hoạt động trong sản xuất).

Vấn đề là tôi không thể tạo bản sao lưu của PDB với expdp, bởi vì expdp thất bại với lỗi này:

UDE-00604: lỗi ORACLE 604 do hoạt động tạo ra
ORA-00604: lỗi riscontrato trong SQL ricorsivo livello 2
ORA-01578: khối dữ liệu ORACLE danneggiato (tệp #1, khối # 636)
ORA-01110: tệp trong dữ liệu 1: '/opt/oracle/oradata/XE/system01.dbf'

Tương tự, tôi không thể kết nối với RMAN, vì cùng một lỗi:

RMAN-00571: ================================================= =============
RMAN-00569: =============== Ngăn xếp thông báo LỖI SAU =================================
RMAN-00571: ================================================= =============
RMAN-00554: khởi tạo gói trình quản lý khôi phục nội bộ không thành công
RMAN-04005: lỗi từ cơ sở dữ liệu đích:
ORA-00604: lỗi riscontrato trong SQL ricorsivo livello 2
ORA-01578: khối dữ liệu ORACLE danneggiato (tệp #1, khối # 636)
ORA-01110: tệp trong dữ liệu 1: '/opt/oracle/oradata/XE/system01.dbf'
RMAN-04015: lỗi đặt ký tự cơ sở dữ liệu đích được đặt thành US7ASCII

Để đơn giản, tôi chỉ muốn sao lưu PDB, sau đó xóa và cài đặt lại toàn bộ cơ sở dữ liệu XE 18c từ đầu rồi khôi phục PDB (không cần khôi phục gì cả, vì lỗi nằm trong cơ sở dữ liệu XE chính, trong khi PDB vẫn ổn ).

Có cách nào để làm việc này không?

Tôi không có bản sao lưu RMAN nào trước đó, vì tôi luôn tạo tất cả các bản sao lưu bằng expdp, nhưng các bản sao lưu hiện đã cũ, bởi vì expdp đã ngừng hoạt động vài ngày trước khi tham nhũng có thể xảy ra.

CẬP NHẬT

Cuối cùng, giải pháp khả thi duy nhất là:

  • Cài đặt Oracle 18c XE trên máy khác
  • Khôi phục lược đồ db không có hàng trên máy mới từ máy cũ expdp bãi rác
  • Tạo liên kết cơ sở dữ liệu từ máy mới đến máy chủ ban đầu với PDB đang chạy
  • thủ công CHÈN VÀO... CHỌN tất cả các bảng từ máy chủ được liên kết ban đầu sang máy mới
  • làm một expdp đổ từ máy mới
  • cài đặt lại Oracle trên máy chủ ban đầu và nhập kết xuất mới được tạo
Gerard H. Pille avatar
lá cờ in
Tôi không thể giúp bạn vì không liên lạc được với Oracle, nhưng một lời khuyên: đừng tắt cơ sở dữ liệu sản xuất. Xuất cũ (exp) vẫn hoạt động hay bạn có kiểu dữ liệu mà nó không thể xử lý?
lá cờ in
@GerardH.Pille Cảm ơn lời khuyên, nhưng tôi đã tắt và khởi động lại cơ sở dữ liệu cũ nhiều lần. May mắn thay, nó vẫn hoạt động, có thể là do tham nhũng nằm trong db XE chính chứ không phải PDB. Tôi không thể xuất và tôi cũng không thể liệt kê các bảng PDB trong sqldeveloper, nhưng các bảng đang hoạt động (đó là một ERP và mọi người đang sử dụng nó). Bản xuất cũ chắc chắn sẽ hoạt động, tôi khá chắc chắn, nhưng vì nó đã cũ và cơ sở dữ liệu sản xuất hiện tại vẫn đang hoạt động và đang được cập nhật, tôi muốn tìm xem có cách nào tốt hơn để lưu cơ sở dữ liệu hiện tại hơn là hoàn nguyên về bản cũ không sao lưu.
Gerard H. Pille avatar
lá cờ in
Tôi sẽ sử dụng chương trình exp cũ để xuất dữ liệu hiện tại, nếu không có giải pháp nào tốt hơn.
lá cờ in
@GerardH.Pille Tôi mới thử, nhưng exp đưa ra lỗi tương tự như expdp. Tối nay tôi sẽ thử thêm một số khôi phục khối trên cơ sở dữ liệu XE chính sau khi sao lưu toàn bộ thư mục.
Điểm:1
lá cờ cn

Không gian bảng hệ thống (system01.dbf) bao gồm các đối tượng từ điển dữ liệu được chia sẻ bởi cả cơ sở dữ liệu vùng chứa và cơ sở dữ liệu có thể cắm.Bạn không thể sao lưu PDB nên không thể mở nó để truy cập mà không chạy CDB. Tôi tin rằng bạn sẽ cần khôi phục không gian bảng hệ thống từ bản sao lưu RMAN trước đó trước khi bạn có thể tạo một bản sao lưu PDB mới hoặc rút phích cắm của nó.

Xem ở đây để biết thêm hướng: https://oracle-base.com/articles/12c/multitenant-rman-backup-recovery-cdb-and-pdb-12cr1#cdb-recovery

lá cờ in
Thật không may, tôi không có bản sao lưu RMAN, chỉ có expdp. Tôi sẽ thử BBED như phương sách cuối cùng.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.