Як виправити ora 06512 в oracle oracle?

Якщо пошкодження блоку даних обмежено підмножиною рядків, то інший варіант полягає в тому, щоб перебудуйте таблицю, вибравши всі дані, крім пошкоджених рядків. Ще один спосіб керування пошкодженням блоку даних — використання пакета DBMS_REPAIR. Ви можете використовувати DBMS_REPAIR для виявлення та відновлення пошкоджених блоків у таблицях та індексах.

Перекомпілюйте недійсні об’єкти в базі даних

  1. Змініть каталог на Oracle_home/rdbms/admin . Наприклад. Копіювати. $ cd $ORACLE_HOME/rdbms/admin.
  2. Використовуйте сценарій catcon.pl у домашній системі Oracle, щоб запустити utlrp.sql. Наприклад: Копія. $ORACLE_HOME/perl/bin/perl catcon.pl –n 1 –e –b utlrp –d '''. ''' utlrp.sql.

Дія

  1. Переконайтеся, що ваш оператор SQL не містить помилок.
  2. Перевірте документацію бази даних Oracle, щоб знайти правильний синтаксис для пропозиції та належним чином оновіть проблемне положення.
  3. Перевірте документацію бази даних Oracle, щоб знайти правильний синтаксис оператора та видалити непідтримуване речення.

Ремонт установки

  1. Знайдіть setup.exe.
  2. Клацніть правою кнопкою миші та виберіть Запуск від імені адміністратора. З’явиться сторінка Existing Installed Instances Detected.
  3. Виберіть Обслуговувати або оновлювати екземпляр цієї програми, вибраний нижче.
  4. Виберіть відповідний сервер і натисніть «Далі». …
  5. Виберіть Відновити та натисніть Далі.

Щоб відновити всі блоки, зареєстровані у V$DATABASE_BLOCK_CORRUPTION:

  1. Запустіть SQL*Plus і підключіться до цільової бази даних.
  2. Запит V$DATABASE_BLOCK_CORRUPTION, щоб визначити, чи існують пошкоджені блоки. …
  3. Запустіть RMAN і підключіться до цільової бази даних, як описано в розділі «Створення підключень до бази даних за допомогою RMAN».