Coskan Gundogar
ORA-02291: integrity constraint (RMAN.RLH_F1) violated
On one of our boxes, we start to get the error stack below when we want to do a crosscheck with catalog database in use.
RMAN>crosscheck archivelog all; released channel: ORA_DISK_1 allocated channel: ORA_DISK_1 channel ORA_DISK_1: sid=357 devtype=DISK RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03009: failure of crosscheck command on ORA_DISK_1 channel at 11/26/2009 15:08:05 ORA-19633: control file record 8403 is out of sync with recovery catalog RMAN>resync catalog; starting full resync of recovery catalog RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03008: error while performing automatic resync of recovery catalog ORA-02291: integrity constraint (RMAN.RLH_F1) violated - parent key not found
I unregistered the DB and register it but after it tries to resync the catalog during registration, error came up like below .
RMAN>unregister database; database unregistered from the recovery catalog RMAN>register database database registered in recovery catalog starting full resync of recovery catalog RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03008: error while performing automatic resync of recovery catalog ORA-02291: integrity constraint (RMAN.RLH_F1) violated - parent key not found
I could not find a metalink note, but a working solution from forums.oracle.com
Basically, you need to run unregister it by running undocumented internal !!!!! DBMS_RCVCAT.UNREGISTERDATABASE procedure on RMAN catalog DB. (ask Oracle support before you start doing something)
SQL> select 'EXEC DBMS_RCVCAT.UNREGISTERDATABASE('||DB_KEY||','||DBID||');'
3 command, resetlogs_time
4 from rc_database
5 where name = '&db_name';
Enter value for db_name: XXXXXX
COMMAND RESETLOGS_TIME
------------------------------------------------------------ -----------------
EXEC DBMS_RCVCAT.UNREGISTERDATABASE(5626305,201074392); 20071130 11:57:12
Run the command if the resetlogs time is right and it will unregister your database from catalog.
Re-register your DB ( RMAN>register database) , if you are lucky as me it will register and sync the catalog without a problem.
Reminder for Oracle Performance Firefighting by Craig Shallahamer
Just a reminder for the ones who are waiting for PDF version of Oracle Performance Firefighting by Craig Shallahamer, it is now available here so you can avoid shipping costs. Click here for my review of the book if you haven’t read before.
Blogroll Report 13/11/2009-20/11/2009
<—- Blogroll Report 06/11/2009 – 13/11/2009
Here is your long reading list for starting a good week
1-How does compress parameter work with traditional export / import?
Anand-Compress
2-Why Isn’t Oracle Allocating More Parallel Slaves?
Kellyn Pedersen-Why Isn’t Oracle Allocating More Parallel Slaves?
3-How to set up external authentication via Radius on Active Directory?
Ronny Egner-Authentificate Oracle user passwords against Active Directory using Radius
4-DBMS_UTILITY.WAIT_ON_PENDING_DML with example
Chet Justice-DBMS_UTILITY.WAIT_ON_PENDING_DML
5-Bug on Running Parallel Query with Order by on already sorted data causes problem?
Christo Kutrovsky-Oracle Parallel Query Sorting and Index Creation Performance Problems
6-How to set up OS Authentication ?
James Koopman-Securing Client Connections: OS Authentication
7-How to hammer your CPU ?
John Hallas-Maxing out CPUs – script
8-Chance of having index with blevel>=4
Martin Widlake-Depth of Indexes on VLDBs
9-How to disable unnecessary hints and keep the necessary ones only after upgrade?
Optimizer Team- What should I do with old hints in my workload?
10-How to convert controlfiles to be oracle managed files?
Neil Johnson-Converting Control Files to be Oracle Managed Files
11-How to add cached memory to free memory on linux ?
Kevin Closson-Linux Free Memory: Is It Free Or Reclaimable? Yes. When I Want Free Memory, I Want Free Memory!
12-How to overcome package owners defaults temp tablespace problem (authid current_user)?
Kellyn Pedersen-Utilizing Separate Temp Tablespace
13-”Explain plan for” reports wrong plan because of implicit conversion of bind variables
Tanel Poder-Explain Plan For command may show you the wrong execution plan – Part 1
14-How to change index hints with new index hint format automatically in sql profiles?
Kerry Osborne-Fixing Bad Index Hints in SQL Profiles (automatically)
15-How to promote partition pruning with applying predicates into using clause of merge statement
David Aldrid-Applying Predicates and Partition Pruning to MERGE Target Tables
16-If a stored subprogram fails with an unhandled exception, PL/SQL does not roll back database work done by the subprogram.
Gary Myers-The amazing disappearing row trick
17-How to find reasons excessive LIO?
Tanel Poder-Finding the reasons for excessive logical IOs
18-How to configure direct NFS on Solaris
Glenn Fawcett-Direct NFS access to Sun Storage 7410 with Oracle 11g and Solaris… configuration and verifcation
19-Oracle and NFS compilation of Kevin Closson
Kevin Closson-Words About Oracle Direct NFS On Sun Storage 7410 And Chip Multithreading Technology (CMT) For Oracle Database 11g Release 2.
20-How to get report of PL/SQL codes using buggy exception
Timo Raitalaakso-PLSQL Warnings
21-How does changing password profile works when the password expire period is already activate?
Robert Geiger-Analysis of Oracle password expiry
22-How to configure FSFO(Fast Start Failover) for 11G Data Guard with Dataguard Broker?
Jim Czuprynski-Fast-Start Failover in Oracle 11g Data Guard
23-How to use transportable tablespaces for moving tablespace from 9i to 11G?
Luis Moreno Campos-How to transport a tablespace from 9i to 11g
24-Orion tool only works when full path is given-Bug on 11GR2
Kevin Closson-Oracle Database 11g Release 2 Includes The Orion I/O Test Tool, But You Better Get That Full Path Name Right.
25-Alternative for CONNECT_BY_ISLEAF function for Recursive Subquery Factoring
Lucas Jellama-Alternative for CONNECT_BY_ISLEAF function for Recursive Subquery Factoring
26-Action to take without applying CPU for vulnerable packages
Paul M Wright-DAMS for Post and PRE-CPU Change Management
27-Why revoking Public execute from a package is not enough for vulnarable packages?
Pete Finnegan-Revoking PUBLIC Execute on SYS.DMP_SYS
28-Online free MSSQL 2008 training for Oracle DBA’s
MSDN-SQL Server 2008 for Oracle DBA
Crash recovery cannot be done automatically – [kcratr1_lastbwr]
I hit the error below during startup of my 10.2.0.1 RAC installation running on Solaris X86-64 on VMWare
ORA-00600: internal error code, arguments: [kcratr1_lastbwr], [], [], [], [],[], [], []
Basically none of the instances start-up with srvctl command and log this error to alert log.
Tried to run manual startup of instances but no chance same error.
Quick search on MOS (yes it was working
) take me to the note 393984.1 (no bug number)
It says this is a bug on Enterprise Edition – Version: 10.2.0.1 to 11.1.0.6.0
Solution is manual recovery.
SQL> startup;
ORACLE instance started.
Total System Global Area 369098752 bytes
Fixed Size 2020864 bytes
Variable Size 138414592 bytes
Database Buffers 226492416 bytes
Redo Buffers 2170880 bytes
Database mounted.
ORA-00600: internal error code, arguments: [kcratr1_lastbwr], [], [], [], [],
[], [], []
SQL> recover database;
Media recovery complete.
SQL> alter database open;
Database altered.
Blogroll Report 06/11/2009-13/11/2009
<—- Blogroll Report 30/10/2009 – 06/11/2009
1-How to upgrade to 11GR2?
Mike Dietrich-New version of “Upgrade to 11g – The whole Story” slides available
2-How to diagnose row cache lock?
Surachart Opun-Investigate row cache lock
3-Cases where Oracle Wait Interface is Useless?
James Morle-The Oracle Wait Interface Is Useless (sometimes) – Part One: The Problem Definition
4-How to do logging in PL/SQL ?
Dion Cho-Logging in PLSQL
5-Index freelist problem during mass delete insert
Jonathan Lewis-Index Freelists
6-How to change password of database link in 11GR2?- New manageability feature of 11GR2
Ittichai Chammavanijakul-11gR2 New Feature – Alter Database Link to Change Password
7-How querying GV$ dynamic views works?
Jacco H. Landlust-px-slaves and gv$session
8-How to troubleshoot network connection problems?
HP NZ Database Services-Troubleshooting network connection
9-How to automate sql_advisor tasks from ADDM reports in 10G?
John Hallas-Automatically running sql_advisor tasks from ADDM reports
10-Why performance gain of rebuilding index is minimum?
Richard Foote-An Index Only Performs How Much Work ???
11-How to use DBMS_METADATA to generate user creation scripts?
Alex Nuijten-Create Users with DBMS_METADATA
12-Possible reasons of slowness with same execution plan (check the comments)
Jonathan Lewis-No change
13-How to detect and empty CLOB column?
Alex Nuijten-An Empty Clob is not NULL, it’s NOT NULL
14-Solution to ORA-04030: with SGA multiple of 4GB and having high CPU count
John Hallas-Problems with SGA being a multiple of 4Gb (and high cpu count)
15-Index BLEVEL and CBO cost relationship
Martin Widlake-BLEVEL and Height of Indexes
16-Detecting real-time archive lag and running statspack with 11GR2 Active Dataguard
Robert Geiger-MAA for Active Dataguard
17-How to get dataguard related metrics from OEM?
Robert Geiger-Select metrics from the OEM repository
18-How does AUTO_SAMLE_SIZE and SIZE_AUTO differs from each other for DBMS_STATS?
Hemant K Chitale-Sample Sizes : Table level and Column level
19-How to use rsyslog to log syslog and database audit message to an Oracle database?
Ronny Egner-Logging syslog and database audit messages to an oracle database with rsyslog
Blogroll Report 13/11/2009 – 20/11/2009–>
http://wp.me/p2Pkj-aL
Blogroll Report 30/10/2009-06/11/2009
<—- Blogroll Report 23/10/2009 – 30/10/2009
This one is written at Lisbon, after the most amazing concert I have ever seen at this very nice city (If you love Rammstein or you love fire shows, don’t miss their concert, I will definitely be at Wembley )
I am trying to write it on an Apple machine with Portuguese keyboard layout and it is a bit torture for a regular UK layout windows keyboard user. I hope I did not make a mistake during html editing.
1-Different approach to BCHR
Martin Widlake-Buffer Cache Hit Ratio my guilty Confession
2-Become user privilege in Oracle ?
Paul M Wright-Oracle Identity Integrity
3-Automatic adjustment of CLUSTER_DATABASE_INSTANCES parameter after CLUSTER_DATABASE=FALSE
Martin Nash-CLUSTER_DATABASE=FALSE
4-Unnecessary primary bounce step while Increasing the Dataguard Protection Level
Jason Arneil-Increasing the Dataguard Protection Level
5-How to use ACFSUTIL for Snapshots?
Ronny Egner-ACFS Snapshots
6-OCR Mirror Failover bug on NFS and OS Bonding bug with RACVIP
Freek D’Hooge-Two Oracle RAC bugs on the wall, two Oracle bugs. Take one down
7-How to choose passwords ?
Pete Finnigan-One more point on Oracle password crackers
8-How to configure OEM Blackouts ?
Dave Best-Setting EM Blackouts from the GUI and Command Line
9-Changes on Materialized View Logs in 11GR2 (timestamp-based and new commit SCN-based)
Alberto Dell’era-11gR2: materialized view logs changes
10-Using 11gR2 LISTTAG function for Tom Kytes Unindexed Foreign Keys script
Timo Raitalaakso-unindex 11.2
11-ORA-00942 with mixed case table names?
Anand-Table name silly but interesting
12-How to troubleshoot high redo generation growth?
Chen Shapira-The Senile DBA Guide To Troubleshooting Sudden Growth In Redo Generation
13-When foreign key indexes are not necessary?
Jonathan Lewis-Foreign Keys 2
14-Easy to read CRS_STAT output
Orhan Biyiklioglu-crs_stat for mere mortals
15-How to detect Migrated Chained Rows using v$sesstat and how to estimate the impact of them?
Tanel Poder-Detect chained and migrated rows in Oracle Part 1
16-How to choose right filesystem for Oracle on linux?
Ronny Egner-Which file system to choose for running Oracle on Linux
17-Cases where partitioning causes performance problems
Martin Widlake-Partitions are Still Not for Performance – Sometimes
18-How to use RDA Health Check utility for prerequisite check for installations?
Yossi Nixon-RDA – Health Check (HCVE)
19-How to use Open LDAP to store DB connection strings?
Ronny Egner-Storing Oracle database connection strings in OpenLDAP instead of OID
20-Revisited version of Upgrade to 11GWholo story to cover 11GR2
Mike Dietrich-New version of “Upgrade to 11g – The whole Story” slides available
21- stop system command on Redhat crashes DB
Frits Hoogland-Do you crash your database on machine shutdown?
22-How to solve manual kernel header update problem on OEL 5 version 4 update?
Vitaliy Mogilevskiy-OEL 5.4 Unresolvable chain of dependencies on kernel-headers
23-How to get client IP from AUD$?
Anand-IP in aud$ table
24-How to use EXP/IMP commands in Datapump with legacy mode?
Oracle Contractors-DataPump Legacy Mode in 11g Release 2
25-How to recover from lost online redo logs with dataguard?
Mahias Zarick-Recover from Lost Online Redo Logs with Data Guard
26-Factors affecting LIO
Harald van Breederode-Explaining the number of Consistent Gets
27-Index space allocation anomalies
Jonathan Lewis-Did you know?
28-FAQ about Flashback Database
André Araujo-Questions you always wanted to ask about Flashback Database…
Blogroll Report 06/11/2009 – 07/11/2009–>
Oracle 10g/11g Data and Database Management Utilities by Hector R Madrid
Two months ago I got mail from PACKT Publishing to review Oracle 10g/11g Data and Database Management Utilities by Hector R Madrid under their free blogger review program. Initially, I promised to finish it by beginning of October, but due to personal reasons, I can only finish it by today. Till I do my review, Hemant K Chitale and Anantha Narayan from Oracle blogosphere already mentioned about the book in their blogs so you can go and check their opinions as well (able to find different opinions, before buying something is definitely a good option)
After marketing and excuse section, now it is time to review the book,
This book promises us to learn (taken from the back cover);
- to optimize time-consuming tasks efficiently by using Oracle DB utilities.
- perform data loads on the fly and replace the functionality of the old exp/imp utilities using data pump or SQL*Loader
- boost defences with Oracle Wallet
- Improve Performance of RMAN backups
- Perform more than just ETL process by taking advantage of the External Tables feature
Can it keep it’s promise ? I think Hector did very well about keeping his promise.
I liked the way he wrote the book, it is again very well organized with very simple easy to understand language. (If you have read my old reviews probably you already know that, I like the books I can finish, so in my opinion a good book must be a page turner as well as being technically satisfactory)
Who should have this book ?
There is already a who is this book written for on the back cover but I have to add some words on top of it.
If you don’t like to read Oracle Official Docs very much, if you can easily get bored or lost during your official docs journey and you want to have a reference on your desk about available Oracle Utilities, this book is definitely written for you.
If you are DBA at the same place more than 5 years (where things are stable enough) and started this job with version 7 or 8 and due to the nature of your company or yourself you don’t have to learn new things that much and can still pay your mortgage this book is a MUST for you. At least you can ease your life, save gazillions of time and look wiser to the new junior DBA when you can able to compare exp with data pump because if you can’t do it they wont trust your experience at least I don’t. Market is very tight and this book gives you enough knowledge to cope with market conditions.
If you are a junior DBA who doesn’t know where to start Oracle Utilities, I strongly recommend this book for your personal development.
Do I happy to have the book ? Sure I do. I did not learn new things that much but it worth reading for just couple of tips and tricks and learning some of the topics I have no experience on.
Now, is the time to go over the summary of topics. (What Hector did was he tried to cover every topic with average 30 pages and enough screenshots and code samples this make book easy to read and avoid boredom of long topics. )
1-Data Pump: This topic is well covered. There is enough information for started. I wish Hector covered the compression and encryption options of 11G, with examples. I liked tuning Data Pump performance section where he covers factors other than parallelism which affects datapump performance.
2-SQL*Loader: I have to confess that SQL*Loader is something very old in Oracle but I am kind a new for it because I never needed to use it at job so my knowledge was depending on simple tests. It was very nice to learn what it is capable of with loads of examples.
3-External Tables: I love and used external tables very much for mostly data and this section brought new areas of usage to my knowledge like reading listener and alert log via external tables.
4- Recovery Manager Advanced Techniques: I think this topic is named wrongly because when you see advanced you expect more but I did not get that much. It basically covers what RMAN can do instead of your old manual backup techniques. If you already an RMAN user and don’t know the new feature called faster backups through intra-file parallel backup restore operations in 11G it will be a good learning for you.
5- Recovery Manager Restore Recovery Techniques: This is the second part of RMAN managed backups which is RMAN managed restore recovery. Nothing new for me and I have to say TSPTR which is the most important feature is missed.
6- Session Management: Overall session monitoring for wait and lock analysis is covered with addition of resource manager. Old school boys will definitely find something new in this chapter.
7- Oracle Scheduler: This chapter can convince you to use this tool more. Job Chains should be covered with a little detail I think.
8- Oracle Wallet Manager: This chapter was new to me and probably new to most of you. I can say that is a good introduction to Oracle Wallet Manager.
9- Security Management: Again good introduction for encryption options available in Oracle. It is mostly practical usage of previous chapter.
10-Database Configuration Assistant: I use DBCA very much and this chapter was a bit fast reading but it is a must for guys who are not aware of what this tool can do other than creating a DB.
11- Oracle Universal Installer: Basically, Hector tried to mention that this tool is not just doing next next next. Cloning Oracle home using OUI was a new learning for me.
12- Enterprise Manager Configuration Assistant: There are nice tips and tricks about emca troubleshooting. You will like this topic if you have problems with this tool and don’t know where to look.
13-Opatch: This chapter is very well detailed and it adds Enterprise Manager usage for opatch utility. A must read for the ones who use opatch when applying patch.
Biggest problem of this book is lack of references. I really don’t like something without references. The author cannot know them by himself, he should have learned them from somewhere and it would be very nice if he shared them with us too so the book can point the users to the right directions to finalize their journey about utility they look for.
Well that’s about it. I want to thank PACKT Publishing for free review option and Hector for this nice work.
If I can find time to read, Next Book review probably will be Practical Oracle 8i :Building Efficient Databases , which I finally got my copy of it and willing to read it asap. Luckily Christmas coming and it will be quite at work
Blogroll Report 23/10/2009-30/10/2009
<—- Blogroll Report 16/10/2009 – 23/10/2009
1-Solution to ASMLIB creadisk problem with EMC Power Path
Orhan Biyiklioglu-ASMLIB createdisk problem on emcpower devices — solved
2-How to create a database link in another users schema ?
Marko Sutic-Create a Database Link in another user’s schema
3-How DST works for current running sessions?
Freek D’Hooge-Wintertime (again)
4-How join key effects CBO for multi-column joins ?
Randolf Geist-Multi-column joins
5-More on How Intra-Block Row chaining effects with tables with more than 255 columns?
Hemant K Chitale-Some MORE Testing on Intra-Block Row Chaining
6-pros/cons of linux distrubutions for Oracle from DBA perspective
Ronny Egners-Oracle on linux – yes of course – but what linux?
7-What happens when you drop table during select operation?
Uwe Hesse-Dropping a table during SELECT
8-How to tune kernel settings for Linux-x86_64 Error: 28: No space left on device?
Surachart Opun-Shared Memory Tuning: startup database – ORA-27102: out of memory Linux-X86_64 Error: 28: No space left on device
9-How to move datafiles in ASM with ASMCMD CP command?
Surachart Opun-MOVING DATAFILE IN ASM BY ASMCMD(cp)
10-Tom Kyte’s Favourites from 11GR2 New Features
Tom Kyte-Looking at the New Edition
11-How partitioning can cause bad performance on wrong partition implementations?
Martin Widlake-Partitions are Not for Performance
12-New semantic hints on 11GR2 ?
Rob Van Wijk-Three new “hints”
13-How to apply PSU for 11.1.0.7.1 ?
John Hallas-PSU for 11.1.0.7.1
14-How to find waiters with oradebug in 11GR2 ?
Miladin Modrakovic-Find waiter with Oradebug 11gR2
15-How to install TOra on Ubuntu 9.10 ?
Brad Hudson-Installing TOra with Oracle Support on Ubuntu 9.10 (Karmic Koala)
16-Reasons to move 11GR2 ?
Kerry Osborne-11g Release 2 Technology Day – Dallas Cowboy Stadium
17-Netbackup 6.5.4 does not work with 11GR2
Jason Arneil-Netbackup 6.5.4 and Oracle 11gR2
18-Ways to copy schema stats from one schema to another schema?
Ronny Egner-How to copy schema stats from one schema to another schema
19-All about checkpoints
Harald Van Breedore-Checkpoint presentation presented at the RAC SIG
20-How to recover from crashed ASM disk in normal/high redundancy ?
Ronny Egner-ASM resilvering – or – how to recover your crashed cluster – Test no 5
21-Logging “log file parallel write” relationship and nologging with dataguard
Jonathan Lewis-logging
Blogroll Report 30/10/2009 – 06/11/2009–>
Blogroll Report 16/10/2009-23/10/2009
<—- Blogroll Report 09/10/2009 – 16/10/2009
1-How Intra-Block Row chaining effects consistent gets with tables over 255 columns ? (read Oracle L question as well)
Hemant K Chitale – Some Testing on Intra-Block Row Chaining
2-Consolidation Story of 15 Oracle Databases into 5 RAC nodes
Husnu Sensoy-“How to Achieve All in One with Oracle 11g” Material
3-Oracle Backup Recovery Best Practices
Husnu Sensoy -“Oracle Database Backup-and-Recovery Best Practices and New Features” Material
4-Min Privilege required to run FLUSH_DATABASE_MONITORING_INFO
Martin Widlake -Privileges required to FLUSH_DATABASE_MONITORING_INFO
5-How to see uncommitted transactions ?
Miladin Modrakovic- Uncommitted Transactions
6-Shell Scripting tips summary from OOW09
Chen Shapira-Lessons From OOW09 #1 – Shell Script Tips
7-How to convert Physical Standby into Logical standby when DG Broker in place?
Grégory Guillou-Turning a Physical Standby and its Broker into a Logical Standby
8-New Grid Infrastructure ASM Installation and Scheduler features summary of 11GR2
Jim Czuprynski-Oracle Database 11g Release 2 New Features Summary, Part 1
9-How to escalate an Oracle DB user with CREATE TABLE privilege to OSDBA?
Paul M. Wright-CREATE TABLE to OSDBA
10-How to start a Job When a File Arrives on a System – 11GR2 New Features File Watcher?
Ittichai Chammavanijakul-11gR2 New Feature – File Watchers
11-How to use DBFS-11GR2 New features Database File System?
Ittichai Chammavanijakul-11gR2 New Feature – DBFS Database File System
12-How to Setup 10gRAC with Solaris (IPMP)?
Surachart Opun-How to Setup 10gRAC with Solaris (IPMP)
13-Activating supplemental logging is not replicated to standby db
Freek D’Hooge -Multiple standby databases and supplemental logging
14-Global indexes and partition maintenance operations
David Kurtz-Partition Maintenance with Globally Partitioned Indexes
15-Where to use XML DB?
Marko Gralike-Oracle XML(DB) Use Cases
16-How to reduce redo generation for updates on bitmap indexed columns?
Jonathan Lewis- Bitmap Updates
17-Possible cause of ORA-01008: not all variables bound ?
Marko Sutic-Cursor_sharing=FORCE causing “ORA-01008: not all variables bound” error on Oracle 10.2.0.4
18-How to use RMAN for moving datafiles between ASM diskgroups?
Surachart Opun-Moving datafile (system) from one ASM Diskgroup to Another
19-Solutions for DTS prblems with DBMS_SCHEDULER
Freek D’Hooge-switching to wintertime
20-IF a package is created such that it is executed with invokers rights then roles are seen in PL/SQL.
Martin Widlake-Accessing Roles in stored PL/SQL
21-Solution to ORA-24062
Frank Van Bortel-ORA-24062 ( Subscriber table inconsistent with queue table)
22-How can index clustering factor can be smaller after index rebuild?
Jonathan Lewis-Quiz Night
23-APPEND hint with values clause behavior in different Oracle versions
Christian Antognini-Hints for Direct-path Insert Statements
24-New flashback query through DDL for Flachback Archive
Uwe Hesse-“Total Recall”: Brief introduction into Flashback Data Archive
25-How does edition based redefinition works?
Jean Pierre Dijcks-Edition Based Redefinition
26-How new density works with frequency histograms?
Alberto Dell’Era-CBO: NewDensity for Frequency Histograms,11g-10.2.0.4 (densities part IV)
Blogroll Report 23/10/2009 – 30/10/2009 —>
Blogroll Report 09/10/2009-16/10/2009
<—- Blogroll Report 02/10/2009 – 09/10/2009
<—- Blogroll Report 02/10/2009 – 09/10/2009
Finally BT managed to re-connect my home broadband and I am ready to give you stale news (yes I was busy again
) from blogosphere.
1-Density calculation in Oracle CBO
Alberto Dell’Era-CBO: about the statistical definition of “cardinality” (densities part I)
Alberto Dell’Era-CBO: the formula for the “density” column statistic (densities part II)
Alberto Dell’Era-CBO: “NewDensity” replaces “density” in 11g, 10.2.0.4 (densities part III)
2-How to automate partition maintenance in 10G
Luis Moreno Campos-Automatic Partition Management for Oracle 10g
3-How to configure data guard broker in 11G
Simon Ryan-Configuring Dataguard Broker in 11G
4-Possible solution for PROC-5: User does not have permission to perform a cluster registry operation on this key
Geert de Paep-Scenario 5: Loss of ocrmirror from non-ocr-master – reloaded
5-External table enhancements in 11G (compression,encryption,preprocessor)
Adrian Billinton-external table enhancements in 11g
6-How to list directories with external table preprocessor in 11G?
Adrian Billinton-listing files with the external table preprocessor in 11g
7-How to bypass DBMS_ADVANCED_REWRITE DML restriction?
Dion Cho -DBMS_ADVANCED_REWRITE and DML
8-How to solve Authentication Failed!Null on OEM?
Emre Baransel-Authentication Failed!Null
9-How to solve sudoku with recursive subquery dactoring-11GR2 new feature
Anton Scheffer-Oracle RDBMS 11gR2 – Solving a Sudoku using Recursive Subquery Factoring
10-Edition Based Redefinition – 11GR2 new feature
Lucas Jellema-OOW 2009: The killer feature of Oracle Database 11gR2 – Edition Based Redefinition (or database object versioning)
11-How to attach a sql profile to a different statement ?
Kerry Osborne-How to Attach a SQL Profile to a Different Statement – Take 2
12-How to do Blind SQL injection in Oracle ?
Slavik Markovich-Blind SQL Injection in Oracle
13-Alternative Solutions to VLDB backup duration problems
Martin Widlake-VLDB Backups
14-How does statistic gathering effect global temporary tables?
David Kurtz-Global Temporary Tables Shared Statistics Across Sessions
15-Possible solution to ORA-15555 when you are running flashback query?
Shakir Sadikal-ORA-01555: snapshot too old, When Running Flashback Query
16-How to protect data from user DML?
Steve Callan-Protecting Data from Users
17-How does undo redo work with recovery in nutshell?
Jonathan Lewis-Nutshell-1
18-How to use V$row_cache_parent for finding row cache lock holder?
Dion Cho-Finding out the row cache lock holder through V$ view
19-How does AQ notification works in Oracle 11G ?
Luke Davies-AQ Notifications in Oracle 11gR1
20-How to see blocking locks happaned in the past?
Miladin Modrakovic-Blocking locks history
21-How do LOBS and Streams work together ?
Grégory Guillou-Streams LCRs and LOBs
Grégory Guillou-LOB Chunks
Blogroll Report 16/10/2009 – 23/10/2009 –>
Blogroll Report 02/10/2009-09/10/2009
<—- Blogroll Report 25/09/2009 – 02/10/2009
Everybody is at OOW09 and I am not, this is not fair :( . I hope next year I will make it and meet with people at bloggers meeting.
1-Grid control patch fails when you have “/oracle/product” in your home on Windows
Marcin Przepiorowski-What can happen if you have “\p” in your ORACLE_HOME
2-How to take rolling forward image copy backup?
Asanga Pradeep-Rolling Forward Image Copy Backups
3-Oracle password solver – Can be useful if you dont know the password but the hash
Pete Finnigan-60 million password hashes/second Oracle password cracker available
4-How to create database service on 11gR2?
Surachart Opun-How to create Oracle Service on 11gR2
5-Possible solution “for unable to extend segment in undo tablespace”?
Jonathan Lewis- Undone
6-Problems with data recovery advisor in 11G
Luis Moreno Campos-Advanced Corruption Resolution with RMAN
7-How to do cascaded update on child tables?
Thomas Kyte -UPDATE CASCADE PACKAGE
8-How to do base conversions to decimal hexadecimal binarc etc?
Thomas Kyte-Base Conversion Routines
9-How to find foreign keys which are not indexed (unindex script)?
Thomas Kyte-Unindexed Foreign Keys
10-How to find who called and what is the caller in a running procedure?
Thomas Kyte-How Can I find out who called me or what my name is?
11-How to unload data to a flat file?
Thomas Kyte-How Can I unload data to a flat file?
12-ORA-01792 at index creation
Timo Raitalaakso-Not overlapping daily
13-How to use Datapump and Diff command for schema comparison?
André Araujo-Free and Easy Schema diff for Oracle
14-What happens when OCR Non-Master cannot see/loose OCR mirror ?
Geert De Paep-Scenario 4: Loss of ocrmirror from the non-OCR MASTER
15-Hash Cluster Problems
Jonathan Lewis-Hash Clusters-2
16-How to do online san storage migration for 11G Rac with ASM?
Ittichai Chammavanijakul-Online SAN Storage Migration for Oracle 11g RAC database with ASM
17-How to configure OLTP with reporting queries using Streams
Alisher Yuldashev-How to configure OLTP with reporting queries
18-Worst Practices for Oracle database security
Pete Finnegan-Oracle Security Worst Practices
19-Interval data type for beginners
Luis Moreno Campos -Everything you wanted to know about INTERVAL datatype but was too guru to ask
20-How to use XStream In ?-New database overall feature of 11GR2
Grégory Guillou-XStream Inbound… A Sample Java Program
21-How to use XStream Out?-New database overall feature of 11GR2
Grégory Guillou-XStream Outbound… A sample Java Program
22-FAQ about XStreams -New database overall feature of 11GR2
Grégory Guillou-My XStream FAQ
Blogroll Report 09/10/2009 – 16/10/2009–>
Blogroll Report 25/09/2009-02/10/2009
<—- Blogroll Report 18/09/2009 – 25/09/2009
Finally, managed to finish this weeks selection. I was in Rotterdam for MSSQL 2008 training and did not have time to read anything. I am also moving my house this weekend and as you guess also a time consuming issue but after I move I will have a study room which means more stuff to write other than list/index what I read and liked (My Plans depend, if BT moves my land line quickly otherwise 20 days without internet at home )
1-MTU size and RAC
Glenn Fawcet-Jumbo Frames with Oracle RAC really does Rock!!
2-Performance impact of functions in SQL
Hemant K Chitale-SQLs in Functions : Performance Impact
3-Solution for ORA-00942 when querying USER_QUEUE_SUBSCRIBERS
Flavio Casetta-ORA-00942 when querying USER_QUEUE_SUBSCRIBERS
4-How to multiply/migrate controlfiles in ASM by restore command?
John Hallas-Managing control files in ASM
5-How to write your queries against dictionary views?
Dion Cho-Tuning query on the fixed table
6- How filtering as much as you can, can help data dictionary table performance?
Martin Widlake-Data Dictionary Performance 2
7-How default user passwords and account statuses behave?
Pete Finnigan - Default Users
8-How to generate grammatically random passwords ?
Pete Finnigan-A grammatically correct random pass phrase generator
9- How to duplicate database via Enterprise Manager-11GR2 new manageability feature?
Luis Moreno Campos-Duplicating a database has never been so easy! (11gR2 new feature)?
10-How to use LNNVL function?
Luis Moreno Campos-Conditional function LNNVL: the bullsh*t detector
11-Questioning the reliability of V$SQL.BUFFER_GETS?
Luke Davies-Over 4 Billion Buffer Gets?
12-What is latency hiding means in real life?
James Morle - Latency Hiding For Fun and Profit
13-Characterset and client and client codepage reletionship (Please Read all the series if you are struggling with different charactersets highly recommended)
Frank Van Bortel - “Special” characters – part IV
14-SYSTEM tablespace does not have RECYCLE_BIN option
Luis Moreno Campos -How many times have I told not to create objects in the SYS schema?
15-11G AUTOMATIC DIAGNOSTIC REPOSITORY (ADR) in a nutshell?
Virag Sharma – Automatic Diagnostic Repository (ADR)
16-What does _smm_isort_cap parameter do ?
Jonathan Lewis - _smm_isort_cap
17-What happens when OCR Master cannot see/loose OCR mirror ?
Geert De Paep-Scenario 3: Loss of OCRmirror from the OCR MASTER only
18-How to install 11GR2 RAC on Linux on VMWare Server 2?
Tim Hall-Oracle 11g Release 2 RAC On Linux Using VMware Server 2
19-Scheduler Related enhancements in 11GR2-New server manageability feature of 11GR2
Tim Hall-New scheduler stuff in 11gR2
20-New enhancements on hierarchical queries with Recursive Subquery Factoring-11GR2 New Feature
Lucas Jellema - Oracle RDBMS 11gR2 – new style hierarchical querying using Recursive Subquery Factoring
21-How in memory parallel execution works in 11GR2-New Data-New Business Intelligence and Data Warehousing feature of 11GR2?
Maria Colgan-In-Memory Parallel Execution in Oracle Database 11gR2
Blogroll Report 02/10/2009 – 09/09/2009–>
Blogroll Report 18/09/2009 – 25/09/2009
<—- Blogroll Report 11/09/2009 – 18/09/2009
Here come this week’s selection,
1-Solution to “ORA-38760: This database instance failed to turn on flashback database” after interrupted flashback database
Fairlie Rego – Interrupting Flashback Database
2-ASSM bug with different data block size
Jonathan Lewis – Bugs
3-Functions in SQLS and read consistency behaviour
Hemant K Chitale-SQLs in Functions : Each Execution is Independent
4-What happens and how to recover when you lose your OCR mirror and all the nodes were down?
Geert De Paep-The ultimate story about OCR, OCRMIRROR and 2 storage boxes – Chapter 1
5-Why do we need to have power of 2 numbers of partitions for hash partitioning?
Jonathan Lewis – Hash Partitions
6-Diagnosing network problem by tracing system calls
Amit Bansal-Sqlplus connection on AIX taking too long
7-Limits on Triggers with LOB’s
Grégory Guillou-Triggers and LOBs: Synchronous CDC and Synchronous Streams Capture
8-Different behaviour of dictionary tables for Deleted tables
Martin Widlake-Beware Deleted Tables
9-How to use BBED for data extracting/hacking?
Steve Callan-Oracle’s Block Browser and Editor tool
10-How to do manual failover with 11G Data Guard Broker
Jim Czuprynski-Performing Database Failover with Oracle 11g Data Guard
11-How to configure alternate pfile/spfile location on windows systems by using registry keys
Matt Canning-Alternate locations for database parameter files in 11g – Part 4 of 7
12-Auditing for beginners
Robert Geier-Enable Oracle auditing BEFORE you need it
13-How to configure Data Guard Broker
Apun Hiran - How To: Configure Data Guard Broker
14-How to configure Data Guard Fast-Start Failover with Data Guard Broker
Apun Hiran - How To: Configure Data Guard Fast-Start Failover Step By Step
11GR2 Related Posts
1-Architecture behind exadata v2 flash cache?
Jean Pierre Dijcks-500GB/sec and Database Machine Generation 2
2-SSH User setup for Clusterware installation-11GR2 New feature
Luis Moreno Campos-SSH User Equivalence in 11gR2 Real Application Clusters Clusterware installation
3-Video for installing 3 node Oracle RAC 11G in VMWare
Eric (masterschema)-Install Oracle RAC 11g R2 in VMWare – 3 nodes
4-Video for adding 4th node on 3 node Oracle RAC 11G in VMWare
Eric (masterschema)-Extending RAC 11gR2 to 4th node
5-Video for having more than one DB in a single RAC cluster in VMWare
Eric (masterschema)-More than one database in a single RAC cluster
6-How to create new mount point with ASMCA-11GR2 New database manageability feature
Luis Moreno Campos-Putting ACFS to work: how to create a mount point in the new Oracle File System
7-Technical whitepaper for Sun Oracle Exadata V2 database machine (PDF file)
Oracle – A Technical Overview of the Sun Oracle Exadata Storage Server and Database Machine
Blogroll Report 25/09/2009 – 02/10/2009–>
Blogroll Report 11/09/2009 – 18/09/2009
<—- Blogroll Report 04/09/2009 – 11/09/2009
Another 11GR2 week but this time with addition of Exadata V2 announcement. It was hard to pick one and I chose Alex Gorbachev’s views about this new database machine.
1-What are simulators in shared pool buffer cache ?
Tanel Poder - KGL simulator, shared pool simulator and buffer cache simulator – what are these?
2-When does Plan_hash_value changes?
Riyaj Shamsudeen – Is plan_hash_value a final say?
3-Nologging and recovery relationsip
Uwe Hesse -How do NOLOGGING operations affect RECOVERY?
4-Pros and Cons of the supported ways to solve index explosion
Jonathan Lewis – Index Explosion 4
5-How to move from ASM to filesystem?
John Hallas – Moving from ASM storage back to filesystem
6-How to regress Opatch version?
John Hallas – Regressing an Opatch version
7-How to use MV_CAPABILITIES_TABLE for fast refreshable materialized view restrictions?
Rob Van Wijk-Fast refreshable materialized view errors, part six: MV_CAPABILITIES_TABLE
8- Why/How to split check constraints when there is top-level AND?
Rob Van Wijk-Check constraints and AND
9- What happens and how to recover when you loose your OCR mirror ?
Geert De Paep-The ultimate story about OCR, OCRMIRROR and 2 storage boxes – Chapter 1
10- Report need backup and retention policy relationship
Khurram Siddiqui – coreletion between report need backup and retention policy
11- How histogram gathering works when first N characters is same?
Martin Widlake – Decrypting Histogram Data #3 – is 7 or 15 Characters Significant?
12- In what cases System statistics gathering can fail and workarounds (ORA-20003: Unable to gather system statistics)?
Martin Widlake – Another Day, Another Obscure Oracle Error
13- What is a VLDB and Who is VLDB DBA?
Martin Widlake – What is a VLDB
14- How to install Oracle Database 10g on Mac OS X Snow Leopard?
Raimonds Simanovskis – How to install Oracle Database 10g on Mac OS X 10.6 Snow Leopard
15- ASM Hands on Trainings by Alejandro Vargas (22 labs so far so I put archive link instead of all)
Alejandro Vargas – ASM Hands on Trainings
16- How to configure and use Oracle Public Yum?
Charles Kim – Public Yum with Oracle
17- How system statistics and CPU costing model works with indexes?
Richard Foote-The CBO CPU Costing Model and Indexes – Another Introduction
18- How to create read only OEM user?
Rajeev Ramdas Thottathil – Creating a view only user in Enterprise Manager grid control
19 – How to diagnose a problem for solving with Method-R?
Carry Milsap-On the Importance of Diagnosing Before Resolving
20- What privileges you need to copy schemas over database link in a procedure
Dani Ray-The gains and pains of dbms_datapump. Part I
11GR2 New Features Posts
1- Exadata V2
Alex Gorbachev -Unveiling the OLTP Oracle Database Machine & Exadata v2
2- How to do maintenance on ASM Volumes and Cluster File Systems- New Server Manageability Feature of 11GR2
Charles Kim – Maintaining ASM Volumes and Cluster File Systems in Oracle Database 11g Release 2
3- How to create disk groups with ASMCMD Command Extensions- New Server Manageability Feature of 11GR2
Charles Kim -New ways to create disk groups in Oracle Database 11g Release 2
4- ASMCMD Command Extensions- New Server Manageability Feature of 11GR2
Charles Kim -Ways to mount and dismount disk groups in Oracle Database 11g Release 2
5- How to rename disk groups with renamedg utility – New Server Manageability Feature of 11GR2
Charles Kim – Rename Disk Group
6- How to manage volumes with ASMCMD Command Extensions – New Server Manageability Feature of 11GR2
Charles Kim – Volume Management with asmcmd
7- ASM Cluster File System (ACFS) command line – New Server Manageability Feature of 11GR2
Charles Kim – ACFS command-line tools available in Oracle Database 11g Release 2
8- How to configure ACFS for auto-startup – New Server Manageability Feature of 11GR2
Charles Kim – Configure ACFS for auto-startup for non-RAC database servers
9- New DBMS_COMPRESSION package – New Server Manageability Feature of 11GR2
Chandra Pabba-Oracle11gR2 Table / Tablespace Compression
10- Intelligent Data Placement – New Server Manageability Feature of 11GR2
Chandra Pabba-Oracle11gR2 ASM New Feature – Intelligent Data Placement
11- Deferred Segment Creation behaviour with traditional Export / Import – New Server Manageability Feature of 11GR2
Chandra Pabba- Oracle11gR2: Deferred Segment Creation and export behavior!
12- NTH_VALUE Analytic function – New Business Intelligence and Data Warehousing feature of 11GR2
Lucas Jellema - Oracle Database 11gR2 – New analytical function NTH_VALUE
Blogroll Report 18/09/2009 – 25/09/2009—->
Simple blank matters
I saw this interesting bug on Metalink headlines and I thought it will be nice to post it here.
This is the heading of the bug ‘ADDING COLUMN WITH DEFAULT NULL LEADS TO UNNECESSARY FULL TABLE UPDATE ‘ numbered 8840491.
Normally, if you add a column with a default null value, there won’t be an update on the table itself (I think after 10G because trace for 9i shows update on table), running at the background, but if you put some spaces to make your alter statement look better, it is where the problem begins.
What I mean is these 4 statements are different during runtime due to the bug.
alter table test add (id number default null);
alter table test add ( id number default null);
alter table test add (id number default null );
alter table test add ( id number default null );
Lets see how do they differ. Actual bug is reported on 10.2.0.4 and I am able reproduce it on 11.1.0.6
SQL> set timing on SQL> create table test (id number not null); Table created. Elapsed: 00:00:00.54 SQL> insert into test 2 select rownum from dual connect by level<=1000000; 1000000 rows created. Elapsed: 00:00:01.65 SQL> alter session set tracefile_identifier=null_bug_test; Session altered. Elapsed: 00:00:00.00 SQL> exec dbms_session.session_trace_enable; PL/SQL procedure successfully completed. Elapsed: 00:00:00.09 SQL> --no space before after () SQL> alter table test add (id2 number default null) ; Table altered. Elapsed: 00:00:00.09 SQL> --space after ( SQL> alter table test add ( id3 number default null) ; Table altered. Elapsed: 00:00:00.01 SQL> --space before ) SQL> alter table test add (id4 number default null ) ; Table altered. Elapsed: 00:01:12.90 SQL> --space before and after () SQL> alter table test add ( id5 number default null ) ; Table altered. Elapsed: 00:01:34.27 SQL> -- spaces everywhere but not after before () SQL> alter table test add (id6 number default null) ; Table altered. Elapsed: 00:00:00.04 SQL>
As you see from the timings some of them are longer than expected. Lets find them in tracefile
These are the update statements from the trace file.
===================== PARSING IN CURSOR #1 len=29 dep=1 uid=82 oct=6 lid=82 tim=21689660840 hv=720540867 ad='30679e28' sqlid='7nb3cf4pg5563' update "TEST" set "ID4"=null END OF STMT PARSE #1:c=15625,e=17207,p=0,cr=106,cu=1,mis=1,r=0,dep=1,og=1,tim=21689660835 ===================== PARSING IN CURSOR #5 len=29 dep=1 uid=82 oct=6 lid=82 tim=21762749484 hv=1088193227 ad='30679058' sqlid='f4g28hd0dt0qb' update "TEST" set "ID5"=null END OF STMT PARSE #5:c=46875,e=146504,p=294,cr=100,cu=0,mis=1,r=0,dep=1,og=1,tim=21762749480
As you see space before ) and space before and after () causing full table update and guess the damage of this tiny hidden change on over 10 million row huge table.
Next time, if you wait your not null new column getting added longer than it needs on 10G>, check the syntax you might be hitting this bug.
Blogroll Report 04/09/2009 – 11/09/2009
<—- Blogroll Report 28/08/2009 – 04/09/2009
This week was again busy with 11GR2 new features and the absolute winner of the new feature blog entry competition is Charles Kim and his posts are not just excerpts from available documentation. Nicolas Gasparotto was the first one who finds a bug in 11GR2 for popular new feature deferred segment creation. I could not even find time to install release, but people started to find bugs, I think I am loosing my speed
11GR2 selections are again grouped separately and will, till everything goes to normal.
1-Dangerous sorting behaviour of Oracle for Analytic functions
Jonathan Lewis – Analytic Agony
2-How to use ADRCLI in 11G?
Charles Kim – Automatic Diagnostic Repository (ADR) Command Line Interface
3-How to use REGEXP for argument validation in Shell Script (check the comments)?
Jared Still - Shell Tricks
4-Behaviour change of CBO when partition level stats are available but table level are not
Hemant K Chitale-Table and Partition Statistics
5-How to avoid password hardcoding in Shell scripts with Oracle Wallet ?
Amit Bansal-Using Oracle Wallet to Execute Shell script/cron without hard coded Oracle database password?
6-How to disable ocssd.bin for non-rac non asm environments?
Charles Kim – Disable ocssd.bin daemon when running non-RAC environments
7-How to use SQL Performance Analyzer (SPA) in 11G?
Steve Callan-SQL Performance Analyzer
8-Why buffer cache buffers can reside in shared pool and what are KGH NO ACCESS in shared pool?
Tanel Poder -KGH: NO ACCESS allocations in V$SGASTAT – buffer cache within shared pool!
9-What are the reasons for chained rows and How to deal with them ?
Joel Goodman – Are you chained to your tables.
10-ORA-01792 with inline views
Dion Cho-Interesting case of ORA-01792 error.
11-When your backup policy might not be enough?
Martin Widlake – Your Backups Are Probably Too Simple
12-The new version of the Upgrade to Oracle Database 11g – The whole Story
Mike Dietrich-New version of 11g upgrade slides available
13-Invalid Oracle Internet Directory problem after Oracle identity management upgrade
Frank Van Bortel – Upgrade IDM from 10.1.2 to 10.1.4: dba_registry invalid OID
11GR2 New Features Posts
1-ASM Storage Management Configuration Assistant- New server manageability feature
Charles Kim -Oracle has a new configuration assistant in 11g Release 2 – ASMCA
2-ASM Intelligent Data Placement-New Server Manageability feature of 11GR2
Charles Kim – ASM – Intelligent Data Placement
3-How to install 11GR2 on Linux?
Charles Kim-Installing Oracle Database 11g Release 2 – Enterprise Database Edition
4-Enterprise Manager Support for ASM Cluster File System (ACFS) – New Server Manageability feature of 11GR2
Charles Kim - Creating ASM Volumes and Cluster File Systems with Enterprise Mangers in 11g Release 2
5-ASM FS Snapshot – New Server Manageability feature of 11GR2
Charles Kim -Creating ASM Snapshots with Enterprise Mangers in 11g Release 2
6-How to start DBCONSOLE in 11GR2 ?
Charles Kim -Starting dbconsole from command line in Oracle Database 11g Release 2
7-How to fix PRVF-5472: or PRVF-5439: during 11GR2 installation?
Chandra Pabba – Oracle11gR2 CRS Install – ntpd requirement
8-How to install Peoplesoft on 11gR2 64-bit?
Nicolas Gasparotto – Peoplesoft on 11gR2 64-bits
9-Lib32 Dir is not available in 11GR2 64 bit
Nicolas Gasparotto – 11gR2 64-bits : where is lib32 ?
10-Bug # 8816562 Deferred Segment Creation is not working with move and workaround for the bug.
Nicolas Gasparotto – Get rid off segment of empty table (11gR2)
11-Step by step 11GR2 upgrade
Saurabh Sood-Get Upgrading: Steps To Upgrade To 11gR2
12-No need of voting disk backuo for 11GR2 clusterware-New clustering feature of 11GR2
Syed Jaffar Hussain- Voting Disk Backup Procedure Changed in Oracle 11g Release 2
13-SQL Generation – New server managealibility feature of 11GR2
We do streams-The New Streams 11.2 SQL Generation Facility
14-XMLType Partitioning – New Unstructured Data Management feature of 11GR2
Marco Gralike – Oracle RDBMS 11gR2 – XML Data Partitioning
15-IGNORE_ROW_ON_DUPKEY_INDEX Hint-New availability feature of 11GR2
Luis Moreno Campos-Oracle 11gR2 feature of the Day!
16-Step by step 11gR2 rac installation on 64 bit Linux
Rajeev Ramdas Thottathil - 11gR2 rac installation on 64 bit Linux step by step
Blogroll Report 11/09/2009 – 18/09/2009 –>
Oracle Performance Firefighting by Craig Shallahamer
Today I am going to write about an amazing book Oracle Performance Firefighting by Craig Shallahamer, which was released in July 2009. After all the papers I read from Craig, my fingers were crossed for the release date and I ordered the book for our company immediately after release. The reason I was very excited about the book is that I always feel uncomfortable with overall system performance tuning and this is the area where Craig looks very good at.
During the review, I will try to cover what this book promises and gives us by going through all the chapters one by one. For overall, this book is not for sql tuning It is about how to find the problem and giving possible other solutions for common problems ( in addition to tuning your code as a first option.) by giving the information about how Oracle works in most problematic areas like buffer cache, shared pool, redo, undo and especially latches and mutexes.
Before starting to go through chapters, I want to say that the book is very well organized and the way Craig teaches avoids boredom about numbers and math. I could not leave the book even on holiday. The way he covers the very hard to understand topics brings curiosity about the next topic. One more thing is the number of usage of the word OraPub (his company) kept minimum. While reading Optimizing Oracle Performance by Cary Millsap and Jeffrey Holt, I really hated the word Hotsos because it was nearly on every page and that was very annoying. If you are curious about this problem it is not happening that much in this book.
Lets start with going through chapters (Chapters with * are the ones that really needs attention)
1- Methods and madness: This is the introduction to how to be a firefighter from both methodic and holistic perspective. Craig gives information What you need during Oracle firefighting and how you can build a methodology . He covers the basics of analysing the system as a whole under the name of OraPub 3 Circle Analysis. When I first read about the OraPub 3 Circle Analysis I did not expect much but after a few chapters I admit that it works quite fine. Most interesting topic to me was how to write the summary of your firefighting story. That is something I need to work on.
2- Listening to Oracle’s Pain: This chapter tries to explain how to understand what Oracle is crying for by using Oracle Wait Interface and ORTA (oracle response time analysis). It covers how Oracle kernel developers instrumented their code for creating Oracle Wait Interface. It wasnt something I did not know but still nice to remember most them.
3- Serialization Control (*): This chapter is where this book starts to rock about explaining what is going on in Oracle by telling how Latches Mutexes and Locks work and differ from each other. After finishing this chapter I believed that the book already worth the money I paid and there were 6 more chapters to go. Craig definitely knows how Oracle works and better than just knowing he knows how to explain it like latches for dummies. It is really hard not to remember or not understand what he is explaining.
4- Idenfying and Understanding Operating System Contention: This chapter tries to cover how to use unix/linux tool to gather information from operating system to do the operating system circle of OraPub 3 Circle Analysis. Apart from using tool it is very good about the way Craig teaches about how to talk and convince Network, OS and Storage guys in case of a problem without making their nerves. I personally liked very much the word Craig uses like “there is a memory pressure” instead of “paging”
5- Oracle Performance Diagnosis: This chapter is going deep into how to gather overall performance related data from Oracle and how to interpret the data you gathered without going to compulsive tuning disorder. He covers the wait event myths section which was very interesting and he tries explain why profiling is not “always” the best approach. Making the most out of DBMS_MONITOR tool is also covered well. Craig also gives internals about ASH (Active Session History). How it works why it is good and how to use it. Craig also gives the simple trick about how to learn Oracle internals which is reading Oracle patents.
6- Oracle Buffer Cache Internals(*): Till I read this book, I never dreamed about that, one day I will really fully understand and be able to explain to others, how Oracle buffer cache, shared pool and latches works, despite all official documentation and the books I read so far. This and upcoming 2 chapters gave me this opportunity and I want to thank Craig very much for explaining these topics this well. Diagrams and way he explains are totally amazing. Chapter is not just explaining buffer cache it is also how to tune it. Knowing the internals of Buffer Cache can be the only reason to have the book because it is nearly the main thing for optimal performance. I really like too much about latch and enqueue subtopics.
7- Oracle Shared Pool Internals(*): This is another reason that makes this book unique. I already wrote my own compilation about shared pool in a blog post but this chapter taught me many more things like lathes and mutexes in shared pool , In memory undo and how to tune them. This chapter is also a must to learn to do proper performance firefighting.
8- Oracle Redo Management Internals(*): In this chapter Craig gives how redo management works in Oracle and how to tune redo related issues which is again very important performance related topic. He goes over every redo related problem and gives possible solutions to them. Learning the dangerous commit_write parameter usage was completely new to me.
9- Oracle Performance Analysis(*): In this chapter every topic so far is integrated with each other in a possible problem scenario. Before going into the scenario Craig cover response service and queue time calculations and prepares us to scenario. In this chapter Craig starts an Overall system performance tuning in OraPub three circle analysis by analysing Oracle OS and Application together. He goes into the analysis three times and this gives reader the clues when and where to or not to stop tuning. This chapter totally depends on math and to be honest it is really easy to understands
Now it is time to talk about what I don’t like about the book. Craig introduces and explains too many internal parameters and he gives them as an option in case there is a problem. I loved to learn them because it is very helpful when you talk with Oracle support and also they are part of understanding Oracle but I prefer he mentioned more about not to use them before asking Oracle . He says not to use them couple of times but still not enough to me. Second thing is that we don’t have option to download the test case codes Craig mentions apart from OraPub monitoring kit. Third there is no index at the end of the book.Although I don’t use indexes that much but still nice to have. One last thing because it is only available from OraPub you might wait a bit if you are ordering outside of US like me, I wish there was an e-book option which I always find it easy but probably it is because of avoiding pricy.
After negative part lets come to the conclusion. This book is very informative very well written and in my humble opinion, a must on every DBA’s desk and I suggest it to every DBA. If you are experienced and read too many performance tuning books and feel comfortable with performance tuning but still struggling to understand latches mutexes buffer cache shared pool or overall performance tuning and if you want to fully understand them Oracle Performance Firefighting is totally for you. If you are a new for Oracle Performance Tuning, this book is a must to understand how Oracle works but please be careful about hidden/unsupported parameters.
My only regret is not to order 2 copies one for company and one for me.
I hope you will like the book as much as I liked.
Many thank to Craig Shallahamer for bringing deep knowledge and experience about Oracle Performance tuning and sharing in this very special book.
Blogroll Report 28/08/2009 – 04/09/2009
<—- Blogroll Report 21/08/2009 – 28/08/2009
Finally I am able to finish the missing weeks. Oracle released 11G Release 2 this week , and as you might guess most of the posts were about 11GR2 new features. Virag Sharma, Amit Bansal ,Arup Nanda (as usual) and Amis Group were the ones who won the race of posting about new features. Some of them were excerpt from documentation but still nice to know so I put them in my list. I also tried to put the posts under the correct topic of official guide so you can find your way in new features documentation.
1-How to use DBMS_UTILITY ?
Aman Sharma – DBMS_UTILITY, A Good Helping Hand For A DBA….
2-Select for update and Redo Generation
Aman Sharma -Select For Update A DML, Yes It Is….
3-How to perform easy math in Unix
John Hallas – Performing calculations in unix
4-Using database resident connection pooling with Perl
Rajeev Ramdas Thottathil – Perl and database resident connection pooling
5-Security issues with JAVA_ADMIN role
Paul M Wright – JAVA_ADMIN to OSDBA
6- Securing the Data Dictionary O7_dictionary_accessibility parameter
James Koopmann – Oracle 11g Security – Securing the Data Dictionary
7- How histogram gathering works when first N character are same?
Hemant K Chitale – Histograms on “larger” columns
8-Effects of OPTIMIZER_INDEX_CACHING parameter
Richard Foote-OPTIMIZER_INDEX_CACHING Parameter
9-How does response time increase while throughput is also increasing (Don’t miss comments)
Jonathan Lewis-Queue Time
10-How to use Linux /proc filesystem to get Oracle trace directory
Kevin Closson – Using Linux /proc To Identify ORACLE_HOME and Instance Trace Directories.
11-How to install BBED
Steve Callan – Installing Oracle Block Browser and Editor tool (bbed)
11GR2 New Features Posts
1-Moving the database audit trail tables out of the SYSTEM tablespace to a different tablespace. – New security feature of 11GR2
Virag Sharma-11G R2 New Feature : Purge audit trail records using DBMS_AUDIT_MGMT
2-Single Client Access Name (SCAN)- New clustering feature of 11GR2
Virag Sharma – Oracle 11g Release 2 (11.2 ) New Features : SCAN – Single Client Access Name
3-Edition Based Redefinition – New availability feature of 11GR2
Virag Sharma -Oracle Database 11g Release 2 New Features : Edition based redefination
4-Recursive With Clause – New Business Intelligence and Datawarehousing feature of 11GR2
Lucas Jellema-Oracle RDBMS 11gR2 – goodbye Connect By or: the end of hierarchical querying as we know it
5-Flash Cache – New Database Management feature of 11GR2
Marco Gralike-Oracle RDBMS 11gR2 – Flash Cache
6-Preprocessing Data for ORACLE_LOADER Access Driver in External Tables- New Business intelligence and Datawarehousing feature of 11GR2
Marco Gralike-Oracle RDBMS 11gR2 – New PREPROCESSOR Syntax for External Table Use
7-LISTAGG-New Business intelligence and Datawarehousing feature of 11GR2
Lucas Jellema-Oracle RDBMS 11gR2 – LISTAGG – New aggregation operator for creating (comma) delimited strings
8-Enhance CREATE or REPLACE TYPE to Allow FORCE-New availability feature of 11GR2
Lucas Jellema-Oracle RDBMS 11gR2 – alter or replace user defined types even when there are dependencies
9-Improved Deinstallation Support With Oracle Universal Installer- New clustering feature of 11GR2
Arup Nanda-Oracle 11g R2 Features
10-ASM Dynamic Volume Manager and ASM Cluster File System – New Server Manageability feature of 11GR2
Arup Nanda – ASM Dynamic Volume Manager and ASM Clustered File System
11-Oracle Restart and Grid Infrastructure for Single Instance – New clustering feature of 11GR2
Arup Nanda -Oracle 11g Release 2 is Finally Out
12-Installation Fixup script – New Installation GUI feature of 11GR2
Amit Bansal – 11gR2:What if Oracle gives you Kernel parameter fixup script
13-Step by step 11gR2 Database Installation with ASM on OEL5
Amit Bansal-11gR2 Database Installation with ASM on OEL5
14-How to install single 11GR2 RAC instance with ASM using Grid Infrastructure Software?
Charles Kim-Single Node RAC Grid Infrastructure Installation With Oracle Database 11g Release 2
15-ASM Dynamic Volume Manager and ASM Cluster File System – New Server Manageability feature of 11GR2
Surachart Opun – ASM (DVM) & ACFS by command-lines
16-Deferred_Segment_Creation- New database management feature of 11GR2
Christian Antognini-Deferred Segment Creation
17-How to compate execution plans with dbms_xplan.diff_plan_outline – New 11G feature
Optimizer Magic-What’s Changed between my New Query Plan and the Old One?
Blogroll Report 04/09/2009 – 11/09/2009–>
Blogroll Report 21/08/2009 – 28/08/2009
<—- Blogroll Report 14/08/2009 – 21/08/2009
1-Workaround for LOB Concatenation performance problem
Dion Cho- Reducing CLOB concatenation
2-How to use flashback and guaranteed restore points for Data Guard?
Vitaliy Mogilevskiy-Using Flashback Database to strengthen Data Guard Setup
3-Possible reasons for changing bind variable names (read the comments)
Jonathan Lewis- Quiz Night-2
4-Detecting low memory starvation on Red Hat <5 Linux x86-32bit
Martin Decker -Out-of-Memory killer on 32bit Linux with big RAM
5-SUMDELTA$ table is not purged when MVIEW base table is using Direct path insert
H.Tonguc Yilmaz -Materialized views and sys.sumdelta$ UPDATE-DELETE performance
6-Tuning SQL*Net message from dblink with USE_HASH hint
Marko Sutic- SQL Tuning – using USE_HASH hint – dblink issue
7-New infiniband monitoring with OSWatcher
Husnu Sensoy -Full Coverage in Infiniband Monitoring with OSWatcher 3.0: IB Monitoring
8-Workaround for setting maxtrans for indexes in 10G
Jonathan Lewis- Index Explosion-3
9-How to detect violating rows for constraints
Shailesh Mishra -Constraints: How to resolve the duplicated primary key exceptions
10-Diagnosing “latch: cache buffer chains “
Tanel Poder -latch: cache buffers chains latch contention – a better way for finding the hot block
11-How to use Oracle Q-quote with dbms_advanced_rewrite.
Kerry Osborne-Quotes in Strings (Oracle Q-quote)
12- Does oversize of datatype VARCHAR2 causes performance problem?
Mohammad Abdul Momin Arju – Does oversize of datatype VARCHAR2 causes performance problem
13- Workarounds for ORA-00600 ORA-12085 ORA-03113 with GV$SQL and GV$SQL_PLAN
Martin Widlake-RAC GV$SQL type Bugs
14-Issues while validating database backups with restore database validate command
Miladin Modrakovic-Bugman ( RMAN ) validate restore “bug”
—Oracle Streams—-
15-How to use Oracle Advanced Queuing Buffered Messages (demo for exchange messages between 2 queues in different databases.
We do streams-Oracle AQ Buffered Queues 101 (Part 2)
16-Simple way to fix propogations errors with streams
We do streams- Propagation Error And Exception Queue Management
17- How to do data comparison between tables using DBMS_COMPARISON in 11G
We do streams- Data Comparison with DBMS_COMPARISON
18- Behaviour of fire_once=false triggers with streams
We do streams- Are your triggers triggered by Streams?
19- How to use V$STREAMS_MESSAGE_TRACKING for Tracking LCRs Through a Stream
We do streams- Tracking Streams Changes with V$STREAMS_MESSAGE_TRACKING
Blogroll Report 28/08/2009 – 04/09/2009—- >
Blogroll Report 14/08/2009 – 21/08/2009
<—- Blogroll Report 07/08/2009 – 14/08/2009
I am back from holiday and I think did my best to filter these blog posts from large number of blog posts, when I am away even Oracle released 11.2
. Next time I won’t take a holiday longer than 10 days. I will cover the missing weeks one by one instead of 3 weeks in 1 post.
1- Using REGEXP_LIKE with outer joins ?
Peter Scott -Slightly Fuzzy Lookups
2- How to use alert log for error trends ?
Karl Arao – Knowing the trend of Deadlock occurrences from the Alert Log
3-How to read treedump for what happened in indexes ?
Jonathan Lewis – Treedump
4- Using alter system kill session in procedure
John Hallas-Procedure to kill a session
5- How to get the date for the last day of the previous month?
Jonathan Lewis - Why test ?
6- How to bulk insert cursor data into a table ?
Liang Gang Yu-BULK INSERT cursor’s data INTO A TABLE – Oracle10g, 11g
7- How to use UTL_COMPRESS to compress files ?
Steve Callan-Compressing files in Oracle
8- When you lost your spfile?
Matt Canning-Dealing with a lost SPFILE
9- Transparent Application Failover (TAF) for Data Guard ?
Uwe Hesse – Connect Time Failover & Transparent Application Failover for Data Guard
10 – Using backup copy to move files after changing the recordsize on filesystem ?
Don Seiler-Moving Oracle Datafiles to a ZFS Filesystem with the Correct Recordsize
11- What are Synthetic Commits and Rollbacks?
Christian Antognini - Synthetic Commits and Rollbacks
12 -ORA-16069 after switchover?
Don Seiler – ORA-16069? You May Need A New Standby Controlfile
13 -Possible solution for slow network connection in 11G ?
Marcin Przepiorowski – Slow network connection in 11g
14 -How to escalate Oracle SR ?
Chris Warticki- Support Escalation Process…Again!
15-How to adjust optimizer_index_cost_adj if you really want to use it ?
Richard Foote – The CBO and Indexes: OPTIMIZER_INDEX_COST_ADJ Part III
16 -How to track DDL changes in 11G ?
Miladin Modrakovic – Tracking DDL changes in 11g
17 -How to do Oracle Cross-Platform Migration with Minimal Downtime ?
Don Seiler – HOWTO: Oracle Cross-Platform Migration with Minimal Downtime
18 -How to use Active Data Guard in 11G ?
Jim Czuprynski - Using Oracle 11g’s Active Data Guard and Snapshot Standby Features
19 -How to install Oracle Client on unsupported OS ?
Marko Sutic – How to install Oracle Client 11g on Windows 7?
20 -How to use unix EXPECT utility to simulate non-interactivity for interactive only installations?
Advait Deo – Spawn, Expect, Send and Interact
Blogroll Report 21/08/2009 –28/08/2009—->


