根据Oracle官方文档,直到Oracle 12.1.0.1的New Feature Guide才有下面描述:
The default values of columns are maintained in the data dictionary for columns
specified as NULL.
Adding new columns with DEFAULT values no longer requires the default value to be
stored in all existing records. This not only enables a schema modification in
sub-seconds and independent of the existing data volume, it also does not consume
any space.
详细参考下面链接2.5.5.5小节
https://docs.oracle.com/database/121/NEWFT/chapter12101.htm#FEATURENO09742
而11.2的Administrator Guide描述如下:
If a new column is added to a table, the column is initially NULL unless you specify the
DEFAULT clause. When you specify a default value, the database immediately updates
each row with the default value. Note that this can take some time, and that during the
update, there is an exclusive DML lock on the table. For some types of tables (for
example, tables without LOB columns), if you specify both a NOT NULL constraint and
a default value, the database can optimize the column add operation and greatly
reduce the amount of time that the table is locked for DML.
所以,这个新特性在11g中其实并不存在,根据11.2的Administrator Guide描述,只有某些表(不包含LOB列),如果你同时指定新增列有NOT NULL约束与DEFAULT VALUE,会大大减少表锁定DML时间。
所以,还是要参考官方文档,以及在做之前进行测试环境1:1测试为上策啊。