os: centos 7.4
db: oracle 12.1.0.2
db_lost_write_protect
DB_LOST_WRITE_PROTECT = { NONE | TYPICAL | FULL }
通过 ALTER SYSTEM 来修改
alter system set DB_LOST_WRITE_PROTECT=FULL;
开启或关闭lost write 检测功能。数据块lost write发生在以下场景:I/O子系统反馈已经写入磁盘,但实际上并没有写入磁盘。
NONE
不开启lost write检测
TYPICAL
对 read write 表空间的 log buffer cache 操作会进行lost write检测
FULL
对 read write 表空间 及 read only 表空间的 log buffer cache 操作都进行lost write检测
db_ultra_safe
DB_ULTRA_SAFE = { OFF | DATA_ONLY | DATA_AND_INDEX }
通过 ALTER SYSTEM 修改到 spfile,需要重启
alter system set DB_ULTRA_SAFE=DATA_AND_INDEX scope=spfile;
设置控制保护级别的其它参数的默认值
OFF
不影响db_block_checking, db_block_checksum, db_lost_write_protect的值
DATA_ONLY
DB_BLOCK_CHECKING will be set to MEDIUM.
DB_LOST_WRITE_PROTECT will be set to TYPICAL.
DB_BLOCK_CHECKSUM will be set to FULL.
DATA_AND_INDEX
DB_BLOCK_CHECKING will be set to FULL.
DB_LOST_WRITE_PROTECT will be set to TYPICAL.
DB_BLOCK_CHECKSUM will be set to FULL.
参考:
https://docs.oracle.com/database/121/REFRN/GUID-52B4045A-5500-4C02-AFEB-80121659C0EE.htm#REFRN10268
https://docs.oracle.com/database/121/REFRN/GUID-7462165C-1868-489C-B268-15400602883F.htm#REFRN10295