Skip navigation.

DBA Blogs

12c: Optimizer_Dynamic_Sampling = 11

Oracle in Action - Thu, 2014-09-25 04:31

RSS content

With default sampling level of 2 (from 10g onwards) , dynamic sampling is performed only for the objects for which statistics do not exist. If the statistics are stale or insufficient, dynamic  sampling is not done.

12c introduces a new value of 11 for OPTIMIZER_DYNAMIC_SAMPLING . This value allows the optimizer to automatically perform dynamic sampling using an appropriate level for a SQL statement, even if all basic table statistics exist but they are found to be stale or insufficient. The results of the dynamically sampled queries are persisted in the cache, as dynamic statistics, allowing other SQL statements to share these statistics. This level will no doubt generate a better plan during the first execution of the statement itself but will also lead to dynamic sampling being triggered more frequently and sometime unnecessarily as well.

This example demonstrates that if  OPTIMIZER_DYNAMIC_SAMPLING is set to  11, dynamic sampling will be performed even in case of stale or insufficient statistics. Moreover dynamic sampling  may be unnecessary triggered in some scenarios.

Insufficient Statistics 

I have created a table HR.BIRTHDAYS having 10000 rows whose column MM is indexed and contains numeric month of birth with NDV = 12. The data distribution in the column is skewed . Statistics have been gathered for the table without histogram.

DB12c>select mm, count(*) from hr.birthdays group by mm order by mm;

MM   COUNT(*)
---------- ----------
1       9989
2         1
3         1
4         1
5         1
6         1
7         1
8         1
9         1
10        1
11        1
12        1

12 rows selected.

If OPTIMIZER_DYNAMIC_SAMPLING were set to 2 (default), dynamic sampling will not be done, as statistics are present for the table. However, if the parameter is set to 11 (new in 12c), in view of skewed data distribution, existing statistics  are found to be insufficient (missing histogram) and  dynamic sampling is performed  leading to accurate cardinality estimates for both  MM = 1 which occurs 0.01% times and MM = 12 which occurs 99.89% times .

DB12c>alter session set optimizer_dynamic_sampling=11;
set autot trace explain

select * from hr.birthdays where mm = 12;

Execution Plan
----------------------------------------------------------
Plan hash value: 3569291752
-----------------------------------------------------------------------------
|Id |Operation                          |Name    |Rows|Bytes|Cost(%CPU)|Time|
-----------------------------------------------------------------------------
|  0|SELECT STATEMENT                    |         | 1 |  37| 2(0)| 00:00:01|
|  1| TABLE ACCESS BY INDEX ROWID BATCHED|BIRTHDAYS| 1 |  37| 2(0)| 00:00:01|
|* 2|  INDEX RANGE SCAN                  |BDAY_IDX | 1 |    | 1(0)| 00:00:01|
-----------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - access("MM"=12)

Note
-----
- dynamic statistics used: dynamic sampling (level=AUTO)

DB12c>select * from hr.birthdays where mm = 1;
set autot off

Execution Plan
----------------------------------------------------------
Plan hash value: 3605468880

-----------------------------------------------------------------------------
| Id  | Operation         | Name      | Rows  | Bytes | Cost (%CPU)| Time   |
-----------------------------------------------------------------------------
|   0 | SELECT STATEMENT  |           |  9989 |   360K|    17   (0)|00:00:01|
|*  1 |  TABLE ACCESS FULL| BIRTHDAYS |  9989 |   360K|    17   (0)|00:00:01|
-----------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
1 - filter("MM"=1)
Note
-----
- dynamic statistics used: dynamic sampling (level=AUTO)
Stale Statistics

Now to make the statistics stale, I have modified the data in the table and have not refreshed  statistics. Note that there are no rows for MM = 1 or 2, so that actual NDV = 10.
Although there are 8388 rows in table, dictionary statistics still shows NUM_ROWS = 10000 and NDV = 12

DB12c> select count(*), count(distinct mm) from hr.birthdays;

COUNT(*) COUNT(DISTINCTMM)
---------- -----------------
 8388                10

DB12c>select owner, table_name, num_rows
from dba_tables
where owner = 'HR'
and table_name = 'BIRTHDAYS';

OWNER   TABLE_NAME        NUM_ROWS
------- --------------- ----------
HR      BIRTHDAYS            10000

DB12c>select owner, table_name, column_name, num_distinct
from dba_tab_cols
where table_name= 'BIRTHDAYS' and column_name = 'MM';

OWNER   TABLE_NAME      COLUMN_NAME     NUM_DISTINCT
------- --------------- --------------- ------------
HR      BIRTHDAYS       MM                        12

If OPTIMIZER_DYNAMIC_SAMPLING = 2 (default),  dynamic sampling will not be done, as statistics (although stale) are present for the table.

With  OPTIMIZER_DYNAMIC_SAMPLING =11, since statistics are stale, dynamic sampling is performed  and almost correct no. of rows are estimated for both MM = 1 and 4

DB12c>alter session set optimizer_dynamic_sampling=11;
select /*+ gather_plan_statistics */ count(*)
from hr.birthdays where mm = 1;

select * from table(dbms_xplan.display_cursor(format => 'ALLSTATS LAST'));

PLAN_TABLE_OUTPUT
-----------------------------------------------------------------------------
SQL_ID  ghg0pr81m1ha3, child number 0
-------------------------------------
select /*+ gather_plan_statistics */ count(*) from hr.birthdays where
mm = 1

Plan hash value: 4218648105
-----------------------------------------------------------------------------
|Id  |Operation             |Name    |Starts|E-Rows|A-Rows|  A-Time| Buffers|
-----------------------------------------------------------------------------
|  0 |SELECT STATEMENT      |        |    1 |      |    1 |00:00:00.01|  40 |
|  1 | SORT AGGREGATE       |        |    1 |    1 |    1 |00:00:00.01|  40 |
|* 2 |  INDEX FAST FULL SCAN|BDAY_IDX|    1 |    1 |    0 |00:00:00.01|  40 |
-----------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - filter("MM"=1)
Note
-----
- dynamic statistics used: dynamic sampling (level=AUTO)

DB12c>select /*+ gather_plan_statistics */ count(*)
from hr.birthdays where mm = 4;

select * from table(dbms_xplan.display_cursor(format => 'ALLSTATS LAST'));

PLAN_TABLE_OUTPUT
-----------------------------------------------------------------------------SQL_ID  bhrdb027v2pnt, child number 0
-------------------------------------
select /*+ gather_plan_statistics */ count(*) from hr.birthdays where
mm = 4

Plan hash value: 3164848757
-----------------------------------------------------------------------------
|Id  |Operation         |Name    |Starts|E-Rows|A-Rows|  A-Time   | Buffers |
-----------------------------------------------------------------------------|  0 |SELECT STATEMENT  |        |    1 |      |    1 |00:00:00.0 |       5 |
|  1 | SORT AGGREGATE   |        |    1 |    1 |    1 |00:00:00.0 |       5 |
|* 2 |  INDEX RANGE SCAN|BDAY_IDX|    1 |  810810 |00:00:00.0 |       5 |
-----------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - access("MM"=4)

Note
-----
- dynamic statistics used: dynamic sampling (level=AUTO)  
 Unnecessary Sampling

To demonstrate unnecessary sampling due to sampling level = 11, I have created unique index on NAME column and deleted the statistics for the table.
A search for a NAME would not have triggered dynamic sampling with a  sampling level of  2  since there is a unique index on NAME column.
On the contrary, if  OPTIMIZER_DYNAMIC_SAMPLING =11, dynamic sampling is unnecessarily performed .

DB12c> alter session set optimizer_dynamic_sampling=11;

select /*+ gather_plan_statistics */ count(*)
from hr.birthdays where NAME = 'NAME OCTOBER  8802';


select * from table(dbms_xplan.display_cursor(format => 'ALLSTATS LAST'));

PLAN_TABLE_OUTPUT
-----------------------------------------------------------------------------SQL_ID  d79yg9wq02swy, child number 1
-------------------------------------
select /*+ gather_plan_statistics */ count(*) from hr.birthdays where
NAME = 'NAME OCTOBER  8802'

Plan hash value: 480407801
-----------------------------------------------------------------------------
|Id  |Operation          |Name         |Starts|E-Rows|A-Rows|A-Time |Buffers|
-----------------------------------------------------------------------------
|  0 |SELECT STATEMENT   |             |    1 |      |    1 |00:00:00.01| 2 |
|  1 | SORT AGGREGATE    |             |    1 |    1 |    1 |00:00:00.01| 2 |
|* 2 |  INDEX UNIQUE SCAN|BDAY_NAME_IDX|    1 |    1 |    1 |00:00:00.01| 2 |
-----------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - access("NAME"='NAME OCTOBER  8802')
Note
-----
- dynamic statistics used: dynamic sampling (level=AUTO)

Hence, If OPTIMIZER_DYNAMIC_SAMPLING = 11, sampling is performed in case of
•    missing statistics (as earlier with sampling level of 2),
•    stale statistics and
•    insufficient statistics
possibly leading to an optimal plan during first execution of the statement itself. But this has the disadvantage that dynamic sampling will be unnecessarily triggered in some cases leading to performance degradation. To have the best of both worlds, sampling level can be set to its default value of 2 and SPD’s  can be employed to guide the optimizer to perform dynamic sampling in case of stale / insufficient statistics too.

References:

http://www.google.co.in/url?sa=t&rct=j&q=&esrc=s&source=web&cd=5&ved=0CDQQFjAE&url=http%3A%2F%2Fwww.hroug.hr%2Fhr%2Fcontent%2Fdownload%2F14418%2F236628%2Ffile%2F401_Senegacnik_What_is_new_in_CBO.pdf&ei=p_AjVIjqHYyPuATD4IDAAQ&usg=AFQjCNEAXoYoFbMqYIXNimGgXLQ7N2Ra8Q&sig2=WbVNvkAsluX2Y0rp-N0QNw&bvm=bv.76247554,d.c2E
http://docs.oracle.com/cd/E11882_01/server.112/e16638/stats.htm#PFGRF30101

————————————————————————————

Related Links:

Home

Database 12c Index

 



Tags:  

Del.icio.us
Digg

Comments:  0 (Zero), Be the first to leave a reply!
You might be interested in this:  
Copyright © ORACLE IN ACTION [12c: Optimizer_Dynamic_Sampling = 11], All Right Reserved. 2014.

The post 12c: Optimizer_Dynamic_Sampling = 11 appeared first on ORACLE IN ACTION.

Categories: DBA Blogs

Is X a Big Data product?

Pythian Group - Wed, 2014-09-24 18:40

Virtually everyone in data space today claims that they are a Big Data vendor and that their products are Big Data products. Of course — if you are not in Big Data then you are legacy. So how do you know whether a product is a Big Data product?

While there might not be fully objective criteria (and mainly because Big Data definition is still in the air and people interpret it as they see fit for their purpose), I think I can provide one good suggestion on how to determine when a certain product is NOT a Big Data product. Of course, it will depend on the definition of Big Data that you believe in.

I believe that Big Data is mostly about being “affordable at scale“, quoting Jeff Needham, my good friend and fellow member of OakTable Network. In practice, that means commodity software, commodity hardware and commodity operations of the solution. I won’t define the thresholds of scale in terabytes or levels of complexity and etc but I can provide some guidelines.

Talking about commodity hardware, it’s generally based on x86 architecture (though, some say ARM is emerging but it’s been emerging way too long for my liking) with some reasonably priced components. That would typically be dual socket systems with up to few hundred GB of RAM and maybe a dozen disks or some SSDs and cost effective networking. If we narrow down to Hadoop-like architectures then a cluster node would typically cost between $4,000 and $10,000. Anything significantly above that is probably overpriced or overspec’ed.

OK. Now that we are good with hardware let’s look at software. Obviously, open-source software without any commercial support qualifies for commodity and being affordable. If you are Facebook-scale (or getting relatively close), your commercial support can be you own large scale, capable engineering team. Otherwise, you will most likely have commercial support. Back to Hadoop world, you should expect to pay for commercially supported Hadoop distribution (whoever it is out of three leading distributions — Cloudera, Hortonworks or MapR) the same order of magnitude as for the hardware itself. Annually, it would be a fraction of hardware cost or over three years it would be about the cost of hardware purchase or slightly above depending on the level of support and platform features. You get an idea. Non-open-source products licensed on similar pricing levels are Big Data products too — you don’t have to be open-source to call your technology Big Data.

Let’s take an example of a supposedly Big Data product. If a product has “Big Data” in the name, it surely must be a Big Data product. Eh?

I love quite a few Oracle products so why don’t I look at their line up… Big Data Appliance is a prebuilt Hadoop system or Hadoop appliance with 18 powerful data nodes per rack and list price tag of $525K per rack. That gets you to almost $30K per data node which is quite high and you would likely not build your own clusters like that. Add to that about $100K per year of support and maintenance for systems and OS (you can check pricing in the public engineered system price list). Big Data Appliance does include commercially supported Cloudera distribution so it might not be that terrible pricing-wise. If you have experience buying Oracle products you also know that customers don’t pay list prices. Thus, I can accept that Big Data Appliance can actually be called a Big Data product… just.

Now let’s looks at another product — Big Data SQL. It has been announced but hasn’t quite been released just yet (or did I miss it?). Awesome product, by the way. Great way to push some of data-intensive SQL processing from Oracle Database down to Hadoop. Now, it’s probably not widely known (since it wasn’t really publicly released and sold yet) that Big Data SQL is licensed per disk spindle and it’s $4,000 per spindle as list-price. Add to that typical 22% of annual software support and maintenance from Oracle. If I were to license Big Data SQL for a 100 nodes Hadoop cluster with 12 disks per node, it would cost me almost $5M based on list-price. Don’t forget to add 22% annually. This is order of magnitude more than I would spend on the hardware building such cluster. But wait, it looks like Big Data SQL is only working with Big Data Appliance. Even in this case, the cost of Big Data SQL per single rack appliance is $864K + 22% annually and that’s just one additional tool for your Big Data platform.

Based on what I know about Big Data SQL (and assuming it works as advertised when released), I love it — push code to data, scalable massive parallel processing, leveraging great features from Exadata Storage software. Great job to the folks who developed this product. Unfortunately, I cannot call it a Big Data product — it’s not affordable at scale.

So when you look at other vendors calling their product Big Data — do this costing assessment and if it doesn’t come as affordable at scale then it’s not a Big Data product. And feel free to share your assessments for the rest of us here. I’m sure not everyone will share my line of thinking here either. Fire way.

Categories: DBA Blogs

Top 7 Reasons Why Oracle Conferences Rock!

Top 7 Reasons Why Oracle Conferences Rock!
Why take the time and make the effort to attend an Oracle database conference or Oracle user group meeting? We're all busy, so there had better be some super good reasons to make the effort! For me, the benefits definitely exceed the cost.

There are many different conferences to choose from. There are professional conferences, leadership conferences, scientific conferences and business focused conferences. So why an Oracle Database conference? What's the big deal?

This is difficult for me to explain, so I've summarized why I love Oracle conferences into a "Top 7" list.

Number 7. Get free stuff from vendorsI suspect 50% of Oracle DBAs attend conferences because they love getting free stuff. If you want to maximize the good stuff, timing is everything. Get to the booth when the exhibition hall first opens, because vendors have tons of stuff to give away and they are full of energy. Also, just before the exhibition hall closes on the final day show up again. Vendors are tired and want to get rid of as much stuff as possible... and you just happen to be there!

Number 6. Become known in your industryIf you want to focus and excel in your career in a particular area, then pass on what you know. If you hold on to what you learn, no one will know you're an expert but you... and that's lonely. One of the best ways to become known and enjoy conferences is to speak at them. If this is something you want to do, please email me. I'll mentor you. I'm serious.

Number 5. Talk to others, if you want toWant to talk with people who care about Oracle technology as much as you do? Conferences are a great way to break out of your rut and think... and if you want to talk. One of the reasons I like conferences is it gives me a chance to meet with past students.

Number 4. Learn, if you want toThere are always opportunities to learn at conferences. How many times have I heard someone say they were in a lame session. But when I ask if they read the abstract first, they say no. If you want to increase your chances of attending great sessions, read the abstract. Second, look for speakers you like. Third, sit next to the door just in case you need to make a quick exit! The worst you can do is look at the agenda and pick the sessions you want to attend. Do a little research and you'll be surprised how many good sessions there are.


Number 3. Be inspired!How many places can you go to receive inspiration? Not many, is my answer! Because I can chill for a bit at conferences, observe what's going on in our industry and interact with a wide variety of people associated with Oracle technology, I tend to leave with a fresher and more refined view... or better said, "A Wider View." That in itself is worth the cost of any conference.

Number 2. Network with vendors, speakers, colleaguesI take it one step at a time. I always cruise the exhibition halls looking for new products and touching base with the vendors I know. Personally, I like to encourage the new vendors because it is a massive investment for them to exhibit. When I'm cruising, that's where I typically reconnect with students and other DBAs. It's a more comfortable and relaxing environment for me. If you want to speak with an expert face-to-face, a conference is a natural place to do this. If someone walks up to me with an AWR report, I'll make time for them. If they email me the week before, I'll do whatever I can to schedule some time with them.

Number 1. Be with friendsThis one is personal. When I'm teaching or consulting, it's very intense and compressed. But at conferences, I get a chance to unwind, sit back, have a beer, and talk. I'm really involved with the IOUG conference and each year I look forward to reconnecting with this small group of friends. It's such a good feeling to be with "Oracle friends" without having to talk... about Oracle. I can just sit and listen without anyone wondering... What's wrong with Craig? You can do the same thing. Find an Oracle user group and volunteer.

Why Attend? Because Oracle conferences rock!There you have it. Seven reasons why Oracle conferences and Oracle User Groups rock! If you're not planning to attend any, you're missing a great way to connect, advance your career, and have a lot of fun. See you there!!

All the best in your Oracle performance work!

Craig.




Categories: DBA Blogs

New 12c Default: Controlfile Autobackup On – But only for Multitenant

The Oracle Instructor - Wed, 2014-09-24 10:39

This a a little discovery from my present Oracle Database 12c New Features course in Copenhagen: The default setting for Controlfile Autobackup has changed to ON – but only for Multitenant, apparently:

$ rman target sys/oracle_4U@cdb1

Recovery Manager: Release 12.1.0.1.0 - Production on Wed Sep 24 13:28:39 2014

Copyright (c) 1982, 2013, Oracle and/or its affiliates.  All rights reserved.

connected to target database: CDB1 (DBID=832467154)

RMAN> select cdb from v$database;

using target database control file instead of recovery catalog
CDB
---
YES

RMAN> show controlfile autobackup;

RMAN configuration parameters for database with db_unique_name CDB1 are:
CONFIGURE CONTROLFILE AUTOBACKUP ON; # default

Above you see the setting for a container database (CDB). Now an ordinary (Non-CDB) 12c Database:

$ rman target sys/oracle_4U@orcl

Recovery Manager: Release 12.1.0.1.0 - Production on Wed Sep 24 13:33:27 2014

Copyright (c) 1982, 2013, Oracle and/or its affiliates.  All rights reserved.

connected to target database: ORCL (DBID=1386527354)

RMAN> select cdb from v$database;

using target database control file instead of recovery catalog
CDB
---
NO

RMAN> show controlfile autobackup;

RMAN configuration parameters for database with db_unique_name ORCL are:
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default

I really wonder why we have this difference! Is that still so with 12.1.0.2? Don’t believe it, test it! :-)


Tagged: 12c New Features, Backup & Recovery, Multitenant, RMAN
Categories: DBA Blogs

My Data Model Checklist book is now available in Spanish – Just in time for #OOW14!

Galo Balda's Blog - Wed, 2014-09-24 09:34

Originally posted on Oracle Data Warrior:

Exciting news!

I just got this email from Amazon:

Congratulations, your book “UNA LISTA DE VERIFICACIÓN PARA REALIZAR REVISIONES A LOS DISEÑOS DE MODELOS DE DATOS” is live in the Kindle Store and is currently enrolled in KDP Select. It is available for readers to purchase here.

If you are in Mexico, you can get the book here.

If you are in Spain, you can get it here.

Now, truth is I do NOT speak, read or write Spanish. But my good friend, and Oracle expert, Galo Balda does!

I am very grateful to Galo for putting in the effort to translate my little book so other data professionals around the world could read it in their native language.

You can (and should) follow Galo on Twitter, and on his personal blog in either English or Spanish.

BTW – Galo is speaking at OOW14 too…

View original 36 more words


Filed under: Uncategorized
Categories: DBA Blogs

EXECUTE Privilege on DBMS_SPM not sufficient

Hemant K Chitale - Wed, 2014-09-24 07:57
In 11.2.0.2

Here is a quick demo to show that the "ADMINISTER SQL MANAGEMENT OBJECT"  privilege is required for a non-DBA user to use DBMS_SPM even if EXECUTE has been granted on DBMS_SPM.

SQL> create user spm_test identified by spm_test quota unlimited on users;

User created.

SQL> alter user spm_test default tablespace users;

User altered.

SQL> grant create session, create table to spm_test;

Grant succeeded.

SQL> connect spm_test/spm_test
Connected.
SQL> create table spm_test_table (id_column number primary key, data_col varchar2(15));

Table created.

SQL> alter session set OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES=TRUE;

Session altered.

SQL> insert into spm_test_table select rownum, to_char(rownum) from dual connect by level < 10001;

10000 rows created.

SQL> commit;

Commit complete.

SQL> variable qrn number;
SQL> exec :qrn := 5;

PL/SQL procedure successfully completed.

SQL> select * from spm_test_table where id_column=:qrn;

ID_COLUMN DATA_COL
---------- ---------------
5 5

SQL> select * from spm_test_table where id_column=:qrn;

ID_COLUMN DATA_COL
---------- ---------------
5 5

SQL> alter session set OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES=FALSE;

Session altered.

SQL>
SQL> connect hemant/hemant
Connected.
SQL>
SQL> select sql_handle, plan_name, sql_text, enabled, accepted, fixed
2 from dba_sql_plan_baselines
3 where creator='SPM_TEST'
4 /

SQL_HANDLE PLAN_NAME
------------------------------ ------------------------------
SQL_TEXT
--------------------------------------------------------------------------------
ENA ACC FIX
--- --- ---
SQL_6ceee9b24e9fd50a SQL_PLAN_6tvr9q979zp8a1e198e55
select * from spm_test_table where id_column=:qrn
YES YES NO


SQL>
SQL> connect spm_test/spm_test
Connected.
SQL> declare
2 ret_value pls_integer;
3 begin
4 ret_value := dbms_spm.drop_sql_plan_baseline(
5 sql_handle=>'SQL_6ceee9b24e9fd50a',plan_name=>'SQL_PLAN_6tvr9q979zp8a1e198e55');
6 end;
7 /
declare
*
ERROR at line 1:
ORA-38171: Insufficient privileges for SQL management object operation
ORA-06512: at "SYS.DBMS_SPM", line 2532
ORA-06512: at line 4


SQL> select table_name, grantee, privilege
2 from all_tab_privs
3 where table_name='DBMS_SPM'
4 order by 2,3;

TABLE_NAME GRANTEE
------------------------------ ------------------------------
PRIVILEGE
----------------------------------------
DBMS_SPM PUBLIC
EXECUTE


SQL>
SQL> connect / as sysdba
Connected.
SQL> grant execute on dbms_spm to spm_test;

Grant succeeded.

SQL> connect spm_test/spm_test
Connected.
SQL> declare
2 ret_value pls_integer;
3 begin
4 ret_value := dbms_spm.drop_sql_plan_baseline(
5 sql_handle=>'SQL_6ceee9b24e9fd50a',plan_name=>'SQL_PLAN_6tvr9q979zp8a1e198e55');
6 dbms_output.put_line(ret_value);
7 end;
8 /
declare
*
ERROR at line 1:
ORA-38171: Insufficient privileges for SQL management object operation
ORA-06512: at "SYS.DBMS_SPM", line 2532
ORA-06512: at line 4


SQL>
SQL> connect / as sysdba
Connected.
SQL>
SQL> grant administer sql management object to spm_test;

Grant succeeded.

SQL>
SQL> connect spm_test/spm_test
Connected.
SQL> declare
2 ret_value pls_integer;
3 begin
4 ret_value := dbms_spm.drop_sql_plan_baseline(
5 sql_handle=>'SQL_6ceee9b24e9fd50a',plan_name=>'SQL_PLAN_6tvr9q979zp8a1e198e55');
6 dbms_output.put_line(ret_value);
7 end;
8 /

PL/SQL procedure successfully completed.

SQL>
SQL> connect hemant/hemant
Connected.
SQL> select sql_handle, plan_name, sql_text, enabled, accepted, fixed
2 from dba_sql_plan_baselines
3 where creator = 'SPM_TEST'
4 /

no rows selected

SQL>

Thus, although EXECUTE on DBMS_SPM had been granted to PUBLIC and even explicitly to this ordinary user, it couldn't execute DROP_SQL_PLAN_BASELINE.  The ADMINISTER SQL MANAGEMENT OBJECT privilege was required.
.
.
.


Categories: DBA Blogs

Partner Webcast – Beyond the Dashboard with Oracle BI Publisher

The Reporting tools are widely used to support decision making and measure performance. The Business Intelligence tools, take the dashboard to the next level. It’s more than simply graphically...

We share our skills to maximize your revenue!
Categories: DBA Blogs

Startup upgrade suppresses ORA-00955 on create table WRH$_SQL_PLAN

Bobby Durrett's DBA Blog - Tue, 2014-09-23 15:13

Today I was trying to see if upgrading from 11.2.0.2 to 11.2.0.4 would change the SYS.WRH$_SQL_PLAN table.  This table is large on our production system so I wanted to find out if some time-consuming update to this table would occur that would slow down our production upgrade but not be detected on our test systems.  We recently performed this upgrade on our development database and I was looking at the logs to see whether SYS.WRH$_SQL_PLAN was modified.  I found this curious entry (edited for brevity):

create table WRH$_SQL_PLAN
2  (snap_id           number        /* last snap id, used for purging */
3  ,dbid           number       not null
4  ,sql_id           varchar2(13)    not null
...
42   using index tablespace SYSAUX
43  ) tablespace SYSAUX
44  /

Table created.

The “Table created.” message sounds like the database created a new table without any errors.  But, looking at DBA_OBJECTS the table was not new.  So, I guessed that when you are running the catproc.sql script which includes the create table statement for SYS.WRH$_SQL_PLAN it must contain something that suppresses the error that you should get when you try to create a table and the table already exists:

ORA-00955: name is already used by an existing object

So, I opened my 11.2.0.3 test database using STARTUP RESTRICT  and ran @catproc.sql as SYSDBA and to my surprise I got the error just as you normally would:

 42   using index tablespace SYSAUX
 43  ) tablespace SYSAUX
 44  /
create table WRH$_SQL_PLAN
             *
ERROR at line 1:
ORA-00955: name is already used by an existing object

So, I decided to restart this database with STARTUP UPGRADE and rerun catproc.sql and as a result the error disappeared:

 40  ,constraint WRH$_SQL_PLAN_PK primary key
 41      (dbid, sql_id, plan_hash_value, id)
 42   using index tablespace SYSAUX
 43  ) tablespace SYSAUX
 44  /

Table created.

Cue the mysterious Twilight Zone music…

I guess this is a “feature” of the startup upgrade command but the “Table created.” message is kind of confusing.  The table isn’t really created if it exists.  But, I guess the good thing is that it doesn’t report an error.

– Bobby

 



Categories: DBA Blogs

#Oracle Certification: Always go for the most recent one!

The Oracle Instructor - Tue, 2014-09-23 11:14

It is quite often that I encounter attendees in my Oracle University courses that strive to become OCP or sometimes even OCM, asking me whether they should better go for an older versions certificate before they take on the most recent. The reasoning behind those questions is mostly that it may be easier to do it with the older version. My advise is then always: Go for the most recent version! No Oracle Certification exam is easy, but the older versions certificate is already outdated. The now most recent one will become outdated also sooner as you may think :-)

OCP 12c upgrade

For that reason I really appreciate the option to upgrade from 9i/10g/11g OCA directly to 12c OCP as discussed in this posting. There is just no point in becoming a new 11g OCP now when 12c is there, in my opinion. What do you think?


Tagged: Oracle Certification
Categories: DBA Blogs

big thanks to Jim Czuprynski for NEOOUG meeting presentations

Grumpy old DBA - Mon, 2014-09-22 16:56
Jim the smooth talking always motivated Oracle Ace Director did two great presentations for us here at NEOOUG on Friday September 19th.

His presentations can be found 12c SQL that almost tunes itself and 12c How hot is your data?

Thanks Jim!
Categories: DBA Blogs

Where is my space on Linux filesystem?

Surachart Opun - Mon, 2014-09-22 05:06
Not Often, I checked about my space after made filesystem on Linux. Today, I have made Ext4 filesystem around 460GB, I found it 437GB only. Some path should be 50GB, but it was available only 47GB.
Thank You @OracleAlchemist and @gokhanatil for good information about it.
Filesystem                   Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup0-U01LV   50G   52M   47G   1% /u01
Reference  - It's for specify the percentage of the filesystem blocks reserved for the super-user. This avoids fragmentation, and allows root-owned daemons, such as syslogd(8), to continue to function correctly after non-privileged processes are prevented from writing to the  filesystem. The default percentage is 5%.After I found out more information. Look like we can set it to zero, but we should not set it to zero for /,/var,/tmp or which path has lots of file creates and deletes.Reference on RedHatIf you set the reserved block count to zero, it won't affect
performance much except if you run for long periods of time (with lots
of file creates and deletes) while the filesystem is almost full
(i.e., say above 95%), at which point you'll be subject to
fragmentation problems.  Ext4's multi-block allocator is much more
fragmentation resistant, because it tries much harder to find
contiguous blocks, so even if you don't enable the other ext4
features, you'll see better results simply mounting an ext3 filesystem
using ext4 before the filesystem gets completely full.
If you are just using the filesystem for long-term archive, where
files aren't changing very often (i.e., a huge mp3 or video store), it
obviously won't matter.
- TedExample: Changed reserved-blocks-percentage [root@mytest01 u01]# df -h /u01
Filesystem                   Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup0-U01LV   50G   52M   47G   1% /u01
[root@mytest01 u01]# tune2fs -m 1 /dev/mapper/VolGroup0-U01LV
tune2fs 1.43-WIP (20-Jun-2013)
Setting reserved blocks percentage to 1% (131072 blocks)
[root@mytest01 u01]# df -h /u01
Filesystem                   Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup0-U01LV   50G   52M   49G   1% /u01
[root@mytest01 u01]# tune2fs -m 5 /dev/mapper/VolGroup0-U01LV
tune2fs 1.43-WIP (20-Jun-2013)
Setting reserved blocks percentage to 5% (655360 blocks)
[root@mytest01 u01]# df -h /u01
Filesystem                   Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup0-U01LV   50G   52M   47G   1% /u01Finally, I knew it was reserved for super-user. Checked more for calculation.
[root@ottuatdb01 ~]# df -m /u01
Filesystem                  1M-blocks  Used Available Use% Mounted on
/dev/mapper/VolGroup0-U01LV     50269    52     47657   1% /u01
[root@ottuatdb01 ~]#  tune2fs -l /dev/mapper/VolGroup0-U01LV |egrep  'Block size|Reserved block count'
Reserved block count:     655360
Block size:               4096

Available = 47657MB
Used = 52M
Reserved Space = (655360 x 4096) / 1024 /1024 = 2560MB 
Total = 47657 + 2560 + 52 = 50269 

OK.. I felt good after it cleared for me. Somehow, I believe On Hug space, 5% of the filesystem blocks reserved that's too much. We can reduce it.

Other Links:
https://www.redhat.com/archives/ext3-users/2009-January/msg00026.html
http://unix.stackexchange.com/questions/7950/reserved-space-for-root-on-a-filesystem-why
http://linux.die.net/man/8/tune2fs
https://wiki.archlinux.org/index.php/ext4#Remove_reserved_blocks

Written By: Surachart Opun http://surachartopun.com
Categories: DBA Blogs

Extend linux partition on vmware

Surachart Opun - Mon, 2014-09-22 02:24
It was a quiet day, I worked as System Administrator and installed Oracle Linux on Virtual Machine guest. After installed Operating System, I wanted to extend disk on guest. So, I extended disk on guest. Anyway, I came back in my head what I was supposed to do on Linux then ? - Create new disk (and Physical Volume) and then add in Volume Group.http://surachartopun.com/2012/01/just-add-disk-to-volume-group-linux.htmlChecked my partition:[root@mytest01 ~]# fdisk -l /dev/sda
Disk /dev/sda: 697.9 GB, 697932185600 bytes
255 heads, 63 sectors/track, 84852 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00061d87
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         131     1048576   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2             131       78326   628096000   8e  Linux LVM
[root@mytest01 ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               VolGroup0
  PV Size               599.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              153343
  Free PE               0
  Allocated PE          153343
  PV UUID               AcujnG-5XVc-TWWl-O4Oe-Nv03-rJtc-b5jUlWI thought I should be able to extend (resize) /dev/sda2 - Found out on the Internet, get some example.http://unix.stackexchange.com/questions/42857/how-to-extend-centos-5-partition-on-vmware
- Extend Physical Volume (Chose this idea)
Started to do it: Idea is Deleting/Recreating/run "pvresize".[root@mytest01 ~]# fdisk /dev/sda
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').
Command (m for help): p
Disk /dev/sda: 697.9 GB, 697932185600 bytes
255 heads, 63 sectors/track, 84852 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00061d87
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         131     1048576   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2             131       78326   628096000   8e  Linux LVM
Command (m for help): d
Partition number (1-4): 2
Command (m for help): p
Disk /dev/sda: 697.9 GB, 697932185600 bytes
255 heads, 63 sectors/track, 84852 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00061d87
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         131     1048576   83  Linux
Partition 1 does not end on cylinder boundary.
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (131-84852, default 131):
Using default value 131
Last cylinder, +cylinders or +size{K,M,G} (131-84852, default 84852):
Using default value 84852
Command (m for help): p
Disk /dev/sda: 697.9 GB, 697932185600 bytes
255 heads, 63 sectors/track, 84852 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00061d87
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         131     1048576   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2             131       84852   680524090   83  Linux
Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): L
 0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris
 1  FAT12           39  Plan 9          82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       40  Venix 80286     84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32m 85="" boot="" br="" c7="" extended="" inux="" nbsp="" prep="" yrinx=""> 5  Extended        42  SFS             86  NTFS volume set da  Non-FS data
 6  FAT16           4d  QNX4.x          87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS       4e  QNX4.x 2nd part 88  Linux plaintext de  Dell Utility
 8  AIX             4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt
 9  AIX bootable    50  OnTrack DM      93  Amoeba          e1  DOS access
 a  OS/2 Boot Manag 51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O
 b  W95 FAT32       52  CP/M            9f  BSD/OS          e4  SpeedStor
 c  W95 FAT32 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs
 e  W95 FAT16 (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  GPT
 f  W95 Ext'd (LBA) 55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor
12  Compaq diagnost 61  SpeedStor       a9  NetBSD          f4  SpeedStor
14  Hidden FAT16 <3 63="" ab="" arwin="" boot="" br="" f2="" hurd="" nbsp="" or="" secondary="" sys="">16  Hidden FAT16    64  Novell Netware  af  HFS / HFS+      fb  VMware VMFS
17  Hidden HPFS/NTF 65  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST SmartSleep  70  DiskSecure Mult b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 75  PC/IX           bb  Boot Wizard hid fe  LANstep
1c  Hidden W95 FAT3 80  Old Minix       be  Solaris boot    ff  BBT
1e  Hidden W95 FAT1
Hex code (type L to list codes): 8e
Changed system type of partition 2 to 8e (Linux LVM)
Command (m for help): p
Disk /dev/sda: 697.9 GB, 697932185600 bytes
255 heads, 63 sectors/track, 84852 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00061d87
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         131     1048576   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2             131       84852   680524090   8e  Linux LVM
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks. -- I chose to "Reboot" :-) --[root@mytest01 ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               VolGroup0
  PV Size               599.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              153343
  Free PE               0
  Allocated PE          153343
  PV UUID               AcujnG-5XVc-TWWl-O4Oe-Nv03-rJtc-b5jUlW
[root@mytest01 ~]# pvresize /dev/sda2
  Physical volume "/dev/sda2" changed
  1 physical volume(s) resized / 0 physical volume(s) not resized
[root@mytest01 ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               VolGroup0
  PV Size               599.00 GiB / not usable 2.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              153343
  Free PE               0
  Allocated PE          153343
  PV UUID               AcujnG-5XVc-TWWl-O4Oe-Nv03-rJtc-b5jUlW
[root@mytest01 ~]#
[root@mytest01 ~]# reboot
.
.
.
[root@mytest01 ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               VolGroup0
  PV Size               599.00 GiB / not usable 2.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              153343
  Free PE               0
  Allocated PE          153343
  PV UUID               AcujnG-5XVc-TWWl-O4Oe-Nv03-rJtc-b5jUlW
[root@mytest01 ~]# pvresize  /dev/sda2
  Physical volume "/dev/sda2" changed
  1 physical volume(s) resized / 0 physical volume(s) not resized
[root@mytest01 ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               VolGroup0
  PV Size               649.00 GiB / not usable 1.31 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              166143
  Free PE               12800
  Allocated PE          153343
  PV UUID               AcujnG-5XVc-TWWl-O4Oe-Nv03-rJtc-b5jUlWNote: This case I had 2 partitions (/dev/sda1, /dev/sda2). So, it was a good idea extending Physical Disk. However, I thought creating physical volume and adding in Volume Group, that might be safer. 
Finally, I had VolGroup0 with new size, then extended Logical Volume.[root@mytest01 ~]# df -h /u02
Filesystem                   Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup0-U02LV  460G   70M  437G   1% /u02
[root@mytest01 ~]# lvdisplay /dev/mapper/VolGroup0-U02LV
  --- Logical volume ---
  LV Path                /dev/VolGroup0/U02LV
  LV Name                U02LV
  VG Name                VolGroup0
  LV UUID                8Gdt6C-ZXQe-dPYi-21yj-Fs0i-6uvE-vzrCbc
  LV Write Access        read/write
  LV Creation host, time mytest01.pythian.com, 2014-09-21 16:43:50 -0400
  LV Status              available
  # open                 1
  LV Size                467.00 GiB
  Current LE             119551
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:2

[root@mytest01 ~]#
[root@mytest01 ~]# vgdisplay
  --- Volume group ---
  VG Name               VolGroup0
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  7
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                4
  Open LV               3
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               649.00 GiB
  PE Size               4.00 MiB
  Total PE              166143
  Alloc PE / Size       153343 / 599.00 GiB
  Free  PE / Size       12800 / 50.00 GiB
  VG UUID               thGxdJ-pCi2-18S0-mrZc-cCJM-2SH2-JRpfQ5
[root@mytest01 ~]#
[root@mytest01 ~]# -- Should use "e2fsck" in case resize (shrink). This case no need.
[root@mytest01 ~]# e2fsck -f  /dev/mapper/VolGroup0-U02LV 
e2fsck 1.43-WIP (20-Jun-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mapper/VolGroup0-U02LV: 11/30605312 files (0.0% non-contiguous), 1971528/122420224 blocks
[root@mytest01 ~]#
[root@mytest01 ~]# pvscan
  PV /dev/sda2   VG VolGroup0   lvm2 [649.00 GiB / 50.00 GiB free]
  Total: 1 [649.00 GiB] / in use: 1 [649.00 GiB] / in no VG: 0 [0   ]
[root@mytest01 ~]#
[root@mytest01 ~]#
[root@mytest01 ~]# lvextend -L +50G /dev/mapper/VolGroup0-U02LV
  Extending logical volume U02LV to 517.00 GiB
  Logical volume U02LV successfully resized
[root@mytest01 ~]#
[root@mytest01 ~]#  resize2fs /dev/mapper/VolGroup0-U02LV
resize2fs 1.43-WIP (20-Jun-2013)
Resizing the filesystem on /dev/mapper/VolGroup0-U02LV to 135527424 (4k) blocks.
The filesystem on /dev/mapper/VolGroup0-U02LV is now 135527424 blocks long.
[root@mytest01 ~]#
[root@mytest01 ~]#
[root@mytest01 ~]# lvdisplay /dev/mapper/VolGroup0-U02LV
  --- Logical volume ---
  LV Path                /dev/VolGroup0/U02LV
  LV Name                U02LV
  VG Name                VolGroup0
  LV UUID                8Gdt6C-ZXQe-dPYi-21yj-Fs0i-6uvE-vzrCbc
  LV Write Access        read/write
  LV Creation host, time mytest01.pythian.com, 2014-09-21 16:43:50 -0400
  LV Status              available
  # open                 0
  LV Size                517.00 GiB
  Current LE             132351
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:2
[root@mytest01 ~]#

[root@mytest01 ~]# df -h /u02
Filesystem                   Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup0-U02LV  509G   70M  483G   1% /u02https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/ext4grow.html
Note: resize2fs can use online, If the filesystem is mounted, it  can  be  used  to expand  the size of the mounted filesystem, assuming the kernel supports on-line resizing.  (As of this writing, the Linux 2.6 kernel supports on-line resize for filesystems mounted using ext3 and ext4.).
Look like today, I learned too much about linux partitioning. Written By: Surachart Opun http://surachartopun.com
Categories: DBA Blogs

Oracle OpenWorld 2014 – Bloggers Meetup

Pythian Group - Fri, 2014-09-19 15:35

Oracle OpenWorld Bloggers Meetup Guess what? You all know that it’s coming, when it’s coming and where… That’s right! The Annual Oracle Bloggers Meetup, one of your top favourite events of OpenWorld, is happening at usual place and time.

What: Oracle Bloggers Meetup 2014

When: Wed, 1-Oct-2014, 5:30pm

Where: Main Dining Room, Jillian’s Billiards @ Metreon, 101 Fourth Street, San Francisco, CA 94103 (street view). Please comment with “COUNT ME IN” if coming — we need to know the attendance numbers.


Traditionally, Oracle Technology Network and Pythian sponsor the venue and drinks. We will also have some cool things happening and a few prizes.

In the age of Big Data and Internet of Things, our mingling activity this year will be virtual — using an app we wrote specifically for this event, so bring your iStuff and Androids to participate and win. Hope this will work! :)

As usual, vintage t-shirts, ties, or bandanas from previous meetups will make you look cool — feel free to wear them.

For those of you who don’t know the history: The Bloggers Meetup during Oracle OpenWorld was started by Mark Rittman and continued by Eddie Awad, and then I picked up the flag in 2009 (gosh…  6 years already?) The meetups have been a great success for making new friends and catching up with old, so let’s keep them this way! To give you an idea, here are the photos from the OOW08 Bloggers Meetup (courtesy of Eddie Awad) and OOW09 meetup blog post update from myself, and a super cool video by a good blogging friend, Bjorn Roest from OOW13.

While the initial meetings were mostly targeted to Oracle database folks, guys and gals from many Oracle technologies — Oracle database, MySQL, Apps, Sun technologies, Java and more join in the fun. All bloggers are welcome. We estimate to gather around 150 bloggers.

If you are planning to attend, please comment here with the phrase “COUNT ME IN”. This will help us ensure we have the attendance numbers right. Please provide your blog URL with your comment — it’s a Bloggers Meetup after all! Make sure you comment here if you are attending so that we have enough room, food, and (most importantly) drinks.

Of course, do not forget to blog and tweet about this year’s bloggers meetup. See you there!

Categories: DBA Blogs

Log Buffer #389, A Carnival of the Vanities for DBAs

Pythian Group - Fri, 2014-09-19 07:23

As the Oracle Open World draws near, bloggers of MySQL and Oracle are getting more excited and productive. SQL Server bloggers are also not far behind. This Blog Edition covers that all.

Oracle:

What’s New With Fast Data at Oracle Open World 2014?

JASPIC improvements in WebLogic 12.1.3 Arjan Tijms.

Larry Ellison Stepping Down as Chief of Oracle.

Mobilizing E-Business Suite with Oracle MAF and FMW at OOW 14.

Oracle ISV Engineering @ Oracle OpenWorld 2014.

SQL Server:

How to create Data Mining Reports using Reporting Services.

Azure Virtual Machines Part 0: A VM Primer.

Stairway to PowerPivot and DAX – Level 7: Function / Iterator Function Pairs: The DAX AVERAGE() and AVERAGEX() Functions.

Free eBook: SQL Server Transaction Log Management.

The Mindset of the Enterprise DBA: Harnessing the Power of Automation.

MySQL:

MySQL 5.6.20 on POWER.

Announcing TokuDB v7.5: Read Free Replication.

Global Transaction ID (GTID) is one of the most compelling new features of MySQL 5.6.

Managing big data? Say ‘hello’ to HP Vertica.

Tweaking MySQL Galera Cluster to handle large databases – open_files_limit.

Categories: DBA Blogs

Switch CentOS to Oracle Linux - centos2ol.sh

Surachart Opun - Fri, 2014-09-19 04:15
My time has used much with Linux. Some people asked to move from CentOS to Oracle Linux somehow. I used to believe it easy to do like that. Anyway, It'd better to test. I focused on 2 links.
https://linux.oracle.com/switch/centos/
http://docs.oracle.com/cd/E37670_01/E37355/html/ol_switch_yum.html

Oracle introduces centos2ol.sh script that can convert CentOS 5 and 6 systems to Oracle Linux. After that run "yum upgrade" again.
[root@test-centos ~]# uname -r
2.6.32-431.29.2.el6.x86_64
[root@test-centos ~]# cat /etc/centos-release
CentOS release 6.5 (Final)
[root@test-centos ~]# curl -O https://linux.oracle.com/switch/centos2ol.sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  6523  100  6523    0     0   3453      0  0:00:01  0:00:01 --:--:-- 17534
[root@test-centos ~]# sh centos2ol.sh
Checking for required packages...
Checking your distribution...
Looking for yumdownloader...
Finding your repository directory...
Downloading Oracle Linux yum repository file...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  4233  100  4233    0     0   3507      0  0:00:01  0:00:01 --:--:--  4724
Removing unsupported packages...
Loaded plugins: fastestmirror, security
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package libreport-plugin-rhtsupport.x86_64 0:2.0.9-19.el6.centos will be erased
--> Processing Dependency: libreport-plugin-rhtsupport = 2.0.9-19.el6.centos for package: libreport-compat-2.0.9-19.el6.centos.x86_64
--> Processing Dependency: libreport-plugin-rhtsupport for package: abrt-cli-2.0.8-21.el6.centos.x86_64
--> Processing Dependency: libreport-plugin-rhtsupport = 2.0.9-19.el6.centos for package: libreport-python-2.0.9-19.el6.centos.x86_64
--> Running transaction check
---> Package abrt-cli.x86_64 0:2.0.8-21.el6.centos will be erased
---> Package libreport-compat.x86_64 0:2.0.9-19.el6.centos will be erased
--> Processing Dependency: libreport-compat = 2.0.9-19.el6.centos for package: libreport-2.0.9-19.el6.centos.x86_64
---> Package libreport-python.x86_64 0:2.0.9-19.el6.centos will be erased
--> Running transaction check
---> Package libreport.x86_64 0:2.0.9-19.el6.centos will be erased
--> Processing Dependency: libabrt_dbus.so.0()(64bit) for package: abrt-2.0.8-21.el6.centos.x86_64
--> Processing Dependency: libabrt_web.so.0()(64bit) for package: libreport-plugin-kerneloops-2.0.9-19.el6.centos.x86_64
--> Processing Dependency: libabrt_web.so.0()(64bit) for package: libreport-plugin-reportuploader-2.0.9-19.el6.centos.x86_64
--> Processing Dependency: libreport.so.0()(64bit) for package: libreport-plugin-logger-2.0.9-19.el6.centos.x86_64
--> Processing Dependency: libreport.so.0()(64bit) for package: libreport-plugin-kerneloops-2.0.9-19.el6.centos.x86_64
--> Processing Dependency: libreport.so.0()(64bit) for package: abrt-libs-2.0.8-21.el6.centos.x86_64
--> Processing Dependency: libreport.so.0()(64bit) for package: abrt-addon-python-2.0.8-21.el6.centos.x86_64
--> Processing Dependency: libreport.so.0()(64bit) for package: libreport-cli-2.0.9-19.el6.centos.x86_64
--> Processing Dependency: libreport.so.0()(64bit) for package: abrt-2.0.8-21.el6.centos.x86_64
--> Processing Dependency: libreport.so.0()(64bit) for package: abrt-tui-2.0.8-21.el6.centos.x86_64
--> Processing Dependency: libreport.so.0()(64bit) for package: abrt-addon-ccpp-2.0.8-21.el6.centos.x86_64
--> Processing Dependency: libreport.so.0()(64bit) for package: libreport-plugin-mailx-2.0.9-19.el6.centos.x86_64
--> Processing Dependency: libreport.so.0()(64bit) for package: libreport-plugin-reportuploader-2.0.9-19.el6.centos.x86_64
--> Processing Dependency: libreport.so.0()(64bit) for package: abrt-addon-kerneloops-2.0.8-21.el6.centos.x86_64
--> Processing Dependency: libreport = 2.0.9-19.el6.centos for package: libreport-plugin-logger-2.0.9-19.el6.centos.x86_64
--> Processing Dependency: libreport = 2.0.9-19.el6.centos for package: libreport-plugin-kerneloops-2.0.9-19.el6.centos.x86_64
--> Processing Dependency: libreport = 2.0.9-19.el6.centos for package: libreport-cli-2.0.9-19.el6.centos.x86_64
--> Processing Dependency: libreport >= 2.0.9-16 for package: abrt-2.0.8-21.el6.centos.x86_64
--> Processing Dependency: libreport = 2.0.9-19.el6.centos for package: libreport-plugin-mailx-2.0.9-19.el6.centos.x86_64
--> Processing Dependency: libreport = 2.0.9-19.el6.centos for package: libreport-plugin-reportuploader-2.0.9-19.el6.centos.x86_64
--> Running transaction check
---> Package abrt.x86_64 0:2.0.8-21.el6.centos will be erased
---> Package abrt-addon-ccpp.x86_64 0:2.0.8-21.el6.centos will be erased
---> Package abrt-addon-kerneloops.x86_64 0:2.0.8-21.el6.centos will be erased
---> Package abrt-addon-python.x86_64 0:2.0.8-21.el6.centos will be erased
---> Package abrt-libs.x86_64 0:2.0.8-21.el6.centos will be erased
---> Package abrt-tui.x86_64 0:2.0.8-21.el6.centos will be erased
---> Package libreport-cli.x86_64 0:2.0.9-19.el6.centos will be erased
---> Package libreport-plugin-kerneloops.x86_64 0:2.0.9-19.el6.centos will be erased
---> Package libreport-plugin-logger.x86_64 0:2.0.9-19.el6.centos will be erased
---> Package libreport-plugin-mailx.x86_64 0:2.0.9-19.el6.centos will be erased
---> Package libreport-plugin-reportuploader.x86_64 0:2.0.9-19.el6.centos will be erased
--> Finished Dependency Resolution
ol6_UEK_latest                                                                                                                                   | 1.2 kB     00:00
ol6_UEK_latest/primary                                                                                                                           |  16 MB     00:08
ol6_latest                                                                                                                                       | 1.4 kB     00:00
ol6_latest/primary                                                                                                                               |  41 MB     00:21
Dependencies Resolved
========================================================================================================================================================================
 Package                                        Arch                  Version                             Repository                                               Size
========================================================================================================================================================================
Removing:
 libreport-plugin-rhtsupport                    x86_64                2.0.9-19.el6.centos                 @anaconda-CentOS-201311272149.x86_64/6.5                 74 k
Removing for dependencies:
 abrt                                           x86_64                2.0.8-21.el6.centos                 @anaconda-CentOS-201311272149.x86_64/6.5                706 k
 abrt-addon-ccpp                                x86_64                2.0.8-21.el6.centos                 @anaconda-CentOS-201311272149.x86_64/6.5                189 k
 abrt-addon-kerneloops                          x86_64                2.0.8-21.el6.centos                 @anaconda-CentOS-201311272149.x86_64/6.5                 25 k
 abrt-addon-python                              x86_64                2.0.8-21.el6.centos                 @anaconda-CentOS-201311272149.x86_64/6.5                 20 k
 abrt-cli                                       x86_64                2.0.8-21.el6.centos                 @anaconda-CentOS-201311272149.x86_64/6.5                0.0
 abrt-libs                                      x86_64                2.0.8-21.el6.centos                 @anaconda-CentOS-201311272149.x86_64/6.5                 24 k
 abrt-tui                                       x86_64                2.0.8-21.el6.centos                 @anaconda-CentOS-201311272149.x86_64/6.5                 15 k
 libreport                                      x86_64                2.0.9-19.el6.centos                 @anaconda-CentOS-201311272149.x86_64/6.5                1.2 M
 libreport-cli                                  x86_64                2.0.9-19.el6.centos                 @anaconda-CentOS-201311272149.x86_64/6.5                 26 k
 libreport-compat                               x86_64                2.0.9-19.el6.centos                 @anaconda-CentOS-201311272149.x86_64/6.5                7.4 k
 libreport-plugin-kerneloops                    x86_64                2.0.9-19.el6.centos                 @anaconda-CentOS-201311272149.x86_64/6.5                 18 k
 libreport-plugin-logger                        x86_64                2.0.9-19.el6.centos                 @anaconda-CentOS-201311272149.x86_64/6.5                 23 k
 libreport-plugin-mailx                         x86_64                2.0.9-19.el6.centos                 @anaconda-CentOS-201311272149.x86_64/6.5                 32 k
 libreport-plugin-reportuploader                x86_64                2.0.9-19.el6.centos                 @anaconda-CentOS-201311272149.x86_64/6.5                 32 k
 libreport-python                               x86_64                2.0.9-19.el6.centos                 @anaconda-CentOS-201311272149.x86_64/6.5                 72 k
Transaction Summary
========================================================================================================================================================================
Remove       16 Package(s)
Installed size: 2.4 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing    : abrt-cli-2.0.8-21.el6.centos.x86_64                                                                                                                 1/16
  Erasing    : abrt-addon-kerneloops-2.0.8-21.el6.centos.x86_64                                                                                                    2/16
  Erasing    : abrt-addon-ccpp-2.0.8-21.el6.centos.x86_64                                                                                                          3/16
  Erasing    : abrt-tui-2.0.8-21.el6.centos.x86_64                                                                                                                 4/16
  Erasing    : abrt-addon-python-2.0.8-21.el6.centos.x86_64                                                                                                        5/16
  Erasing    : abrt-2.0.8-21.el6.centos.x86_64                                                                                                                     6/16
  Erasing    : abrt-libs-2.0.8-21.el6.centos.x86_64                                                                                                                7/16
  Erasing    : libreport-plugin-kerneloops-2.0.9-19.el6.centos.x86_64                                                                                              8/16
  Erasing    : libreport-cli-2.0.9-19.el6.centos.x86_64                                                                                                            9/16
  Erasing    : libreport-plugin-logger-2.0.9-19.el6.centos.x86_64                                                                                                 10/16
  Erasing    : libreport-plugin-mailx-2.0.9-19.el6.centos.x86_64                                                                                                  11/16
  Erasing    : libreport-compat-2.0.9-19.el6.centos.x86_64                                                                                                        12/16
  Erasing    : libreport-plugin-reportuploader-2.0.9-19.el6.centos.x86_64                                                                                         13/16
  Erasing    : libreport-plugin-rhtsupport-2.0.9-19.el6.centos.x86_64                                                                                             14/16
  Erasing    : libreport-python-2.0.9-19.el6.centos.x86_64                                                                                                        15/16
  Erasing    : libreport-2.0.9-19.el6.centos.x86_64                                                                                                               16/16
  Verifying  : libreport-plugin-mailx-2.0.9-19.el6.centos.x86_64                                                                                                   1/16
  Verifying  : libreport-2.0.9-19.el6.centos.x86_64                                                                                                                2/16
  Verifying  : libreport-plugin-logger-2.0.9-19.el6.centos.x86_64                                                                                                  3/16
  Verifying  : abrt-tui-2.0.8-21.el6.centos.x86_64                                                                                                                 4/16
  Verifying  : libreport-plugin-kerneloops-2.0.9-19.el6.centos.x86_64                                                                                              5/16
  Verifying  : libreport-plugin-rhtsupport-2.0.9-19.el6.centos.x86_64                                                                                              6/16
  Verifying  : abrt-addon-kerneloops-2.0.8-21.el6.centos.x86_64                                                                                                    7/16
  Verifying  : libreport-compat-2.0.9-19.el6.centos.x86_64                                                                                                         8/16
  Verifying  : abrt-2.0.8-21.el6.centos.x86_64                                                                                                                     9/16
  Verifying  : abrt-libs-2.0.8-21.el6.centos.x86_64                                                                                                               10/16
  Verifying  : libreport-python-2.0.9-19.el6.centos.x86_64                                                                                                        11/16
  Verifying  : abrt-addon-python-2.0.8-21.el6.centos.x86_64                                                                                                       12/16
  Verifying  : libreport-plugin-reportuploader-2.0.9-19.el6.centos.x86_64                                                                                         13/16
  Verifying  : abrt-cli-2.0.8-21.el6.centos.x86_64                                                                                                                14/16
  Verifying  : libreport-cli-2.0.9-19.el6.centos.x86_64                                                                                                           15/16
  Verifying  : abrt-addon-ccpp-2.0.8-21.el6.centos.x86_64                                                                                                         16/16
Removed:
  libreport-plugin-rhtsupport.x86_64 0:2.0.9-19.el6.centos
Dependency Removed:
  abrt.x86_64 0:2.0.8-21.el6.centos                   abrt-addon-ccpp.x86_64 0:2.0.8-21.el6.centos                 abrt-addon-kerneloops.x86_64 0:2.0.8-21.el6.centos
  abrt-addon-python.x86_64 0:2.0.8-21.el6.centos      abrt-cli.x86_64 0:2.0.8-21.el6.centos                        abrt-libs.x86_64 0:2.0.8-21.el6.centos
  abrt-tui.x86_64 0:2.0.8-21.el6.centos               libreport.x86_64 0:2.0.9-19.el6.centos                       libreport-cli.x86_64 0:2.0.9-19.el6.centos
  libreport-compat.x86_64 0:2.0.9-19.el6.centos       libreport-plugin-kerneloops.x86_64 0:2.0.9-19.el6.centos     libreport-plugin-logger.x86_64 0:2.0.9-19.el6.centos
  libreport-plugin-mailx.x86_64 0:2.0.9-19.el6.centos libreport-plugin-reportuploader.x86_64 0:2.0.9-19.el6.centos libreport-python.x86_64 0:2.0.9-19.el6.centos
Complete!
Backing up and removing old repository files...
Downloading Oracle Linux release package...
Loaded plugins: fastestmirror
Determining fastest mirrors
ol6_UEK_latest                                                                                                                                                  351/351
ol6_latest                                                                                                                                                  26103/26103
oraclelinux-release-6Server-5.0.2.x86_64.rpm                                                                                                     |  22 kB     00:00
redhat-release-server-6Server-6.5.0.1.0.1.el6.x86_64.rpm                                                                                         | 2.6 kB     00:00
Switching old release package with Oracle Linux...
warning: oraclelinux-release-6Server-5.0.2.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Installing base packages for Oracle Linux...
Loaded plugins: fastestmirror, security
Determining fastest mirrors
ol6_UEK_latest                                                                                                                                   | 1.2 kB     00:00
ol6_UEK_latest/primary                                                                                                                           |  16 MB     00:09
ol6_UEK_latest                                                                                                                                                  351/351
ol6_latest                                                                                                                                       | 1.4 kB     00:00
ol6_latest/primary                                                                                                                               |  41 MB     00:21
ol6_latest                                                                                                                                                  26103/26103
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package basesystem.noarch 0:10.0-4.el6 will be updated
---> Package basesystem.noarch 0:10.0-4.0.1.el6 will be an update
---> Package grub.x86_64 1:0.97-84.el6_5 will be updated
---> Package grub.x86_64 1:0.97-84.0.1.el6_5 will be an update
---> Package grubby.x86_64 0:7.0.15-5.el6 will be updated
---> Package grubby.x86_64 0:7.0.15-5.0.4.el6 will be an update
---> Package initscripts.x86_64 0:9.03.40-2.el6.centos.4 will be updated
---> Package initscripts.x86_64 0:9.03.40-2.0.1.el6_5.4 will be an update
---> Package oracle-logos.noarch 0:60.0.14-1.0.1.el6 will be obsoleting
---> Package oraclelinux-release-notes.x86_64 0:6Server-11 will be installed
---> Package plymouth.x86_64 0:0.8.3-27.el6.centos.1 will be updated
---> Package plymouth.x86_64 0:0.8.3-27.0.1.el6_5.1 will be an update
--> Processing Dependency: plymouth-core-libs = 0.8.3-27.0.1.el6_5.1 for package: plymouth-0.8.3-27.0.1.el6_5.1.x86_64
---> Package redhat-logos.noarch 0:60.0.14-12.el6.centos will be obsoleted
--> Running transaction check
---> Package plymouth-core-libs.x86_64 0:0.8.3-27.el6.centos.1 will be updated
---> Package plymouth-core-libs.x86_64 0:0.8.3-27.0.1.el6_5.1 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
========================================================================================================================================================================
 Package                                          Arch                          Version                                         Repository                         Size
========================================================================================================================================================================
Installing:
 oracle-logos                                     noarch                        60.0.14-1.0.1.el6                               ol6_latest                         12 M
     replacing  redhat-logos.noarch 60.0.14-12.el6.centos
 oraclelinux-release-notes                        x86_64                        6Server-11                                      ol6_latest                         77 k
Updating:
 basesystem                                       noarch                        10.0-4.0.1.el6                                  ol6_latest                        4.3 k
 grub                                             x86_64                        1:0.97-84.0.1.el6_5                             ol6_latest                        932 k
 grubby                                           x86_64                        7.0.15-5.0.4.el6                                ol6_latest                         43 k
 initscripts                                      x86_64                        9.03.40-2.0.1.el6_5.4                           ol6_latest                        940 k
 plymouth                                         x86_64                        0.8.3-27.0.1.el6_5.1                            ol6_latest                         89 k
Updating for dependencies:
 plymouth-core-libs                               x86_64                        0.8.3-27.0.1.el6_5.1                            ol6_latest                         88 k
Transaction Summary
========================================================================================================================================================================
Install       2 Package(s)
Upgrade       6 Package(s)
Total download size: 14 M
Downloading Packages:
(1/8): basesystem-10.0-4.0.1.el6.noarch.rpm                                                                                                      | 4.3 kB     00:00
(2/8): grub-0.97-84.0.1.el6_5.x86_64.rpm                                                                                                         | 932 kB     00:00
(3/8): grubby-7.0.15-5.0.4.el6.x86_64.rpm                                                                                                        |  43 kB     00:00
(4/8): initscripts-9.03.40-2.0.1.el6_5.4.x86_64.rpm                                                                                              | 940 kB     00:00
(5/8): oracle-logos-60.0.14-1.0.1.el6.noarch.rpm                                                                                                 |  12 MB     00:06
(6/8): oraclelinux-release-notes-6Server-11.x86_64.rpm                                                                                           |  77 kB     00:00
(7/8): plymouth-0.8.3-27.0.1.el6_5.1.x86_64.rpm                                                                                                  |  89 kB     00:00
(8/8): plymouth-core-libs-0.8.3-27.0.1.el6_5.1.x86_64.rpm                                                                                        |  88 kB     00:00
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                   1.5 MB/s |  14 MB     00:09
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
Importing GPG key 0xEC551F03:
 Userid : Oracle OSS group (Open Source Software group) <build@oss.oracle.com>
 Package: 6:oraclelinux-release-6Server-5.0.2.x86_64 (installed)
 From   : /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
  Installing : oracle-logos-60.0.14-1.0.1.el6.noarch                                                                                                               1/15
  Updating   : initscripts-9.03.40-2.0.1.el6_5.4.x86_64                                                                                                            2/15
  Updating   : plymouth-core-libs-0.8.3-27.0.1.el6_5.1.x86_64                                                                                                      3/15
  Updating   : plymouth-0.8.3-27.0.1.el6_5.1.x86_64                                                                                                                4/15
  Updating   : 1:grub-0.97-84.0.1.el6_5.x86_64                                                                                                                     5/15
  Updating   : basesystem-10.0-4.0.1.el6.noarch                                                                                                                    6/15
  Installing : oraclelinux-release-notes-6Server-11.x86_64                                                                                                         7/15
  Updating   : grubby-7.0.15-5.0.4.el6.x86_64                                                                                                                      8/15
  Cleanup    : 1:grub-0.97-84.el6_5.x86_64                                                                                                                         9/15
  Cleanup    : plymouth-0.8.3-27.el6.centos.1.x86_64                                                                                                              10/15
  Erasing    : redhat-logos-60.0.14-12.el6.centos.noarch                                                                                                          11/15
  Cleanup    : basesystem-10.0-4.el6.noarch                                                                                                                       12/15
  Cleanup    : initscripts-9.03.40-2.el6.centos.4.x86_64                                                                                                          13/15
  Cleanup    : plymouth-core-libs-0.8.3-27.el6.centos.1.x86_64                                                                                                    14/15
  Cleanup    : grubby-7.0.15-5.el6.x86_64                                                                                                                         15/15
  Verifying  : grubby-7.0.15-5.0.4.el6.x86_64                                                                                                                      1/15
  Verifying  : 1:grub-0.97-84.0.1.el6_5.x86_64                                                                                                                     2/15
  Verifying  : plymouth-0.8.3-27.0.1.el6_5.1.x86_64                                                                                                                3/15
  Verifying  : initscripts-9.03.40-2.0.1.el6_5.4.x86_64                                                                                                            4/15
  Verifying  : oracle-logos-60.0.14-1.0.1.el6.noarch                                                                                                               5/15
  Verifying  : oraclelinux-release-notes-6Server-11.x86_64                                                                                                         6/15
  Verifying  : basesystem-10.0-4.0.1.el6.noarch                                                                                                                    7/15
  Verifying  : plymouth-core-libs-0.8.3-27.0.1.el6_5.1.x86_64                                                                                                      8/15
  Verifying  : plymouth-0.8.3-27.el6.centos.1.x86_64                                                                                                               9/15
  Verifying  : initscripts-9.03.40-2.el6.centos.4.x86_64                                                                                                          10/15
  Verifying  : plymouth-core-libs-0.8.3-27.el6.centos.1.x86_64                                                                                                    11/15
  Verifying  : grubby-7.0.15-5.el6.x86_64                                                                                                                         12/15
  Verifying  : redhat-logos-60.0.14-12.el6.centos.noarch                                                                                                          13/15
  Verifying  : 1:grub-0.97-84.el6_5.x86_64                                                                                                                        14/15
  Verifying  : basesystem-10.0-4.el6.noarch                                                                                                                       15/15
Installed:
  oracle-logos.noarch 0:60.0.14-1.0.1.el6                                         oraclelinux-release-notes.x86_64 0:6Server-11
Updated:
  basesystem.noarch 0:10.0-4.0.1.el6          grub.x86_64 1:0.97-84.0.1.el6_5      grubby.x86_64 0:7.0.15-5.0.4.el6      initscripts.x86_64 0:9.03.40-2.0.1.el6_5.4
  plymouth.x86_64 0:0.8.3-27.0.1.el6_5.1
Dependency Updated:
  plymouth-core-libs.x86_64 0:0.8.3-27.0.1.el6_5.1
Replaced:
  redhat-logos.noarch 0:60.0.14-12.el6.centos
Complete!
Updating initrd...
Installation successful!
Run 'yum upgrade' to synchronize your installed packages
with the Oracle Linux repository.
[root@test-centos ~]# yum upgrade
.
.
.
Installed:
  kernel-uek-headers.x86_64 0:2.6.32-400.36.8.el6uek
Updated:
  autofs.x86_64 1:5.0.5-89.0.1.el6_5.2                     bfa-firmware.noarch 0:3.2.23.0-1.0.1.el6          certmonger.x86_64 0:0.61-3.0.1.el6
  coreutils.x86_64 0:8.4-31.0.1.el6_5.2                    coreutils-libs.x86_64 0:8.4-31.0.1.el6_5.2        cpuspeed.x86_64 1:1.5-20.0.1.el6_4
  crash.x86_64 0:6.1.0-5.0.1.el6                           dbus.x86_64 1:1.2.24-7.0.1.el6_3                  dbus-glib.x86_64 0:0.86-6.el6_4
  dbus-libs.x86_64 1:1.2.24-7.0.1.el6_3                    dhclient.x86_64 12:4.1.1-38.P1.0.1.el6            dhcp-common.x86_64 12:4.1.1-38.P1.0.1.el6
  dracut.noarch 0:004-336.0.1.el6_5.2                      dracut-kernel.noarch 0:004-336.0.1.el6_5.2        e2fsprogs.x86_64 0:1.42.8-1.0.1.el6
  e2fsprogs-libs.x86_64 0:1.42.8-1.0.1.el6                 gstreamer.x86_64 0:0.10.29-1.0.1.el6              gstreamer-tools.x86_64 0:0.10.29-1.0.1.el6
  iptables.x86_64 0:1.4.7-11.0.1.el6                       iptables-ipv6.x86_64 0:1.4.7-11.0.1.el6           irqbalance.x86_64 2:1.0.4-9.0.1.el6_5
  java-1.7.0-openjdk.x86_64 1:1.7.0.65-2.5.1.2.0.1.el6_5   kexec-tools.x86_64 0:2.0.3-3.0.10.el6             kpartx.x86_64 0:0.4.9-72.0.1.el6_5.3
  libcom_err.x86_64 0:1.42.8-1.0.1.el6                     libgudev1.x86_64 0:147-2.51.0.3.el6               libss.x86_64 0:1.42.8-1.0.1.el6
  libudev.x86_64 0:147-2.51.0.3.el6                        libxml2.x86_64 0:2.7.6-14.0.1.el6_5.2             libxml2-python.x86_64 0:2.7.6-14.0.1.el6_5.2
  libxslt.x86_64 0:1.1.26-2.0.2.el6_3.1                    module-init-tools.x86_64 0:3.9-21.0.1.el6_4       nss.x86_64 0:3.16.1-4.0.1.el6_5
  nss-sysinit.x86_64 0:3.16.1-4.0.1.el6_5                  nss-tools.x86_64 0:3.16.1-4.0.1.el6_5             oprofile.x86_64 0:0.9.7-1.0.1.el6
  pango.x86_64 0:1.28.1-7.0.1.el6_3                        plymouth-scripts.x86_64 0:0.8.3-27.0.1.el6_5.1    policycoreutils.x86_64 0:2.0.83-19.39.0.1.el6
  ql2400-firmware.noarch 0:7.03.00-1.0.1.el6               ql2500-firmware.noarch 0:7.03.00-1.0.1.el6        redhat-lsb.x86_64 0:4.0-7.0.1.el6
  redhat-lsb-compat.x86_64 0:4.0-7.0.1.el6                 redhat-lsb-core.x86_64 0:4.0-7.0.1.el6            redhat-lsb-graphics.x86_64 0:4.0-7.0.1.el6
  redhat-lsb-printing.x86_64 0:4.0-7.0.1.el6               rsyslog.x86_64 0:5.8.10-8.0.1.el6                 selinux-policy.noarch 0:3.7.19-231.0.1.el6_5.3
  selinux-policy-targeted.noarch 0:3.7.19-231.0.1.el6_5.3  sos.noarch 0:2.2-47.0.1.el6_5.7                   system-config-network-tui.noarch 0:1.6.0.el6.3-1.0.1.el6
  systemtap-runtime.x86_64 0:2.3-4.0.1.el6_5               udev.x86_64 0:147-2.51.0.3.el6                    yum.noarch 0:3.2.29-43.0.1.el6_5
  yum-plugin-fastestmirror.noarch 0:1.1.30-17.0.1.el6_5    yum-plugin-security.noarch 0:1.1.30-17.0.1.el6_5  yum-utils.noarch 0:1.1.30-17.0.1.el6_5
Replaced:
  kernel-headers.x86_64 0:2.6.32-431.29.2.el6
Complete!

[root@test-centos ~]# cat /etc/oracle-release
Oracle Linux Server release 6.5
[root@test-centos ~]# rpm -qi --info "oraclelinux-release"
Name        : oraclelinux-release          Relocations: (not relocatable)
Version     : 6Server                           Vendor: Oracle America
Release     : 5.0.2                         Build Date: Sat 23 Nov 2013 02:14:50 AM ICT
Install Date: Fri 19 Sep 2014 03:54:33 PM ICT      Build Host: ca-build44.us.oracle.com
Group       : System Environment/Base       Source RPM: oraclelinux-release-6Server-5.0.2.src.rpm
Size        : 49559                            License: GPL
Signature   : RSA/8, Sat 23 Nov 2013 02:14:56 AM ICT, Key ID 72f97b74ec551f03
Summary     : Oracle Linux 6 release file
Description :
System release and information files
Name        : oraclelinux-release          Relocations: (not relocatable)
Version     : 6Server                           Vendor: Oracle America
Release     : 5.0.2                         Build Date: Sat 23 Nov 2013 02:14:50 AM ICT
Install Date: Fri 19 Sep 2014 03:54:33 PM ICT      Build Host: ca-build44.us.oracle.com
Group       : System Environment/Base       Source RPM: oraclelinux-release-6Server-5.0.2.src.rpm
Size        : 49559                            License: GPL
Signature   : RSA/8, Sat 23 Nov 2013 02:14:56 AM ICT, Key ID 72f97b74ec551f03
Summary     : Oracle Linux 6 release file
Description :
System release and information files
[root@test-centos ~]#It's very fast... Written By: Surachart Opun http://surachartopun.com
Categories: DBA Blogs

Datafile space reclaimable report.

DBA Scripts and Articles - Thu, 2014-09-18 14:45

This script will help you find the space reclaimable in your datafiles, it finds the High Water Mark of all your datafiles (the minimum size) and then report the following information: Datafile Size Datafile HWM Percentage of space reclaimable Command to resize the datafile Total space reclaimable in your datafiles Percentage of space reclaimable in your datafiles Find space reclaimable [...]

The post Datafile space reclaimable report. appeared first on Oracle DBA Scripts and Articles (Montreal).

Categories: DBA Blogs

2013 Chevrolet Spark lt for sale

Ameed Taylor - Wed, 2014-09-17 21:36
The 2013 Chevrolet Spark lt for sale minicar is the littlest Chevy offered in the U.s. in a couple of years. focused at Millennial benefactors, it could be intended to be minimal effort, bright, and digitally empowered for first-time auto supporters who to discover their cell phones more intriguing than new vehicles.

The minimal 5-entryway hatchback contends with a climbing workforce of minicars that gimmicks the MINI Cooper that dispatched the stage inside the U.s., the new Fiat 500, the Mitsubishi i electrical auto, and a couple of two-seat passages, the developing old savvy Fortwo and the new Scion iq.

actually assuming its 12-foot-1-inch length is unequivocally three toes shorter than a Chevrolet Cruze smaller 4-entryway vehicle, the Spark does not so much show up as little as it seems to be. best in scale- -stopped beside an amusement utility auto, as a sample -is its fitting measurement prominent.

The creators have accomplished all that they may to blanket the Spark's extents. its a tall auto roosted on little 15-inch wheels, however stress strains, dark plastic boards that proceed with the window line, and a vast Chevy twin-opening grille help to conceal the chunk sided, scorn nosed field-on-wheels show up.

The handles for the back entryways are stowed away operating at a profit plastic trim, which Chevy says gives the auto a "roadster like" appear. we don't in all actuality buy that, however outwardly the back entryways don't fundamentally learn as entryways on first look. while the back completion is everything except vertical, a long top spoiler stretches out to edge the back window opening, offering profundity to the back and bettering the Spark's aeromechanics too.

inside, the textured hard-plastic dash makes no attempt and camouflage what its through copying another topic. so also, the seats are unashamedly manufactured material. however constitution color embeds on the entryway trim, inside the entryway boxes, and on the dashboard include a sprightly stress. They take notice the painted inside steel found in economy autos of the Sixties, despite the fact that inside the Spark they may be all body-color plastic presented for effect.

Like its vast sibling the Sonic, the Spark has a "motorbike model" instrument case mounted on the direction section. It suits a speedometer and a little auto learning show. the base Spark has a little monochrome center showcase, yet all LT trim levels work a 7-inch coloration touchscreen show inside the heart stack.

there is only one motor in the Spark, a 84-pull 1.2-liter four-barrel Ecotec that puts out eighty three lb-toes of torque. The Spark comes same old with a five-velocity handbook gearbox, and a four-pace automated transmission will likewise be requested for an extra $925. Forceful driving with the aide can hustle the little Spark by means of town acceptably, however the robotized is, honestly, a puppy. Its first gear is inordinate sufficient that quickening a long way from stoplights shows up excruciatingly steady, and it would not appear to offer such a great amount of punch at any velocity or in any apparatuses. this is one auto for which the handbook gearbox may be the main conceivable choice.

The 2013 Chevrolet Spark lt for sale with the aide transmission is EPA-evaluated at 32 mpg city, 38 mpg thruway, for a blended score of 34 mpg- -comparable to the rest inside the class, however sensibly lower than a considerable amount of bigger reduced vehicles, which benefit from higher the study of air. the programmed model is accessible in lower, at a consolidated 32 mpg (28 mpg city, 37 mpg road). The Spark runs on consistent evaluation gas, in spite of the fact that; the Fiat 500 prescribes top rate gas.

The Spark's ride is somewhat firm, by and by it dealt with broken NY city roads with aplomb- -despite the fact that riders had been mindful of each knock, pothole, edge, and swell. its tall enough that travelers will truly feel the Spark inclining toward difficult corners, nonetheless its reasonably little wheels and tires toiled grave to convey the road. the electric force direction deals some interstate feel, and though its barely ever as charming to throw round as the MINI Cooper, the Spark can trade paths into spaces diverse autos couldn't fit into, and it is a delight to stop. Our starting force provided for us no probability to test the Spark at 75-mph turnpike speeds.

within, the Spark's seats are physically movable yet agreeable -if a tad bit thin for broad channeled American travelers. The back seatback is upright, yet with to some degree arrangement between front- and once more seat riders, four adult male people can possess the Spark and go in reasonable house. that is more than can additionally be expressed for the MINI Cooper or Fiat 500, actually assuming the Mitsubishi i electric auto -the main other 5-entryway hatchback on this arrangement -bargains also shocking back seat space too.

With the back seat up, the Spark has 11.four cubic feet of load territory -enough to hold 10 to 12 full paper staple gear without issues -which grows to 31.2 cubic toes when the 60/40 part back seat is flipped and collapsed down. A payload net is close by as a feature of the higher trim levels, as are rails to mount baggage bearers on the top.





The 2013 Chevrolet Spark lt for sale has been intended to satisfy all present and future U.s. security necessities, and springs ordinary and not utilizing a less than 10 airbags. It has now not yet been appraised for accident wellbeing by method for either the NHTSA or IIHS. The Spark has not least complex electronic dependability keep watch over and electronically monitored slowing mechanisms, yet moreover doorway seat-cinch pretensioners and same old Hill start help- -a decent trademark for youthful drivers. Outward innovative and insightful is great, together with respectable back three-quarter perceivability over the intention energy's shoulder for switching (no back creative and judicious Polaroid is possible). All Sparks come standard with GM's Onstar gadget and 6 free months of bearer.

quickly for a minicar, all Sparks come typical with air-con, vitality windows, a back window wiper, and a drive pc. Furthermore Chevy contemplated that one methodology to make the Spark appear to be considerably less machine like
Categories: DBA Blogs

Oracle EMEA Customer Support Services Excellence Award 2014

The Oracle Instructor - Wed, 2014-09-17 13:54

The corporation announced today that I got the Customer Services Excellence Award 2014 in the category ‘Customer Champion’ for the EMEA region. It is an honor to be listed there together with these excellent professionals that I proudly call colleagues.

CSS Excellence Award 2014


Categories: DBA Blogs

Using the ILOM for Troubleshooting on ODA

Pythian Group - Wed, 2014-09-17 09:25

I worked on root cause analysis for a strange node reboot on client’s Oracle Database Appliance yesterday. The case was quite interesting from the perspective that none of the logs contained any information related to the cause of the reboot. I could only see the log entries for normal activities and then – BOOM! – the start-up sequence! It looked like someone just power cycled the node. I also observed the heartbeat timeouts followed by the node eviction on the remaining node. There was still one place I hadn’t checked and it revealed the cause of the issue.

One of the cool things about ODA is it’s service processor (SP) called Integrated Lights Out Manager (ILOM), which allows you to do many things that you’d normally do being physically located in the data center – power cycle the node, change the BIOS settings, choose boot devices, and … (the drum-roll) … see the console outputs from the server node! And it doesn’t only show the current console output but it keeps logging it too. Each ODA server has its own ILOM, so I found out the IP address for the ILOM of the node which failed and connected to it using SSH.

$ ssh pythian@oda01a-mgmt
Password:

Oracle(R) Integrated Lights Out Manager

Version 3.0.14.13.a r70764

Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.

->
-> ls

 /
    Targets:
        HOST
        STORAGE
        SYS
        SP

    Properties:

    Commands:
        cd
        show

ILOM can be browsed as it would be a directory structure. Here the “Targets” are different components of the system. When you “cd” into a target you see sub-components and so on. Each target can have properties, they are displayed as variable=value pairs under “Properties” section. And there are also list of “Commands” that you can execute for the current target. the “ls” command shows the sub-targets, the properties and the commands for the current target. Here’s how I found the console outputs from the failed node:

-> cd HOST
/HOST

-> ls

 /HOST
    Targets:
        console
        diag

    Properties:
        boot_device = default
        generate_host_nmi = (Cannot show property)

    Commands:
        cd
        set
        show

-> cd console
/HOST/console

-> ls

 /HOST/console
    Targets:
        history

    Properties:
        line_count = 0
        pause_count = 0
        start_from = end

    Commands:
        cd
        show
        start
        stop

-> cd history
/HOST/console/history

-> ls

The last “ls” command started printing all the history of console outputs on my screen and look what I found just before the startup sequence (I removed some lines to make this shorter and I also highlighted the most interesting lines):

divide error: 0000 [#1] SMP
last sysfs file: /sys/devices/pci0000:00/0000:00:09.0/0000:1f:00.0/host7/port-7:1/expander-7:1/port-7:1:2/end_device-7:1:2/target7:0:15/7:0:15:0/timeout
CPU 3
Modules linked in: iptable_filter(U) ip_tables(U) x_tables(U) oracleacfs(P)(U) oracleadvm(P)(U) oracleoks(P)(U) mptctl(U) mptbase(U) autofs4(U) hidp(U) l2cap(U) bluetooth(U) rfkill(U) nfs(U) fscache(U) nfs_acl(U) auth_rpcgss(U) lockd(U) sunrpc(U) bonding(U) be2iscsi(U) ib_iser(U) rdma_cm(U) ib_cm(U) iw_cm(U) ib_sa(U) ib_mad(U) ib_core(U) ib_addr(U) iscsi_tcp(U) bnx2i(U) cnic(U) uio(U) dm_round_robin(U) ipv6(U) cxgb3i(U) libcxgbi(U) cxgb3(U) mdio(U) libiscsi_tcp(U) libiscsi(U) scsi_transport_iscsi(U) video(U
) output(U) sbs(U) sbshc(U) parport_pc(U) lp(U) parport(U) ipmi_si(U) ipmi_devintf(U) ipmi_msghandler(U) igb(U) ixgbe(U) joydev(U) ses(U) enclosure(U) e1000e(U) snd_seq_dummy(U) snd_seq_oss(U) snd_seq_midi_event(U) snd_seq(U) snd_seq_device(U) snd_pcm_oss(U) snd_mixer_oss(U) snd_pcm(U) snd_timer(U) snd(U) soundcore(U) snd_page_alloc(U) iTCO_wdt(U) iTCO_vendor_support(U) shpchp(U) i2c_i801(U) i2c_core(U) ioatdma(U) dca(U) pcspkr(U) dm_multipath(U) usb_storage(U) mpt2sas(U) scsi_transport_sas(U) raid_class(U)
 ahci(U) raid1(U) [last unloaded: microcode]
Pid: 29478, comm: top Tainted: P        W  2.6.32-300.11.1.el5uek #1 SUN FIRE X4370 M2 SERVER
RIP: 0010:[<ffffffff8104b3e8>]  [<ffffffff8104b3e8>] thread_group_times+0x5b/0xab
...
Kernel panic - not syncing: Fatal exception
Pid: 29478, comm: top Tainted: P      D W  2.6.32-300.11.1.el5uek #1
Call Trace:
 [<ffffffff8105797e>] panic+0xa5/0x162
 [<ffffffff8107ae09>] ? up+0x39/0x3e
 [<ffffffff810580d1>] ? release_console_sem+0x194/0x19d
 [<ffffffff8105839a>] ? console_unblank+0x6a/0x6f
 [<ffffffff8105764b>] ? print_oops_end_marker+0x23/0x25
 [<ffffffff81456ea6>] oops_end+0xb7/0xc7
 [<ffffffff8101565d>] die+0x5a/0x63
 [<ffffffff8145677c>] do_trap+0x115/0x124
 [<ffffffff81013674>] do_divide_error+0x96/0x9f
 [<ffffffff8104b3e8>] ? thread_group_times+0x5b/0xab
 [<ffffffff810dd2f8>] ? get_page_from_freelist+0x4be/0x65e
 [<ffffffff81012b1b>] divide_error+0x1b/0x20
 [<ffffffff8104b3e8>] ? thread_group_times+0x5b/0xab
 [<ffffffff8104b3d4>] ? thread_group_times+0x47/0xab
 [<ffffffff8116ee13>] ? collect_sigign_sigcatch+0x46/0x5e
 [<ffffffff8116f366>] do_task_stat+0x354/0x8c3
 [<ffffffff81238267>] ? put_dec+0xcf/0xd2
 [<ffffffff81238396>] ? number+0x12c/0x244
 [<ffffffff8107419b>] ? get_pid_task+0xe/0x19
 [<ffffffff811eac34>] ? security_task_to_inode+0x16/0x18
 [<ffffffff8116a77b>] ? task_lock+0x15/0x17
 [<ffffffff8116add1>] ? task_dumpable+0x29/0x3c
 [<ffffffff8116c1c6>] ? pid_revalidate+0x80/0x99
 [<ffffffff81135992>] ? seq_open+0x25/0xba
 [<ffffffff81135a08>] ? seq_open+0x9b/0xba
 [<ffffffff8116d147>] ? proc_single_show+0x0/0x7a
 [<ffffffff81135b2e>] ? single_open+0x8f/0xb8
 [<ffffffff8116aa0e>] ? proc_single_open+0x23/0x3b
 [<ffffffff81127cc1>] ? do_filp_open+0x4f8/0x92d
 [<ffffffff8116f8e9>] proc_tgid_stat+0x14/0x16
 [<ffffffff8116d1a6>] proc_single_show+0x5f/0x7a
 [<ffffffff81135e73>] seq_read+0x193/0x350
 [<ffffffff811ea88c>] ? security_file_permission+0x16/0x18
 [<ffffffff8111a797>] vfs_read+0xad/0x107
 [<ffffffff8111b24b>] sys_read+0x4c/0x70
 [<ffffffff81011db2>] system_call_fastpath+0x16/0x1b
Rebooting in 60 seconds..???

A quick search on My Oracle Support quickly found a match: Kernel Panic at “thread_group_times+0x5b/0xab” (Doc ID 1620097.1)”. The call stack and the massages are a 100% match and the root cause is a kernel bug that’s fixed in more recent versions.
I’m not sure how I would have gotten to the root cause if this system was not an ODA and the server would have just bounced without logging the Kernel Panic in any of the logs. ODA’s ILOM definitely made the troubleshooting effort less painful and probably saved us from couple more incidents caused by this bug in the future as we’d been able to troubleshoot it quicklyand we’ll be able to implement the fix sooner.

Categories: DBA Blogs