Updating all the rows in a table can take a long time. Here are some options to consider:
Parallel DML
Use in-built database parallelism to run the update in parallel
dbms_redefinition.execute_update
This is an optimized, online version of UPDATE; just paste in your update statement
Create-table-as-select
Use create table to "update" the data:
create table tmp as
select .., ntile(N) over (...) bucket.
from ...
You can use dbms_redefinition to do this online; see
https://connor-mcdonald.com/2016/11/16/performing-a-large-correlated-update/ DBMS_parallel_execute
Use this to split the rows into equal-sized chunks and do the updates in parallel.