The 2nd of January is not a public holiday in Germany. Since it is a Saturday, most shops should be open with their Saturday opening hours. For some local shops, this may mean that they close relatively early.
Having said that, some shops may be closed anyway "for holidays". Also, the beginning of the year is a classical time for making an inventory. Some shops close for that as doing a rolling inventory is a bit complicated. In both casesSo if you plan to visit some shop on the 2nd of January, you may want to call them in advance in order to ask ifverify that they will be open on the 2nd of January to verify thisthat day.g