Even if the value SCOTT only occurs 1% of the time in your table, it's still possible that Storage Index pruning won't take place, as the value SCOTT may fall between the the MIX, MAX range for every IMCU, even if the value doesn't exist in that IMCU.
Take for example a MIX, MAX range of [APEX, XDB] for the owner column on each IMCU. The value SCOTT falls within that range for every IMCU. Therefore no pruning will occur.
The only way to improve the chances of Storage Index pruning occurring would be to sort the data within the Big_Table on the owner column. It won't guarantee pruning but it will increase the chances.
Here is a quick example showing the difference sorting can make on my version of BIG_TABLE.
--- Unsorted Big_Table
SQL> select count(*) from big_table;
COUNT(*)
----------
26226176
SQL> select count(*) from big_table where owner='SCOTT';
COUNT(*)
----------
1024
SQL> select t1.name, t2.value
2 from v$sysstat t1,
3 v$mystat t2
4 where t1.name like 'IM%'
5 and t1.statistic# = t2.statistic#
6 and t1.name in ('IM scan CUs columns accessed', 'IM scan CUs pruned', 'IM scan segments minmax eligible');
NAME VALUE
---------------------------------------------------------------- ----------
IM scan CUs columns accessed 0
IM scan CUs pruned 0
IM scan segments minmax eligible 0
SQL>
SQL> select max(object_id) from big_table where owner ='SCOTT';
MAX(OBJECT_ID)
--------------
91774
SQL>
SQL> select * from table(dbms_xplan.display_cursor);
PLAN_TABLE_OUTPUT
-------------------------------------------------------------------------------
SQL_ID g9r6qxh4dczd4, child number 0
-------------------------------------
select max(object_id) from big_table where owner ='SCOTT'
Plan hash value: 599409829
-------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)|
-------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | | | 10730 (100)| |
| 1 | SORT AGGREGATE | | 1 | 11 | | |
|* 2 | TABLE ACCESS INMEMORY FULL| BIG_TABLE | 1024 | 11264 | 10730 (3)|
-------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - inmemory("OWNER"='SCOTT')
filter("OWNER"='SCOTT')
20 rows selected.
SQL>
SQL> select t1.name, t2.value
2 from v$sysstat t1,
3 v$mystat t2
4 where t1.name like 'IM%'
5 and t1.statistic# = t2.statistic#
6 and t1.name in ('IM scan CUs columns accessed', 'IM scan CUs pruned', 'IM scan segments minmax eligible');
NAME VALUE
---------------------------------------------------------------- ----------
IM scan CUs columns accessed 74
IM scan CUs pruned 2
IM scan segments minmax eligible 39
-- Same table sorted by Owner
SQL> select t1.name, t2.value
2 from v$sysstat t1,
3 v$mystat t2
4 where t1.name like 'IM%'
5 and t1.statistic# = t2.statistic#
6 and t1.name in ('IM scan CUs columns accessed', 'IM scan CUs pruned', 'IM scan segments minmax eligible');
NAME VALUE
---------------------------------------------------------------- ----------
IM scan CUs columns accessed 0
IM scan CUs pruned 0
IM scan segments minmax eligible 0
SQL>
SQL> select max(object_id) from big_table_sorted where owner ='SCOTT';
MAX(OBJECT_ID)
--------------
91774
SQL>
SQL> select * from table(dbms_xplan.display_cursor);
PLAN_TABLE_OUTPUT
-------------------------------------------------------------------------------
SQL_ID f4a2z8wsqjdm0, child number 0
-------------------------------------
select max(object_id) from big_table_sorted where owner ='SCOTT'
Plan hash value: 3625205436
-------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | | | 4184| |
| 1 | SORT AGGREGATE | | 1 | 11 | | |
|* 2 | TABLE ACCESS INMEMORY FULL| BIG_TABLE_SORTED | 904K| 9714K| 4184
-------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - inmemory("OWNER"='SCOTT')
filter("OWNER"='SCOTT')
20 rows selected.
SQL>
SQL> select t1.name, t2.value
2 from v$sysstat t1,
3 v$mystat t2
4 where t1.name like 'IM%'
5 and t1.statistic# = t2.statistic#
6 and t1.name in ('IM scan CUs columns accessed', 'IM scan CUs pruned', 'IM scan segments minmax eligible');
NAME VALUE
---------------------------------------------------------------- ----------
IM scan CUs columns accessed 2
IM scan CUs pruned 44
IM scan segments minmax eligible 45