Database, SQL and PL/SQL

Is extremely big or low date, indicating infinity safe in SQL?

This is a question I’ll try to answer here. Quite frequently it happens to face SQL code, where extremum dates take place. From a first glance it look OK to use like to_date(‘3000.01.01′,’YYYY.MM.DD’)) for indicating infinity, something that lasts forever. Nobody could bet that no one of our developed nice IT system will even exist at such time point ūüôā…

Continue Reading

ADF, Database, SQL and PL/SQL

ADF method for calling DB procedures, executing other SQL statements with input and output parameters

How to call DB procedure with input and output parameters. Here I provide an example of ADF method which can be used with any number of in/pout parameters used in any order: ¬† ¬† public void runStatement(String stt, boolean commit, ArrayList<Map<String, Object>> pars) { ¬† ¬† ¬† ¬†¬† ¬† ¬† ¬† ¬† CallableStatement st = this.getDBTransaction().createCallableStatement((stt), 0); ¬† ¬† ¬†…

Continue Reading


How to create XMLIndex? When its worth to use it?

How to create XML index? Very general way with all default applied as follows: create index index_name on table_name (xmltype_column) indextype is xdb.xmlindex; Check the name of PATH table select path_table_name from user_xml_indexes ¬†where table_name = ‘table_name’ and index_name = ‘index_name’;¬† Check what secondary indexes are used select c.index_name, c.column_name, c.column_position, e.column_expression ¬† from user_ind_columns c left outer join user_ind_expressions…

Continue Reading

Database, Logging, SQL and PL/SQL

How to enable tracing in Oracle DB? How to read trace files?

There are many ways to enable tracing in Oracle DB, some are legacy and deprecated. One of latest and recommended method for 11gR2 – use of DBMS_MONITOR (find out more about it in Oracle reference) package. To enable whole instance tracing: execute dbms_monitor.database_trace_enable(waits => true, binds => true,¬† instance_name => ‘instance_name’); To disable whole instance tracing: ¬†execute dbms_monitor.database_trace_disable(instance_name => ‘instance_name’);…

Continue Reading