In order to clear the cache tables data, i would suggest you to reach the GCS team so that they can provide you the specific queries related to your version. The server restart is not mandatory for all the scenarios and it depends on the type of your scenario.
For example, if you had installed any hotfix which has the prerequisite to clear the extractmarker file in order to clear the Lockup List Cache(PegaTempDir) then you need to perform the restart of the JVM in this scenario.
Truncating cache tables is not something that should be done as part of a standard operating procedure. The main advantage of Caching is to reuse already assembled rules rather than querying out tables and assembling every time they are called. This reduces the time to assemble rules or perform same action again and again. This will improve performance.
The cache will be deleted automatically based on the cache limit set in the DSS or prconfig.
There are Pega OOTB agents like PurgeAssemblyDatabaseCache to purge cache based on the time interval.
However, there are some scenarios where cache needs to be cleared manually like new rules added or modified and are not referenced due to cache or scenarios like RuleNotFoundExceptions are appearing in logs even if the rules are present.