Search

OakieTags

Who's online

There are currently 0 users and 27 guests online.

Recent comments

Affiliations

Oakies Blog Aggregator

OOW14 Session: RAC'fying Multitenant

Thank you for attending my session RAC'fying Multitenant at Oracle Open World 2014. You can download the slide deck here.

[Updated] Oct 4th, 2014: The article on multitenant I wrote for OTN is available here. http://www.oracle.com/technetwork/articles/database/multitenant-part1-pdbs-2193987.html. This article shows various commands I referenced in my session, e.g. point in time recovery of PDBs.

As always I would love to hear from you.

Index Compression Part V: 12c Advanced Index Compression (Little Wonder)

I’ve finally managed to find some free time in the evening to write a new blog piece :) This will have to be the record for the longest time between parts in a series, having written Part IV of this Index Compression series way way back in February 2008 !! Here are the links to the previous articles […]

Site Hosting Update : The Proxy Wars

This site hosting thing really is the gift that keeps giving. :)

I wrote a little over a week ago about an outstanding issue with the website, which seemed to be related to people’s company proxy servers, rather than my web server. While I was staying at the Sofitel, I started to get the issue where the HTTP address for my website was giving me the following error.

Forbidden
You don’t have permission to access / on this server.

By the time I was in a position to look at it, I had already moved to the Hilton, which did not exhibit the same problem. After Googling around and discounting the obvious stuff, like missing pages, bad configuration and file/directory permission issues, I came across a reference to some proxy servers (including Squid) producing the same error because they use HTTP 1.0 rather than HTTP 1.1. A suggestion to solve this was to set the following in the “/etc/httpd/conf/httpd.conf” file.

SetEnv force-response-1.0

If a HTTP 1.0 request is sent to Apache, this setting will make sure a HTTP 1.0 response is sent back. Any HTTP 1.1 requests are dealt with in the normal fashion. It sounded like it was worth a try, but I had no way to test the impact. That is until Eric Grancher contacted me to say his hotel had the same issue. I added the setting and asked him to check again. Problem solved…

So I think/hope that issue is solved now… :)

Cheers

Tim…


Site Hosting Update : The Proxy Wars was first posted on October 2, 2014 at 4:44 am.
©2012 "The ORACLE-BASE Blog". Use of this feed is for personal non-commercial use only. If you are not reading this article in your feed reader, then the site is guilty of copyright infringement.

Oracle OpenWorld 2014 : Wednesday

Another early start on Wednesday. I headed down to meet the Dbvisit gang for breakfast. FYI: I’m not paid to keep mentioning them and I don’t work for them. They are just a great group of people who I really like, so when I get a chance to meet up with them I do. :)

From there it was on to Moscone where I bumped into Eric Yen. We’ve known each other for years on the interwebs, so it was nice to spend some face-to-face time. I also bumped into Daniel De Meda again. We chatted for a while the previous day, so when we met today we did a selfie. From there it was off to the demo grounds again, then I met up with Sve Gyurov for lunch.

IMG_20141001_123115

If you’ve ever met Sve, you will realise that I am on tiptoes and he is crouching when we took this shot, otherwise this would be a picture of my head and his chest. :)

After lunch I had a major attack of lethargy, so I headed back to the hotel for a rest, which I’ve just surfaced from at 20:00. :( I’m going to duck out of the evening events as well…

So this really marks the end of OpenWorld for me, because I leave tomorrow morning. It’s been a really strange one for me this year. I enjoyed the ACE Director Briefing and felt like I was coping really well, then I kind-of crashed once OOW actually started. What with being ill for the 3 weeks prior to the event, then having to deal with the jet lag, I really had no reserves to fall back on this year. I feel a bit disappointed with myself as it feels like a wasted opportunity, but you can only do so much…

I’ll write a wrap-up post about the whole event when I get back.

Cheers

Tim…


Oracle OpenWorld 2014 : Wednesday was first posted on October 2, 2014 at 4:15 am.
©2012 "The ORACLE-BASE Blog". Use of this feed is for personal non-commercial use only. If you are not reading this article in your feed reader, then the site is guilty of copyright infringement.

Oracle OpenWorld 2014 : Tuesday

Tuesday started early with 5 hours in the hotel lobby. The plan was to catch up on my blogging using the free wifi. I hadn’t blogged for a couple of days, which prompted an email from my mom to see if I was OK. :)

It took about 5 hours to complete two blog posts, because every 30 seconds someone new walked by and I was “forced” to speak to them. :)

That done, I headed down to Moscone South to check out the Dbvisit stand. I mentioned a few weeks ago that I had never tried a Twinkie, so Chris Lawless went to work correcting that state of affairs by bringing a box of Twinkies to their stand. You can see me trying my first Twinkie here!

I didn’t record me eating my second Twinkie. :)

From there is was a visit to the demo grounds again, then up to the OTN lounge to chat with a few people about the ACE Program, life the universe and everything. After a quick lunch with Vikki from the ACE Program, I hooked up with Steven Feuerstein to chat about his YesSQL initiative. Soon after that it was across to the ODTUG gathering briefly, before heading off to the SQL and PL/SQL Performance Panel, which featured Jagan Athreya, Dad (Graham Wood), Tom Kyte and Steven Feuerstein.

After popping back to the hotel to dump my bag, it was back down to Howard Street to the attend the evening festivities. I spent most of the evening with Doug Burns and one of his colleagues called Seamus. I even had a drink. Who’da think it?

Tiredness is still a big problem for me. The day is starting so early that I feel like the living dead most of the day.

Cheers

Tim…


Oracle OpenWorld 2014 : Tuesday was first posted on October 2, 2014 at 3:37 am.
©2012 "The ORACLE-BASE Blog". Use of this feed is for personal non-commercial use only. If you are not reading this article in your feed reader, then the site is guilty of copyright infringement.

Join me in a FREE live webcast about Real-Time Query!

On Thursday, 2nd October, 12:30 CET I will be doing a Live Webcast with many demonstrations about Data Guard Real-Time Query.

The shown features all work with 11g already.

Register here.

805-banner-dataguardrealtime-v1-2294812Addendum: The webcast was done already.

Tagged: Active Data Guard, Data Guard, OU Streams

Shrink Tablespace

In a comment on my previous post on shrinking tablespaces Jason Bucata and Karsten Spang both reported problems with small objects that didn’t move to the start of the tablespace. This behaviour is inevitable with dictionary managed tablespaces (regardless of the size of the object), but I don’t think it’s likely to happen with locally managed tablespaces if they’ve been defined with uniform extent sizes. Jason’s comment made me realise, though, that I’d overlooked a feature of system allocated tablespaces that made it much harder to move objects towards the start of file. I’ve created a little demo to illustrate the point.

I created a new tablespace as locally managed, ASSM, and auto-allocate, then created a few tables or various sizes. The following minimal SQL query reports the resulting extents in block_id order, adding in a “boundary_1m” column which subtracts 128 blocks (1MB) from the block_id, then divides by 128 and truncates to show which “User Megabyte” in the file the extent starts in.  (Older versions of Oracle typically have an 8 block space management header, recent versions expanded this from 64KB to 1MB – possibly as a little performance aid to Exadata).


select
        segment_name, block_id, blocks , trunc((block_id - 128)/128) boundary_1M
from
        dba_extents where owner = 'TEST_USER'
order by
        block_id
;

SEGMENT_NAME               BLOCK_ID     BLOCKS BOUNDARY_1M
------------------------ ---------- ---------- -----------
T1                              128       1024           0
T1                             1152       1024           8
T2                             2176       1024          16
T2                             3200       1024          24
T3                             4224          8          32
T4                             4232          8          32
T5                             4352        128          33

As you can see t3 and t4 are small tables – 1 extent of 64KB each – and t5, which I created after t4, starts on the next 1MB boundary. This is a feature of auto-allocate: not only are extents (nearly) fixed to a small number of possible extent sizes, the larger extents are restricted to starting on 1MB boundaries and the 64KB extents are used preferentially to fill in odd-sized” holes. To show the impact of this I’m going to drop table t1 (at the start of file) to make some space.


SEGMENT_NAME               BLOCK_ID     BLOCKS BOUNDARY_1M
------------------------ ---------- ---------- -----------
T2                             2176       1024          16
T2                             3200       1024          24
T3                             4224          8          32
T4                             4232          8          32
T5                             4352        128          33

Now I’ll move table t3 – hoping that it will move to the start of file and use up some of the space left by t1. However there’s a 1MB area (at boundary 32) which is partially used,  so t3 moves into that space rather than creating a new “partly used” megabyte.


SEGMENT_NAME               BLOCK_ID     BLOCKS BOUNDARY_1M
------------------------ ---------- ---------- -----------
T2                             2176       1024          16
T2                             3200       1024          24
T4                             4232          8          32
T3                             4240          8          32
T5                             4352        128          33

It’s a little messy trying to clear up the tiny fragments and make them do what you want. In this case you could, for example, create a dummy table with storage(initial 64K next 64K minextents 14) to use up all the space in the partly used megabyte, then move t3 – which should go to the start of file – then move table t4 – which should go into the first partly-used MB (i.e. start of file) rather than taking up the hole left by t3.

Even for a trivial example it’s messy – imagine how difficult it can get to cycle through building and dropping suitable dummy tables and move objects in the right order when you’ve got objects with several small extents scattered through the file, and objects with a mixture of small extents and large extents.

Oracle OpenWorld 2014 – Datatype context…?!

The native JSON database functionality presentations are done. If you want to experience first hand…

Slides from OakTableWorld and OpenWorld

Thanks to anyone that came along to my sessions at OpenWorld.

You can review the slides via the links below:

http://www.slideshare.net/hamcdc/oaktable-world-sep14-clonedb

http://www.slideshare.net/hamcdc/openworld-sep14-12c-fordevelopers