Як створити табличний простір скасування в Oracle RAC
- Створити табличний простір скасування UNDOTBS01 SQL> створити табличний простір скасування UNDOTBS01 DATAFILE '+DATAGROUP' SIZE 4g; Таблиця створена. …
- Створіть табличний простір Undo UNDOTBS02. …
- Призначте щойно створений табличний простір UNDOTBS01 для node1.
Використовуйте оператор DROP TABLESPACE, щоб скинути табличний простір скасування. Ви можете перейти від використання одного табличного простору скасування до іншого. Оскільки параметр ініціалізації UNDO_TABLESPACE є динамічним параметром, оператор ALTER SYSTEM SET можна використовувати для призначення нового табличного простору скасування.
Таким чином, єдиним рішенням для досягнення мети є наступне:
- Створіть новий табличний простір для скасування (наведена нижче команда створить табличний простір Bigfile із початковим розміром 100 МБ): …
- Встановіть новий табличний простір як табличний простір скасування, який буде використано: …
- Після виконання вищевказаного кроку видаліть старий табличний простір скасування:
Використовуйте оператор DROP TABLESPACE, щоб скинути табличний простір скасування. У наступному прикладі відкидається табличний простір Undo undotbs_01: DROP TABLESPACE undotbs_01; Табличний простір скасування можна скинути, лише якщо він наразі не використовується жодним екземпляром.
Є три методи, які можна використати для відновлення видаленого табличного простору:
- Створіть клон БД за допомогою PITR перед видаленням табличного простору, експортуйте табличний простір із клону БД та імпортуйте до вихідної бази даних.
- Виконайте відновлення всієї бази даних на момент часу. Це призводить до простою та втрати даних.
- Використовувати автоматизований метод РМАН ЦПІТР.
Якщо для активної транзакції потрібен простір для скасування, а табличний простір для скасування не має вільного місця, тоді система починає повторно використовувати незавершений простір для скасування. Ця дія потенційно може спричинити помилку деяких запитів із повідомленням «знімок занадто старий».