-
Even on an ocean liner…
…. Perth still looks good 🙂 Read more
-
A little quiz on tkprof
I found this in a trace file recently INSERT INTO T (X) VALUES(:B1) call count cpu elapsed disk query current rows ——- —— ——– ———- ———- ———- ———- ———- Parse 15 0.00 0.00 0 0 0 0 Execute 15 0.00 0.00 0 4 44 2 Fetch 0 0.00 0.00 0 0 0 0 ——- —— Read more
-
can you lock part of a table ?
I should stress that this is all well covered in the documentation, but it was something I stumbled upon just recently. Its common knowledge that you can lock a table: SQL> create table T 2 ( x int ) 3 partition by range ( x ) 4 ( 5 partition p1 values less than (10), Read more
-
hash keys … almost unique
In the Oracle documentation, the specification for ORA_HASH is: The optional max_bucket argument determines the maximum bucket value returned by the hash function. You can specify any value between 0 and 4294967295. The default is 4294967295. So when I had a set of attributes come in, and I was looking for a simple way of Read more
-
Datatype discipline
(This is based on some ‘issues’ a client was having, so the example is architected to make a particular point, but is relevant nonetheless) In the distributed database world, we often have different names for the same piece of information. Consider two tables which hold customer information. In one table, they called the customer key Read more
-
Default null for collection parameter
I’ve got an existing package called DEMO as below SQL> create or replace package demo is 2 — used to pass list of numbers 3 TYPE t_num_list IS TABLE OF NUMBER INDEX BY BINARY_INTEGER; 4 5 PROCEDURE p( 6 p_list1 IN t_num_list 7 ); 8 end; 9 / Package created. but what I’d like to Read more
-
Long overdue…
The OTN forums, which should be a plethora of knowledge and learning, were always hampered by the hideous interface. But, changes are coming. It will be interesting to see what transpires https://wikis.oracle.com/display/Forums/OTN+Forums+Migration+and+Upgrade Read more
-
Its not about the outage
My Oracle Support had a fairly lengthy outage today right in the middle of the Australian business day. But I’m not going to blog about that. One thing I’ve learnt from many client sites is that people will understand and forgive things like outages, or errors, or crashes, or just plain wrong software, as long Read more
-
OUGN Norway Conference
The OUGN conference (held on a cruise ship) was an awesome experience and so professionally run by the committee. I recommend it to anyone. The slides from my talks can be found here Read more
-
Norway bound
The OUGN user conference (on a cruise ship!) starts next week and I’m presenting there. From all reports, this is an awesome conference. Full agenda is here: http://www.ougn.no/vrseminar-2013 Read more
-
ORA_HASH and LOBs …. not nice partners
Consider the following simple setup SQL> create table t ( x int, b blob ); Table created. SQL> declare 2 bin blob; 3 begin 4 insert into t values (1, empty_blob()) 5 returning b into bin; 6 7 dbms_lob.writeappend(bin,10000,utl_raw.cast_to_raw(rpad(‘x’,10000,’x’))); 8 commit; 9 end; 10 / PL/SQL procedure successfully completed. SQL> select ora_hash(b) from t; ORA_HASH(B) Read more
-
MERGE – concise syntax but not always fastest
A long time ago … a long long time ago (http://www.oracledba.co.uk/tips/merge_speed.htm) I wrote that MERGE works best over update and insert. This still holds true, but its also apparent that MERGE seems to be optimized for larger sets of rows. When you take it down to single row operations, then don’t be SO hasty to Read more