Oracle Database Block Size One of our Production database has a rather peculiar block size of 16KB. This database was created about 2 years ago and at that time the size of the db was approx 1TB only.However over the past 2 years the db size has grown to approx 5TB.

The workload is a mix of OLTP (transaction) as well as OLAP (reporting).

This db block size is causing our DB Buffer Pool to be constantly filled up (95%~100% full).The db uses ASM on Raw Devices.

Is the 16KB db block size sub-optimal?Can this large block size be adversely impacting our storage sub-system performance?If so what can be done to remedy the situation?

Noteworthy here is that we do in fact perform huge full table scan for reporting as well as for our application (business logic).The OLTP nature stems from the fact that our application also has transactional (financial transaction) module.
This db block size is causing our DB Buffer Pool to be constantly
  filled up (95%~100% full)


Your DB Buffer Pool should always be full unless you have recently restarted your server - Oracle will not purge blocks from the cache unless it has to in order to make room for other blocks. 

This in itself is not an indication that changing the block size will improve anything. You need to know more about the cache misses. 

If the OLTP side of your workload can query any part of your 5TB data, optimizing the buffer pool a little for it will probably not make much difference (but may unnecessarily slow down your big sequential scans that it was presumably optimized for)

On the other hand, if there is a small subset of the data hit regularly, and cache misses for the OLTP workloads can be substantially reduced by reducing the block size (which will depend on whether the reads are really scattered across blocks or not), then perhaps the benefits would be significant.

In the end you will have to test and find out :)