Search

Top 60 Oracle Blogs

Recent comments

April 2011

無線メッシュで大量画像を取り込む

無線メッシュルータを複数設定して、動画を撮りまくる:
右奥に見えるのが親機です。
左側についている少し細いアンテナが2.4GHz対応のもの。右側の太いのが5GHzです。通常は2.4GHzで使うのですが、屋内で使用するという前提で、干渉の少ない5GHzも付けました。2.4GHzだけだと、外とぶつかってしまいます。
IT用語辞典 e-wordより

2.4GHz近辺の電波周波数帯で、日本では、10mW以下の出力であれば免許不要で利用できるよう開放されている領域。産業・科学・医学用の機器に用いられている周波数帯ということで、これらの頭文字をとって「ISMバンド」(Industry Science Medical band)とも呼ばれる。

Day One of Collaborate 11 - My Session

Thank you everyone who came to my session which got off with a rocky start due to a recording issue in the facilities. I was also the manager of the Manageability Bootcamp which ran the whole day. My sincere thanks to the speakers who spoke on the track. We had some of the best speakers and best topics.

If you want to get a copy of my session - Wait Events in RAC - you can download it here. Three more sessions and two expert panels to go.

My next sessions

(1) RAC Customer Panel - 4/12 9:15 - 10:15
(2) HA Bootcamp Panel - 4/12 11:45 - 12:15
(3) RAC for Beginners - 4/13 8:00 - 9:00
(4) Secure your Database in a Single Day - 4/13 2:15-3:15
(5) Designing Applications for RAC - 4/14 8:30 - 9:30

I hope to see all there.

HOWTO: Partition Binary XML based on a Virtual Column

This one is long overdue. There is a partition example of binary xml on this website based on Range, Hash and List partitioning, but this is, seen from a XML view, a incorrect way to do it due to the fact that the partition column is a regular one and not a virtual column as described in the Oracle XMLDB Developers Guide for 11.2. The examples given in that ppost will partition the table on the ID column but does not partition the XML based on a value/element IN the XML document. The following will.

So here, a small example, of how it can be done based on a virtual column. Be aware that you should support these virtual columns with at least an index or XMLIndex structure for performance reasons.

#993333; font-weight: bold;">CREATE #993333; font-weight: bold;">TABLE binary_part_xml #993333; font-weight: bold;">OF XMLType
  XMLTYPE STORE #993333; font-weight: bold;">AS SECUREFILE #993333; font-weight: bold;">BINARY XML
  VIRTUAL #993333; font-weight: bold;">COLUMNS
  #66cc66;">(
    LISTING_TYPE #993333; font-weight: bold;">AS #66cc66;">(XMLCast#66cc66;">(XMLQuery#66cc66;">(#ff0000;">'/LISTING/@TYPE'
         PASSING OBJECT_VALUE RETURNING CONTENT#66cc66;">) #993333; font-weight: bold;">AS VARCHAR2#66cc66;">(#cc66cc;">100#66cc66;">)#66cc66;">)#66cc66;">)
  #66cc66;">)
  PARTITION #993333; font-weight: bold;">BY LIST #66cc66;">(LISTING_TYPE#66cc66;">)
  #66cc66;">(
    PARTITION health #993333; font-weight: bold;">VALUES #66cc66;">(#ff0000;">'Health'#66cc66;">)#66cc66;">,
    PARTITION law_firms #993333; font-weight: bold;">VALUES #66cc66;">(#ff0000;">'Law Firm'#66cc66;">)
  #66cc66;">);

M.

Julie Marie (Hall) Lloyd : 1962-2011

While I was at OOW2010 my sister Julie was diagnosed with skin cancer. Just after I got back to the UK some scans revealed it had spread to a number of places including her brain and stomach. She started a course of treatment and we were all hopeful, but we knew the odds were stacked against her. On Saturday 9th April she died at the age of 48.

When Julie was 11 a boy at school was annoying her. She took a swing at him, missed and punched the guy standing next to him. The guy she accidentally punched was called Mark. He became her boyfriend, then later her husband and now, after 37 years of being together, her widower.

Cheers

Tim…




On the Topic of Technology… 2

April 11, 2011 (Back to the Previous Post in the Series) (Forward to the Next Post in the Series) Roughly a year ago I wrote a blog article that described the process that I went through, wandering around a big chain electronics store in pursuit of an iPad.  I first wandered past the netbooks, and if that had not happened, I [...]

桜満開

週末、箱根に行ってきました。


左から、

A Busy Few Weeks

It's been a busy time over the past few weeks. I've given 3 different presentations at 3 conferences in as many weeks

First was the UKOUG Back to Basics event, which was the least effort because it was in Oracle's City Office, around the corner from the offices I'm working in at the moment. It was an old presentation, too, from UKOUG a couple of years ago, covering a few very high level thoughts to focus peoples initial performance analysis efforts. There's a limit to what you can achieve in 45 mins but hopefully I at least pointed people in the right directions with a few book recommendations. I also had an opportunity to hear Martin Widlake's very entertaining presentation on the mistakes we all make initially. That was about it, though, as I'd only taken half a day out of the office.

A week later, it was the short flight to Dublin for the OUG Ireland Conference at the Aviva Stadium (otherwise known as Lansdowne Road). I had forgotten that the Irish football team had a friendly against Uruguay that night, but fortunately I made it to my hotel just before the stadium was due to empty, otherwise I'm guessing the traffic would have been a pain.

I had really good fun at this event, from  arriving at a football stadium and noting all the usual queueing signs and bars but seeing them in the very different context of a geek conference, to catching up with Jonathan Lewis and Mogens Nørgaard (a concerned transporter of eggs, complete with loaned waitress blouse after the airline lost his luggage) to a keynote that wasn't as awful as most keynotes are. Jonathan's upgrade presentation was as interesting as always with the added note of personal interest that he discussed a customer problem he'd helped me with around improvements to partitioned index costing in 10.2.0.5

It was also the first time I'd met Paul Logan from Pythian face-to-face although I'd been unaware he had attended a remote webinar I'd done a few weeks earlier.

Despite having a couple of late and big scares before my presentation as my laptop crashed and I lost late slide updates, I think my presentation went ok in the end and I had some good feedback later. I'll put that down to SQL monitoring. It's easy to be passionate and slightly inspiring about such an excellent feature.

I definitely saved the best until last, though. When Truls Bergersen first asked me if I was interested in speaking at the OUGN Spring Conference on a boat from Oslo to Kiel, I leapt at the chance after my very positive experience last time I was on a boat for the Swedish/Finnish user group event. (Note to conference organisers - it's always very nice to be asked. A yes isn't guaranteed of course ;-))

When a conference is on a boat, it means

- Everyone sticks together for the duration, instead of maybe going home in the evenings or back to distant hotels
- Much better scenery
- Surprisingly excellent conference facilities
- Food I can (mostly) eat

Add the natural hospitality of the Scandinavian countries (based on my so far limited experience); great presentations from a great line-up of speakers (including several of Oracle's big guns); very passionate and interested attendees and it was my highlight conference of the year so far. Great speaker gift, too ...

Although I had to leave this guy dancing to Singing in the Rain because of the simple physical facts of Comfy Seat over-crowding.

I spent my last evening fishing for invitations for future years.

For a more considered view, see Magnus' review here. Very flattering, too ;-)

Which leaves no major conferences between now and Openworld, although I will probably do a couple of customer presentations based on the recent slides. I could use a break so I can focus on customer work.

Having said that, I am registered for todays UKOUG Exadata event so I might be able to make it to that depending how work is looking, oh, and there's this too! Not to be missed ;-)

Running SELECT … INTO :bind_variable from SQL

I just wasted a few minutes troubleshooting one of my scripts – and realized that while SELECT … INTO :bind_variable does not error out when executed as top-level SQL, it doesn’t seem to populate the resulting bind variable:
SQL> VAR blah VARCHAR2(10) SQL> SELECT dummy INTO :blah FROM dual; D - X SQL> print blah BLAH --------------------------------  
See, the bind variable is empty…
Now, let’s run the same statement via PL/SQL engine:

Running SELECT … INTO :bind_variable from SQL

I just wasted a few minutes troubleshooting one of my scripts – and realized that while SELECT … INTO :bind_variable does not error out when executed as top-level SQL, it doesn’t seem to populate the resulting bind variable:
SQL> VAR blah VARCHAR2(10) SQL> SELECT dummy INTO :blah FROM dual; D - X SQL> print blah BLAH --------------------------------  
See, the bind variable is empty…
Now, let’s run the same statement via PL/SQL engine:

Running SELECT … INTO :bind_variable from SQL

I just wasted a few minutes troubleshooting one of my scripts – and realized that while SELECT … INTO :bind_variable does not error out when executed as top-level SQL, it doesn’t seem to populate the resulting bind variable:

SQL> VAR blah VARCHAR2(10)
SQL> SELECT dummy INTO :blah FROM dual;

D
-
X

SQL> print blah

BLAH
--------------------------------

 
See, the bind variable is empty…
Now, let’s run the same statement via PL/SQL engine:
 

SQL> EXEC SELECT dummy INTO :blah FROM dual;

PL/SQL procedure successfully completed.

SQL> print blah

BLAH
--------------------------------
X

 

…and it works…