Data Pump and AQ_TM_PROCESSES

First things first: Thou shalt not explicitly set AQ_TM_PROCESSES=0 ! Unless, of course, you want to disable the Queue Manager Process (QMNC in Oracle 11.x). Which you may want to do during database upgrades to prevent Streams or Advanced Queueing from interfering with the upgrade process. However, if you don’t reset this parameter afterwards, you might run […]

Join Us For a Networking Event at UKOUG

UKOUG event photo

Join us for an informal networking event alongside Rittman Mead on Monday December 8th during UKOUG. We will be discussing how to leverage data to drive your organization’s success. Come meet with peers and industry experts, Mark Rittman and Jon Mead of Rittman Mead, and Marc Fielding and Christo Kutrovsky of Pythian. The networking event will take place at PanAm Bar and Restaurant in Liverpool from 6-8 PM, and will include drinks and light (more...)

RELY trumps DISABLE

Learning, relearning or unforgetting…

What value is there in a DISABLEd constraint?

This was a question on the OTN forums this week and a) my first reply was wrong and b) I couldn’t find a clear demonstration elsewhere.

The documentation is clear.

RELY Constraints

The ETL process commonly verifies that certain constraints are true. For example, it can validate all of the foreign keys in the data coming into the fact table. This means that (more...)

Closure

It’s been a long time since I said anything interesting about transitive closure in Oracle, the mechanism by which Oracle can infer that if a = b and b = c then a = c but only (in Oracle’s case) if one of a, b, or c is a literal constant rather than a column. So with that quick reminder in place, here’s an example of optimizer mechanics to worry you. It’s not actually (more...)

GUI Be Gone

I am losing the luxury of using GUI since clients typically may not have X-Windows or VNC Server installed

Adapt or die and re-learning command line again.

Better to verify before installation than to clean up a problematic install.

Use runcluvfy to verify DB install:
runcluvfy.sh stage -pre dbinst -n rac01,rac02 -r 11gR2 -d /u01/app/oracle/product/11.2.0.4/db_1 -osdba dba -fixup -fixupdir /tmp -verbose

Use runInstaller -executePrereqs to verify responseFile for silent install and detect issues:
(more...)

OMS and OMR Performance- Part III, Metrics Page

Before heading off to UKOUG’s Tech 14 conference, thought I would jump back from the Agents performance page and look into the very important page in the Oracle Management Service, (OMS) and Oracle Management Repository, (OMR) regarding metrics.  Standard metrics collection is demanding in itself, so when we add plugins, metric extensions and manual metric collection changes, it’s important to know how these changes can impact the performance of the Enterprise Manager 12c, (EM12c) (more...)

What Does “Backup Restore Throttle Speed” Wait Mean?

After migrating a 10g database to 11g, I asked the Application team to start their tests in order to validate that everything was working as expected. I decided to keep an eye on OEM’s Top Activity page while they were running the most mportant job. I already knew what kind of “colors” I would  find because I had checked its behavior in the former version. Suddenly, a strange kind of wait appeared on my screen: (more...)

Using grant connect through to manage database links

Nobody can say that I am not current and topical with my posts. This post refers to functionality that was introduced in 9i, however I have just come across it and thought it useful enough to blog about it.

The command ALTER USER USERB GRANT CONNECT THROUGH USERA allows a proxy connection to be made using the username and password of USERA but  to connect in as USERB. The purpose is so that management of (more...)

Early Christmas Present: Oracle SQL Developer Data Modeler 4.1 Beta is here! (Still FREE)

Just saw this tweet from Oracle Product Manager Ashly Chen: Happy Wednesday! Data Modeler 4.1 Beta is available for download. http://t.co/GnPMXHgWvT — Ashley Chen (@ashleychen5) December 3, 2014 Get thee to the site and download away! Did I say, it is FREE? (Do remember it is BETA as use it accordingly) Cheers! Kent The Oracle […]

Reminder: Fishbowl Solutions Webinar Tomorrow at 1 PM CST

Cole OrndorffThere’s still time to register for the webinar that Fishbowl Solutions and Oracle will be holding tomorrow from 1 PM-2 PM CST! Innovation in Managing the Chaos of Everyday Project Management will feature Fishbowl’s AEC Practice Director Cole Orndorff. Orndorff, who has a great deal of experience with enterprise information portals, said the following about the webinar:

“According to Psychology Today, the average employee can lose up to 40% of their productivity switching from task (more...)

UKOUG Tech14 : It’s nearly here…

TECH14_ResourcePk_IS_v1I’ve literally just picked up my train tickets for Monday’s trip to Liverpool for UKOUG Tech14!

I’m only going to be there for Monday, so I’ve got a lot to pack in. I’ll be doing 2 sessions, at 09:00 and 14:30, so if you don’t want to come to my sessions, but want to meet up to chat, grab me before or after them. Geeking out is much more important than the sessions. :)

I thought I (more...)

Controlling RMAN channels on RAC

This was sent to me for posting  by my friend and ex-colleague Vitaly Kaminsky ….

I have recently worked with the customer where standard RMAN backups of production 2-node cluster (11.2.0.3) were getting too big and taking longer than 24 hours to run.

The problem with this particular cluster was the fact that ALLOCATION of RMAN connections to the instances of the cluster was controlled by SCAN and driven by the load-balancing (more...)

Upgrades

I have a simple script that creates two identical tables , collects stats (with no histograms) on the pair of them, then executes a join. Here’s the SQL to create the first table:


create table t1
nologging
as
with generator as (
	select	--+ materialize
		rownum id
	from dual
	connect by
		level <= 1e4
)
select
	trunc(dbms_random.value(0,1000))	n_1000,
	trunc(dbms_random.value(0,750))		n_750,
	trunc(dbms_random.value(0,600))		n_600,
	trunc(dbms_random.value(0,400))		n_400,
	trunc(dbms_random.value(0,90))		n_90,
	trunc(dbms_random.value(0,72))		n_72,
	trunc(dbms_random. (more...)

Oracle AWR Reports: When Averages Lie

truth-sign

I was recently contacted by a customer who runs a busy ERP system on their Oracle database. Their users have been screaming for some time about unpredictable performance, where application screens which would usually open in under a second suddenly take an age. ERP systems are legendary for this, of course, because as each screen loads the application tends to fire off a glut of queries to populate all the various fields, graphs and so (more...)

Thoughts and notes, Thanksgiving weekend 2014

I’m taking a few weeks defocused from work, as a kind of grandpaternity leave. That said, the venue for my Dances of Infant Calming is a small-but-nice apartment in San Francisco, so a certain amount of thinking about tech industries is inevitable. I even found time last Tuesday to meet or speak with my clients at WibiData, MemSQL, Cloudera, Citus Data, and MongoDB. And thus:

1. I’ve been sloppy in my terminology around “geo-distribution”, in (more...)

OT: Career Advice for Oracle Database Beginners

Tom Kyte is a Senior Technical Architect in Oracle’s Server Technology Division. Before starting at Oracle, Tom worked as a systems integrator building large-scale heterogeneous databases and applications, mostly for military and government customers. Tom spends a great deal of time working with the Oracle database and, more specifically, working with people who are working with the Oracle database. In addition, he is the Tom behind the “AskTom” column in Oracle Magazine, answering people's questions (more...)

OT: Career Advice for Oracle Database Professionals

A strong advocate for women in technology, Kellyn Pot’Vin is an OakTable Network Member and was an Oracle ACE Director until joining a group of Enterprise Manager specialists at Oracle Corporation. She specializes in environment optimization tuning, automation, and creating robust, enterprise-level systems. Kellyn works almost exclusively on multi-TB-sized databases, including Exadata and solid-state disk solutions, and is known for her extensive work with Enterprise Manager 12c and its command-line interface. She is the co-author (more...)

SQL*Plus / SQL*Net Dead Connection Detection

Recently I came across the situation where I knew for a fact that my sessions to the database where dead because I pulled the power plug out of my application server for a failover test. But the sessions stayed visible in the database and kept their locks therefor the failover failed.

Now how is that possible?

First let me sketch the layout of the setup.

Suppose you have a vendor supplied application that runs on their middleware. That (more...)

Physical IO on Linux

I posted a fair amount of stuff on how Oracle is generating IOs, and especially large IOs, meaning more than one Oracle block, so > 8KB. This is typically what is happening when the Oracle database is executing a row source which does a full segment scan. Let’s start off with a quiz: what you think Oracle is the maximum IO size the Oracle engine is capable of requesting of the Operating System (so the (more...)

Line Numbers

One of the presentations I went to at the DOAG conference earlier on this month was called “PL/SQL Tuning, finding the perf. bottleneck with hierarchical profiler” by Radu Parvu from Finland. If you do a lot of PL/SQL programming and haven’t noticed the dbms_hprof package yet make sure you take a good look at it.

A peripheral question that came up at the end of the session asked about problems with line numbers in pl/sql procedures; why, when (more...)