10 ноября 2014 г.

Default Temporary Tablespace PSAPTEMP

Начиная с версии SAP_BASIS 6.40 и базы данных Oracle 9i, рекомендуется в качестве табличного пространства по-умолчанию (Default Temporary Tablespace) использовать специальное табличное пространство PSAPTEMP. В предыдущих версиях SAP/Oracle использовалось табличное пространство SYSTEM.

В свое время данное решение было продиктовано соображениями безопасности. Иначе, на уровне базы данных мог быть создан пользователь, у которого временным табличным пространством было бы установлено SYSTEM, и которое при использовании в данном качестве, увеличивалось бы в размерах, оставаясь таким и после окончания использования. 

Утилита BRTools, начиная с версии 6.40, проверяет какое табличное пространство установлено в качестве Default Temporary Tablespace. Если это SYSTEM, то выдается сообщение об ошибке. Например, в отчете CheckDB в транзакции DB13 (рис. 1).

Рис. 1. Ошибка в отчете CheckDB.

На уровне SQLPlus проверить значение Default Temporary Tablespace можно следующим SQL-запросом (рис. 2 и 3).

Рис. 2.  Табличное пространство PSAPTEMP в качестве Default Temporary Tablespace.

Рис. 3. Табличное пространство SYSTEM в качестве Default Temporary Tablespace.

Если система выдает ошибку (рис. 1) и проверка на уровне SQLPlus показывает, что это так и есть (рис. 3), то необходимо переназначить значение Default Temporary Tablespace согласно рекомендациям SAP следующей SQL-командой (рис. 4).

Рис. 4. Изменение значения Default Temporary Tablespace на PSAPTEMP.

После этого можно проверить, что данное табличное пространство установлено для всех пользователей базы данных (рис. 5).

Рис. 5. Проверка, что для всех пользователей базы данных установлена PSAPTEMP.

Подробности в SAP note # 683075 - Oracle9i: Default Temporary Tablespace. Там же описано, как создать временное табличное пространство PSAPTEMP, если его нет.



3 комментария:

  1. Вячеслав, а может знаете, у меня почему-то в dbacockpit PSAPTEMP всегда пуст. Будто его никто не использует. А так же при копировании манданта с большими таблицами возникает проблема - система не может их скопировать, т.к. нет места в "пустом" PSAPTEMP.

    ОтветитьУдалить
    Ответы
    1. Игорь, добрый вечер.
      То что PSAPTEMP у вас пуст, не должно вас пугать или удивлять. Временные объекты, которые там создаются, не учитываются, как таблицы или индексы, и довольно быстро удаляются после использования. А по поводу копирования манданта посмотрите ноты на данную тему. Начните, например, вот с этой - SAP note # 489690 - CC INFO: Copying large production clients.

      Удалить