The Waves generator function is great in rendering heightmaps (Image 1) for animated water textures. Use the Shader to combine the heightmap with a reflection and a refraction texture to get the water effect (Image 2 and Image 3).

Octaves controls the number of wave layers. Increase this value to add smaller waves. The valence between larger and smaller waves is regulated by the Persistence parameter. By adding to the Resolution value, you can reduce the overall size of the waves.

The amplitude of the waves is controlled with the Amplify value.

Change the Random Seed value to get different wave arrangements. Increasing the Time Offset parameter makes the waves moving individually in random directions. Disable Auto Change Seed if you are going to render animated textures.