Why Is OEM SQL Monitoring Showing Parallel On Almost Every Statement
Jan 28, 2013
I'm running Oracle EE 11.2.0.2 and when I look in OEM SQL Monitoring, it shows nearly every sql statement running with a degree of parallelism of *2*.
I've checked dba_tables and the 'degree' for all tables is only 1. I look at the actual sql statement, and there are no hints to tell it to use parallelism. So why and how is the database using parallelism?
I do see that parallel_threads_per_cpu is set to 2, but this is default for our Solaris 10 operating system.
REF: (for 11.2)
===========
PARALLEL_THREADS_PER_CPU specifies the default degree of parallelism for the instance and determines the parallel adaptive and load balancing algorithms. The parameter describes the number of parallel execution processes or threads that a CPU can handle during parallel execution.
The default is platform-dependent and is adequate in most cases. You should decrease the value of this parameter if the machine appears to be overloaded when a representative parallel query is executed. You should increase the value if the system is I/O bound.
how to tell if my database is actually IO bound or not?
I am writing below MERGE statement. In this cardinality between table_a and table_b is 1:2. I.e. each record in table_b corresponds to 2 records in table_a based on columns in ON clause.
Well this query throws below error.
----Error---
ORA-12801: error signaled in parallel query server P011
ORA-30926: unable to get a stable set of rows in the source tables
However, the same statement executes successfully when PARALLEL hint is removed altogether. (There are no duplicates in table_b based on unit,group,loc columns.)
-----Query--------
MERGE /*+ PARALLEL(8) */ INTO table_a a USING table_b b ON (a.unit = b.unit AND a.group = b.group AND a.loc = b.loc)
If we have not set parallel degree for a table then we can ( try to ) force parallel execution on a table using a parallel hint Does this 'parallelism' works on the index search in the query as well?
In which situations non-parallel non-partitioned table but parallel index (degree>2) will facilitate a query?
The Database is Shutdown, no user is complaining about it and also you are not monitoring it through alert log file, then how will you, as a DBA, come to know about it?
To create a script i want to monitor my tablespaces . I want monitor my tablespace by my sqlplus in this script i want tablespace name,total size(MB),user Space (MB),Used Space (%),Free space(MB).
I've got a pl/sql procedure that i would like to monitor its progress. Its been running for quite a few hours now and i dont really know if it is stuck in a loop or if it is just taking too long read/execute queries. Is there a way to find out what is the status of the procedure? or what it is currently doing?
I looked at views like v$sessions or v$session_longops but they dont actually tell me what it is currently doing. All of them just point to the call to the pl/sql procedure. Also, is it possible to look at the physical files on the filesystem to know if there is actually any processing going on and files are being written to? Is this possible or a files written to only after a commit?
I'd like to start monitoring the customer's database. I need a tool to monitor database's performances and I also need to run day by day a series of queries that produce control reports.
I'd like the tool alerts me by email if something goes wrong.
11.2.0.1Aix 6.1 5L (quadcore, 16GRam) I am still confused how to take full advantage of these monitoring tools. Actually the our database performance is currently satisfactory, except for occasional few minutes spikes of CPU highs > 80 .I just want to catch the culprit process/program responsible for this spikes. Is it wise to run ASH, AWR, ADDM with an input from time 1AM to 1AM next day? What I mean is I will analyze a 1-day period, so that I can catch the program/process that has the higest cpu/memory usage for the day.
get all the unused index in the system , if i put this query in batch job and execute it every night upto one months and store its data in a table and after one months i can get all the used indexes and left would be our unused indexes.
select distinct p.object_name c1 from dba_hist_sql_plan p, dba_hist_sqlstat s
When I monitoring db, I see open cursor increase from a machine running Java application. On the develop machine, everything is ok, but on the production server, open cursors can not close.Although the parameters are the same on 2 servers.
I have version 11.2.0.3 installed in a server AIX and i'd like to know where are alerts and logs like "max extents reached in table....". I don't see them in alert.log.
Where is the best way to monitoring this class of alerts and logs?
How can i see how many actuals extents go consumed in tables and indexes?
I am database developer and suddenly i have been given a DBA work. I have to monitor database for resource intensive queries , whether i/o is more , process memory and many other stuffs.
Provide me some sql queries or scripts which shows that process are over loaded and memory needs to be allocated, queries are taking long time , i/o operation are more instead of memory.
I am using TOAD to monitor user sessions. I have a user who uses nearly 80% of Overall resources in the mornings. He calls me daily and say that his work is done. But even then the TOAD shows that he is using same resources for some time.
My question is can i kill the session once he confirms his work is done OR do i need to wait till the redologs are cleared.
Oracle on 11gR2 on hp-ux 11.23.Need to develop a shell script which will do a monitoring of the alert log daily.
It should do a audit trail (only check for warnings/errors) for the last 1 day daily till collection time and output to a file.if no errors should output "No Errors/Warnings", else ouput the relevant.
We are on oracle 11.2.0.2 on Solaris 10. I dont have acces to the db server but connect to the db from the client side using sqlplus. though I have dba privilege (at oracle level) but no access to db server at os level. I also dont have access to enterprise manager console where such information is available.
I want to set up monitoring so that I can get a mail when the space falls below some threshold like say tablespace is 90% full. Is it possible to get mail from pl/sql script for example?
I'm monitoring and all my databases using grid control. Recently I added a dataguard configuration but the standby database shows me a lot of error simple because it's in MOUNT state. how I should configure grid control or the standby database so the errors disappear?
I have to apply monitoring template on my databases. Databases are already added and configured into OEM. They are visible under Databases tab and also under Groups where I have added them.
But when I try applying monitoring template and look for database in search window, it doesn't appear there.
we can't use the Exadata Plugin for Cloud Control but we need some monitoring of the Cell Servers.Does OS Watcher is the right tool or do we need ADRCI for incidents and so on.
What do have to install and what information do we get.