Các câu trả lời được cung cấp bởi các áp phích trước đều hoàn toàn chính xác về cú pháp để tạo một không gian bảng UNDO mới và để chuyển hệ thống sang không gian bảng UNDO mới.
Các tài liệu của Oracle khẳng định rằng tuyên bố sau đây sẽ chuyển sang tablespace UNDO mới:
ALTER SYSTEM SET UNDO_TABLESPACE = <name of new UNDO TS>;
ví dụ: @Mohammad Jolani:
ALTER SYSTEM SET UNDO_TABLESPACE = UNDOTBS20140508;
Tuy nhiên, có một số hạn chế với việc chuyển đổi này được ghi lại là:
Hoạt động chuyển đổi không chờ các giao dịch trong không gian bảng hoàn tác cũ được cam kết. Nếu có bất kỳ giao dịch đang chờ xử lý nào trong không gian bảng hoàn tác cũ, không gian bảng hoàn tác cũ sẽ chuyển sang chế độ PENDING OFFLINE (trạng thái). Trong chế độ này, các giao dịch hiện tại có thể tiếp tục thực hiện, nhưng hoàn tác các bản ghi cho các giao dịch người dùng mới không thể được lưu trữ trong không gian bảng hoàn tác này. Không gian bảng hoàn tác có thể tồn tại trong chế độ PENDING OFFLINE này, ngay cả sau khi thao tác chuyển đổi hoàn thành thành công. Một trường hợp khác PENDING OFFLINE hoàn tác không thể được sử dụng bởi một thể hiện khác, cũng không thể bỏ nó. Cuối cùng, sau khi tất cả các giao dịch hoạt động đã được cam kết, không gian bảng hoàn tác sẽ tự động chuyển từ chế độ PENDING OFFLINE sang chế độ OFFLINE. Từ đó trở đi, không gian bảng hoàn tác có sẵn cho các phiên bản khác (trong môi trường Oracle Real Application Cluster).
Vì vậy, theo A PENDING OFFLINE hoàn tác không gian bảng có thể được sử dụng bởi một thể hiện khác, cũng không thể bỏ nó. bạn sẽ phải đợi cho đến khi Oracle hoàn toàn chuyển đổi không gian bảng UNDO hiện tại.
Hãy thử truy vấn trạng thái của vùng bảng với:
select file#, ts#, status, bytes, substr(name, 0, 30) from v$datafile;
Bạn có thể thấy rằng không gian bảng UNDO cũ của bạn vẫn đang được sử dụng hoặc ở PENDING OFFLINE
trạng thái.
Bạn cũng có thể thử chuyển đổi không gian bảng UNDO qua lại với:
ALTER SYSTEM SET UNDO_TABLESPACE = '';
Không gian bảng hoàn tác có thể tồn tại trong chế độ PENDING OFFLINE này, ngay cả sau khi thao tác chuyển đổi hoàn thành thành công. Một trường hợp khác PENDING OFFLINE hoàn tác không thể được sử dụng bởi một thể hiện khác, cũng không thể bỏ nó. Cuối cùng, sau khi tất cả các giao dịch hoạt động đã được cam kết, không gian bảng hoàn tác sẽ tự động chuyển từ chế độ PENDING OFFLINE sang chế độ OFFLINE. Từ đó trở đi, không gian bảng hoàn tác có sẵn cho các phiên bản khác (trong môi trường Oracle Real Application Cluster). Nếu giá trị tham số cho UNDO TABLESPACE được đặt thành '' (hai dấu ngoặc đơn), thì không gian bảng hoàn tác hiện tại sẽ bị tắt và không gian bảng hoàn tác có sẵn tiếp theo được chuyển vào. Hãy sử dụng câu lệnh này một cách cẩn thận , phân đoạn rollback HỆ THỐNG được sử dụng.
Bạn không thể buộc chuyển đổi trừ khi bạn tắt cơ sở dữ liệu của bạn. Nếu Oracle nghĩ rằng họ vẫn cần UNDO TS cũ thì vậy thôi. Hệ thống của bạn sẽ được viết cho UNDO TS mới, do đó không cần phải ép buộc bất cứ điều gì trừ khi bạn có yêu cầu đặc biệt.