Tag: dba

11g PX tracefiles now have the tracefile identifier on them

Now that I’ve got 11g up and running on OpenSuse 10.2 on a VMWare 6 VM, I’ve had time to do some playing with the latest and greatest release and the first thing I’ve noticed, when running some of Doug’s PX test scripts, is that the trace files generated for PX slaves now have the Tracefile Identifier appended to their name, making it easier to see which OS Process (PID) was responsible for the creation of the trace file – makes things a little easier and clearer.

In 10gR2 (10.2.0.2.0 specifically) the trace files would come out with names in this format:

__.trc

e.g. fred_p001_6789.trc

In 11gR1 (11.1.0.6.0 specifically) the trace files come out with names in this format:
levitra no prescription http://www.devensec.com/sustain/indicators/2012_Sustainability_Progress_Report_Final.pdf You experience fatigue easily and have little drive for physical activities. Are you feeling difficulty in enjoying your sex life to avoid relationship levitra samples free problems and get well along with each other. on cialis line Peptides are amino acids that have been bonded together to form a small protein. Establishing care through http://www.devensec.com/news/Devens_Tick_Fact_Sheet_May_2018.pdf cialis sale a chiropractor is beneficial on many levels.
___.trc

e.g. fred_p001_5678_jeff.trc

This assumes you’ve set the tracefile identifier in the first place, otherwise that bit won’t be present. Use the following to set it, choosing whatever identifier you require of course:

alter session set tracefile_identifier='jeff';

It was interesting that the location of such files has also changed due to the implementation of Automatic Diagnostic Repository (ADR). More information on that here.

DBA_SEGMENTS misleading PARTITION_NAME column

Whilst writing some code that referenced the DBA_SEGMENTS dictionary view today, I realised that the contents of the PARTITION_NAME column actually contains the name of the subpartition when the table is a subpartitioned table…a script and results to illustrate:

drop table jeff_unpartitioned purge
/
drop table jeff_partitioned purge
/
drop table jeff_subpartitioned purge
/
create table jeff_unpartitioned(col1 number,col2 number)
/
create table jeff_partitioned(col1 number,col2 number)
partition by range(col1)
(partition p1 values less than(100)
,partition p2 values less than(maxvalue)
)
/
create table jeff_subpartitioned(col1 number,col2 number)
partition by range(col1)
subpartition by list(col2)
subpartition template
(subpartition sub1 values(1)
,subpartition sub2 values(2)
)
(partition p1 values less than(100)
,partition p2 values less than(maxvalue)
)
/
select segment_name,partition_name,segment_type
from   user_segments
where  segment_name like 'JEFF%'
order by segment_name
/

 

…gives the following results…

Table dropped.

Table dropped.


They're too busy winning Pulitzer Prizes to be bothered of, as they are buy viagra australia  not serious. Motor vehicle accident cialis brand  along with sports incidents tend to be the most prevalent cause of whiplash. Keep  viagra prescription australia the parent informed about the development of the child. Simply looking at an advertisement in buy cialis levitra  a newspaper or Yellow Pages won't get you the best erectile dysfunction pill at lower prices. Table dropped.


Table created.


Table created.


Table created.


                        Partition
SEGMENT_NAME             Name                 SEGMENT_TYPE
------------------------ ------------------
JEFF_PARTITIONED         P2                   TABLE PARTITION
JEFF_PARTITIONED         P1                   TABLE PARTITION
JEFF_SUBPARTITIONED      P1_SUB1              TABLE SUBPARTITION
JEFF_SUBPARTITIONED      P2_SUB2              TABLE SUBPARTITION
JEFF_SUBPARTITIONED      P1_SUB2              TABLE SUBPARTITION
JEFF_SUBPARTITIONED      P2_SUB1              TABLE SUBPARTITION
JEFF_UNPARTITIONED                            TABLE

7 rows selected.

 

As you can see, the subpartitioned table shows the subpartition name in the PARTITION_NAME column. It’s not a big deal and I only noticed because I assumed there would be a SUBPARTITION_NAME column whilst I was writing my code…the failure in compilation led me to track this slightly erroneous situation down.

 

Why does this occur?

 

Well, if you delve into the code behind DBA_SEGMENTS you’ll see it refers to another view in the SYS schema called SYS_DBA_SEGS. The SQL behind SYS_DBA_SEGS selects all levels (Table, Partition and subpartitions) from the SYS.OBJ$ view, but then “loses” the partitions when joining to SYS.SYS_OBJECTS (the OBJ# from SYS.OBJ$ does not map to any row in SYS.SYS_OBJECTS via the OBJECT_ID column). The SQL then “loses” the table when joining to SYS.SEG$ – exactly why it does this I don’t fully understand, but I’m guessing it’s because those components of the composite object don’t actually have their own segment to physically store anything in since there are lower levels – in this case the subpartitions.

 

In any event, it’s a little bit of a gotcha and the column could probably do with being renamed to SUB_SEGMENT_NAME perhaps.

RDA gotcha with large number of files/tablespaces

I’ve talked before about the granularity of tables/partitions to tablespaces to datafiles being an important decision in building a data warehouse with pros and cons for each end of the spectrum – something I came across the other day was a small hindrance for the high granularity (i.e. lots of datafiles/tablespaces) approach. Mark Rittman had mentioned Keith Laker and his request for some metrics on customers with data warehouse here.

I asked our DBA team if they would run the script and we could consider (corporate policy permitting) sending the output to Keith at Oracle. Our DBA were reasonably familiar with at least some of the process having run the Remote Diagnostic Agent (RDA) previously for other Oracle Support reasons.

After running the RDA though we looked through some of the HTML output produced and discovered that 2 of the queries had timed out waiting for their results – the ones streaming out the details for files and tablespaces…aha! After a bit of tweaking by DBA Phil he got it to work by changing the SQL_TIMEOUT variable in the setup.cfg file generated from the setup run. Most likely, men suffering from erectile dysfunction (ED) have tried prescription medications as well as Tongkat Ali. viagra online in india It has been commenced to take one pill in a day ordering levitra might found fatal for the health. Depending on the diagnosis results from cialis for sale cheap your doctor, the outright treatment options will be prescribed. Besides, there are also ladies who lack the feeling of sensuality this can happen as the outcome of some enzymatic alteration of body or strict sex education.Kamagra is good remedy for all above illustrated problems. tadalafil soft you could check here Originally set at 30 seconds he changed it to 2400 seconds and reran for our production instance and everything came out as expected.

Thanks to Phil on that one – just a little gotcha for databases with many files/tablespaces. I guess though, that it might apply to other databases where there are lots of anything that gets queried by the RDA, e.g. database objects or users.