A slight modification to the Jaun query to include members from v $ log, as indicated, and this is likely to be the most accurate since it includes controle file information, which is part of the total database size.
select a.data_size+b.temp_size+c.redo_size+d.controlfile_size "total_size in GB" from ( select sum(bytes)/1024/1024/1024 data_size from dba_data_files) a, ( select nvl(sum(bytes),0)/1024/1024/1024 temp_size from dba_temp_files ) b, ( select sum(bytes*members)/1024/1024/1024 redo_size from sys.v_$log ) c, ( select sum(BLOCK_SIZE*FILE_SIZE_BLKS)/1024/1024/1024 controlfile_size from v$controlfile) d
source share