DBAtlas · Атлас эксплуатации баз данных

Зашифровать табличные пространства через TDE (новые и существующие, онлайн/офлайн)

OracleБезопасность

Команда

-- Prerequisite: keystore OPEN and master key set (v$encryption_wallet.status = 'OPEN')

-- 1) New encrypted tablespace:
CREATE TABLESPACE customer_enc
  DATAFILE '+DATA' SIZE 1G AUTOEXTEND ON NEXT 256M MAXSIZE 20G
  ENCRYPTION USING 'AES256' ENCRYPT;

-- 2a) Encrypt an existing tablespace ONLINE (12.2+, needs extra space temporarily):
ALTER TABLESPACE customer_data ENCRYPTION ONLINE USING 'AES256' ENCRYPT;
-- If not OMF: ... ENCRYPT FILE_NAME_CONVERT = ('customer_data01.dbf', 'customer_data01_enc.dbf');

-- 2b) OFFLINE conversion (no extra space, tablespace unavailable meanwhile):
ALTER TABLESPACE customer_data OFFLINE NORMAL;
ALTER TABLESPACE customer_data ENCRYPTION OFFLINE ENCRYPT;
ALTER TABLESPACE customer_data ONLINE;

-- 3) Progress and status:
SELECT t.name AS tablespace_name, e.encryptionalg, e.status, e.con_id
FROM   v$encrypted_tablespaces e
  JOIN v$tablespace t ON t.ts# = e.ts# AND t.con_id = e.con_id;
SELECT tablespace_name, encrypted FROM dba_tablespaces ORDER BY tablespace_name;

Что делает

Шифрование табличного пространства шифрует каждый блок, записываемый в datafile; в buffer cache данные хранятся в открытом виде, поэтому изменения приложения или SQL не нужны. Онлайн-преобразование создаёт зашифрованную копию datafile и переключается на неё, пока продолжается DML; офлайн-преобразование шифрует блоки на месте.

Когда использовать

Чтобы зашифровать при хранении табличные пространства приложений с чувствительными данными, перенести данные в новое зашифрованное табличное пространство или закрыть замечание аудита.

Внимание

On-premises требует опции Advanced Security (платная). Онлайн-преобразованию нужно дополнительное место, равное размеру шифруемых datafile, и оно создаёт высокую нагрузку I/O и redo; standby Data Guard выполняет ту же работу. Офлайн-преобразование на standby Data Guard нужно запускать отдельно. SYSTEM/SYSAUX/UNDO можно шифровать онлайн в 12.2+, но это требует особой осторожности. Бэкапы зашифрованных табличных пространств нельзя восстановить без keystore.

Открыть в DBAtlas →

Связанные материалы