Orthogonal frequency division multiplexing passive optical network (OFDM-PON) has been considered a promising access solution to meet the variable bandwidth demand. In this paper, a novel scheduling for dynamic bandwidth allocation (DBA) at medium access control (MAC) layer is proposed for uplink transmission of OFDM-PON. In order to utilize the bandwidth efficiently, scheduling in four dimensions is adopted in the proposed DBA algorithm. Four dimensions stand for frequency domains, time domains, modulation formats and power allocations. The algorithm is quite flexible. Simulation results and analysis show that the proposed algorithm can efficiently utilize the OFDM bandwidth and make the system highly energy-efficient.