Search

Top 60 Oracle Blogs

Recent comments

November 2012

Row Level Security Part 2 – permissions

<..Part 1, introduction..
..Part 3 summary in pictures..>

In this second post on the topic of “an introduction to Row Level Security” I want to cover a few things about what permissions you need to implement RLS and some of the consequences. In my introduction in part one I just said my main user has “DBA type Privileges”.

{NB This is all on Oracle V11.2 and I believe everything below is applicable to V10 as well. Also, I should point out that I am not an Oracle security expert – but despite repeatedly saying this, it seems like at least once a year I am asked to improve a system’s security on the grounds of “more than we have now is an improvement”}.

One of those days…

I’m feeling tired and incredibly aggressive today. It’s just been one of those days.

  • I slept even worse than usual last night.
  • I got to the gym and I’d forgotten my trainers.
  • My Mo is pissing me off. If I didn’t have sponsorship it would be gone now!
  • My Tuesday talk has been cancelled because the room wasn’t available.

Rather than stab some people in the face, I’ve taken a half-day off work and I’m going to read in the bath for a few hours, then go to bed and try and forget today ever existed.

Cheers

Tim…

Update: Now my microwave has just produced a mini lightning storm and died. What a day!

Plan timing

I’ve copied the following question up from a recent comment because it’s a useful generic type of question, and I think I can answer it in the few minutes I have to spare.

Hi Jonathan. I have a query plan where I cannot explain how time adds up. I did the ALTER SESSION trick but it changed nothing. I ran this, and got the following plan. I have two questions (I appoligize for not being able to format this code and plan but I saw not formatting buttons on the insert box).

1) @ step #8 in the plan, the query jumps to 3 and 1/2 minutes. This step says VIEW but gives no indication of what it did that actually took 3 and 1/2 minutes. Can you explain or give me some idea how to find out what is being done on this line that takes that long. Especially with so few rows.

DOAG 2012 Conference

This is just a friendly reminder that I'll be talking at this year's DOAG Oracle conference about "Cost-Based Optimizer Basics" on Thursday, the 22nd of November, "Raum 1" at 13:00.

Additionally, I've reserved a slot at the "Unconference" (15:00 the same day) where I plan to present some of the interesting stuff that I cover as part of my "Parallel Execution Masterclass".

And soon the technical content will be back at this blog where I have lots of interesting stuff in the pipeline, mainly covering Parallel Execution topics.

The Twilight Saga: Breaking Dawn – Part 2…

All completely crap stories must come to an end, and so we come to the last in the massive pile of toilet that is The Twilight Saga:

Presentations at Philadelphia Area Oracle User Group 2012

Thank you all those who came to my sessions at PHLOUG in November. You can download the presentations and the demo scripts I used here.

Forum Spam…

My Forum is being hit really hard by the spammers again. It seems to happen for a few days every month, then they get bored and move on. To give myself a break from constantly deleting spam I’ve turned off new member sign up for a while. Existing member can carry on posting, but at the moment no new members will be allowed. I’m guessing very soon they’ll get the message and jog on.

I’m feeling very uncharitable at the moment. Thinking that the death penalty for spammers seems kinda reasonable…

Cheers

Tim…

IOT’s and a nasty bite on TEMP

Recently, I was creating an IOT from an existing table via, and wanted to achieve it without logging.

You cannot do this in two steps (ie, create table, followed by insert-append) because it will still be logged (see the addenda at the end of this post)

So you need to do it with a CTAS, for example:

create table MY_IOT
(…)
tablespace MY_DATA
organization index
nologging
as select * from ANOTHER_IOT order by ANOTHER_COL;

In my case, I opted for the “order by ANOTHER_COL” because this yielded an execution plan of INDEX FULL SCAN (not FFS) on ANOTHER_IOT, with no sort operation.  This sounded like a good thing to do, because this table was around a terabyte in size and I’d rather not be sorting that Smile 

Using Two Temporary Tablespaces in PeopleSoft

A longer version of this posting, with all necessary code and a demonstration test, is available as a technical note on the Go-Faster website.  I am working with two different PeopleSoft customers who have had challenges with the size of the temporary tablespaces.  Critical batch processes have failed because they have exhausted space in the temporary tablespace.
#eeeeee; border: 0px solid #000000; font-family: courier new; font-size: 85%; overflow: auto; padding-left: 4px; padding-right: 4px; width: 95%;">ORA-01652 unable to extend temporary segment...

Using Two Temporary Tablespaces in PeopleSoft

A longer version of this posting, with all necessary code and a demonstration test, is available as a technical note on the Go-Faster website.  I am working with two different PeopleSoft customers who have had challenges with the size of the temporary tablespaces.  Critical batch processes have failed because they have exhausted space in the temporary tablespace.
#eeeeee; border: 0px solid #000000; font-family: courier new; font-size: 85%; overflow: auto; padding-left: 4px; padding-right: 4px; width: 95%;">ORA-01652 unable to extend temporary segment...