You got to fight for your right to … setup tracing
Based on revision 41 of SAP HANA Studio and Database |
Dear HANA database tribe,
I know the title of this is cheesy but the topic is actually so not exciting that I had to come up with something to draw your short attention span over
I’ve been asked a couple of times what roles or rights or permissions or privileges (I simply mention these synonyms to make sure this blog post will be found by whatever search terms) are required to allow setting up traces in SAP HANA.
When you start the Administration perspective with your vanilla DBA/MONITORING user and switch to the the Trace configuration tab you may get pretty disappointed as you face this screen:
Irritated and annoyed we figure out that we’re actually not allowed to change any of the trace settings and specifically not the performance trace that might be most interesting to many.
The reason for this is that the usage of these trace settings are governed by some system privileges.
So in order to allow changes to these settings we need to pimp up our DBA/MONITORING user by granting some of these system privileges:
Out of all the available system privileges TRACE ADMIN suspiciously sounds like the one we’re looking for right now.
Let’s give it a go, grant the privilege and close & reopen the Administration perspective so that the current user privileges get re-evaluated.
What we see now should be similar to this:
OKAY – we got the Performance Trace unlocked and the Kernel Profiler (anybody ever used this one so far?), so that’s not too bad.
But why the heck are the other trace options still blocked?
The answer is simple but leaves the impression of a bit inconsistent permission approach to the tracing options.
For the other traces, the current settings are setup by HANA parameters.
In order to change e.g. the Database Trace settings I need to modify the relevant database parameters!
Therefore (and now it should make sense again) the required system privilege for these tracing options is the INIFILE ADMIN privilege.
Switching back to the trace settings (don’t skip the close & reopen part!) sure enough now provides us with all the tracing options we ever dreamed but not dared to ask for *cough*:
Beautiful and amazing, isn’t it?
(I believer I never put so many checkmarks in onto a single screenshot – so this could easily be my most positive one ever 😉 ).
That’s all folks!
Cheers,
Lars
cool, informative article Lars
and great title!
Thanks Barry!
Hi Lars,
excellent blog thank you.
Andy.
Thanks Andy!
Hi Lars,
How to activate trace from OS level....??
Hi Harikiran,
what exactly do you mean by that?
The traces are kind of "self-traces", that is, HANA simply writes out additional information, when a trace is activated.
It's not something like strace or dtrace where you can get data from operating system interfaces.
Therefore, there is no additional "os level" command to activate traces.
In general, HANA is built so that you can do everything you need to do via HANA studio.
- Lars
Hi Lars,
In MAXDB we used to do trace related activities from putty using dbmcli –U c trace_on default , dbmcli –U c trace_flush , ...
As many of the MAXDB features and similarities are in for HANA , I had this doubt.....:-)
Well, technically speaking, also dbmcli is not OS level.
It's just another client for the MaxDB (dbm-server) that is able to tell MaxDB to write out the traces.
So it's in fact pretty similar.
To be complete - also on MaxDB nobody was forced to use the DBMCLI just to setup tracing (which was close to useless, since it was barely readable for the non-core-MaxDB-developer).
Ever since DBMGUI and later MaxDB Database Studio you could always setup the tracing conveniently via the GUI (even via DBACOCKPIT/LC10/DB50).
- Lars