• 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

  • AUSOUG session February 2013

    Thanks to everyone that came along. The slides can be found here Read more

  • Lob CACHE vs NOCACHE – impact on flashback logging

    I was doing some work for a client, and LOB processing seemed incredibly slow. After some poking around, it appears that LOB processing is quite sensitive when it comes to flashback mode in the database. Test bench is a simple table with three clobs. 4kb will be insert into each clob in 5000 individual inserts.… Read more

  • Off to Norway !

    In April I’m off to that famous conference that so many speak about with affection… The conference on a cruise ship ! There’s a great line up of speakers – if you get a chance, please come along. http://www.ougn.no/vrseminar-2013 Read more

  • EXCHANGE PARTITION those pesky columns

    Here is my partitioned table SQL> desc PAR Name Null? Type —————————– ——– ———— X NUMBER(38) Y NUMBER(38) and it has a couple of partitions SQL> select partition_name 2 from dba_tab_partitions 3 where table_name = ‘PAR’; PARTITION_NAME —————————— P1 P2 So now I want to do the standard operation of creating a ‘template’ table which… Read more

  • Why can’t I resize my datafile

    We’ve all done that common administrative task of: – find the HWM in a datafile – resize the datafile down to that mark. But sometimes, you might get what appears to be a problem: Here’s a tablespace I created a while back… SQL> create tablespace DEMO 2 datafile ‘C:\ORACLE\ORADATA\DB112\DATAFILE\DEMO.DBF’ size 100m 3 extent management local… Read more