1/SO exception
oracle SO exception is to do with parsing tnsnames.ora and sqlnet.ora, jdbc:oracle:thin:@host:1521:databasesid bypasses these files
2/SQLTRACE for debugging eg finding ora messages for unhandled exceptions:
in sqlnet.ora TRACE_UNIQUE_CLIENT=true #ie have a seperate trace file for each session TRACE_LEVEL_CLIENT = 16 #16 is the highest trace level (biggest trace files) 0 - lowest TRACE_DIRECTORY_CLIENT = d:/totierne/admin/dump #where to put the trace file not that you can also trace on the server side ... #trace on the server side by replacing CLIENT with SERVER excerpt from trace file of sqlplus session select notthere from nottable: .. .. nspsend:54 2F CC 01 00 00 00 00 |T/......| nspsend:01 00 00 00 00 00 00 00 |........| nspsend:00 00 00 00 00 00 00 00 |........| nspsend:00 00 00 00 00 00 00 00 |........| nspsend:00 00 00 00 00 00 00 00 |........| nspsend:56 2F CC 01 73 65 6C 65 |V/..sele| nspsend:63 74 20 6E 6F 74 74 68 |ct notth| nspsend:65 72 65 20 66 72 6F 6D |ere from| nspsend:20 6E 6F 74 74 61 62 6C | nottabl| nspsend:65 0A 01 00 00 00 00 00 |e.......| nspsend:00 00 00 00 00 00 00 00 |........| .. .. nsprecv:00 00 00 00 28 4F 52 41 |....(ORA| nsprecv:2D 30 30 39 34 32 3A 20 |-00942: | nsprecv:74 61 62 6C 65 20 6F 72 |table or| nsprecv:20 76 69 65 77 20 64 6F | view do| nsprecv:65 73 20 6E 6F 74 20 65 |es not e| nsprecv:78 69 73 74 0A 00 00 00 |xist....| nsprecv: normal exit nsrdr: got NSPTDA packet nsrdr: NSPTDA flags: 0x03/Lots more tips and suggestions: linux top commands: man and strace, useful tools include cygwin on windows, bash [and sed], emacs, java, linux, google. I should have a seperate page for each if I get a few hits I just might.
4/I am always interested in simple tools and methods that make [my] life easier
email me about the simple blindingly obvious modes of working that work for you. totierne at hotN_O_S_P_A_Mmail.com
e.g. a command line time stamped log using cygwin/bash on windows simple but useful, called tk.sh run by bash c:\tk.sh writes to e:/totierne/mylog
tail -10 e:/totierne/mylog if test "m$*" = "m" then while read line do if test "$line" = "q" then exit else echo `date '+%d/%m/%y %k:%M:%S '` "$line" >> e:/totierne/mylog fi done else echo `date '+%d/%m/%y %k:%M:%S '` "$*" >> e:/totierne/mylog fi