Enterprise feature usage: SQL Profile
Is SQL Profile an enterprise Edition feature only? As in, just making use of a profile that was not created in this database?
I've got a development environment, which is licensed for everything. I create an SQL Profile for a bad statement on that Enterprise database, then I transfer it to a standard edition database using:
How to copy SQL Profile from one database to another one. | David Marcos' Blog
When I now execute the statement, I can see that it used the profile, but the following statement returns no hits for me having used this feature:
col name for a50
alter session set nls_date_format='dd month yyyy';
select '## Enterprise Edition Feature Usage Overview:' from dual;
Select name,version,first_usage_date,last_usage_date from dba_feature_usage_statistics where name in ('Advanced Replication','AWR Report','AWR Baseline','Automatic Workload Repository','Backup Encryption','Backup ZLIB Compression','Block Media Recovery','Database Replay: Workload Capture','Database Replay: Workload Replay','Diagnostic Pack','EM Performance Page','Flashback Database','Label Security','OLAP - Analytic Workspaces','OLAP - Cubes','Oracle Secure Backup','Parallel SQL DDL Execution','Parallel SQL DML Execution','Parallel SQL Query Execution','Partitioning (user)','Real-Time SQL Monitoring','Result Cache','SQL Monitoring and Tuning pages','SQL Plan Management','SQL Tuning Set (user)','SecureFile Encryption (user)','Spatial','Tune MView','Tuning Pack','Automatic Maintenance - SQL Tuning Advisor','SQL Profile','SQL Tuning Advisor','SQL Tuning Set (user)') and first_usage_date is not null order by first_usage_date asc;
So my question is: if i've not created the profile in the Standard Edition database... it's just been imported from another database... Am I violating my licensing?
Hi,
> So my question is: if i've not created the profile in the Standard Edition database... it's just been imported from another database... Am I violating my licensing?
You are even violating your Oracle EE license, if you do not have a valid Diagnostics + Tuning pack for it. You can reproduce this very easily as described by Kerry Osborne here: Licensing Requirements for SQL Profiles
SQL Plan Management is included in Oracle EE as an alternative for example: Does the use of SQL Plan Management and the DBMS_SPM database package require a tuning or diagnostic pack license?
Regards
Stefan
Similar Messages
-
I can't seem to find any clear answers to the implications of installing SQL Server 2012 standard edition vs. enterprise in regards to SharePoint 2013.
I understand that to get many of the features you need Enterprise edition of SQL 2012; but, what I can't figure out is if the backend SharePoint SQL 2012 is standard; but, the PowerPivot/SSRS server is Enterprise will we still get the features?
If we have 3 tier SharePoint farm, one of those tiers is for the SQL Server database backend. If that SQL instance is 2012 standard and we add another server to the farm w/ SQL 2012 Enterprise to handle the tabular models, PowerPivot, and SSRS in integrated
mode will we still get the features?
Or, can we (should we) install Enterprise 2012 as the SharePoint database backend and let that instance triple down as also the PowerPivot and SSRS instance?
The Degenerate DimensionHi MMilligan,
SQL Server 2012 Standard is not supported PowePivot for SharePoint . In addition, SQL Server 2012 Standard is also not support some Reporting Services Features.
For more information, please refer to Features Supported by the Editions of SQL Server 2012:
http://msdn.microsoft.com/en-us/library/cc645993.aspx.
Install SQL Server BI Features with SharePoint 2013 (SQL Server 2012 SP1):
http://msdn.microsoft.com/en-us/library/jj218795.aspx.
If you have any problem, please feel free to let me know.
Thanks.
If you have any feedback on our support, please click
here.
Maggie Luo
TechNet Community Support -
Is there anyway to force the optimizer to use a sql profile that was created?
SQL Tuning advisor has recommended to create a sql profile and after creating it, i can see that the explain plan is still not the profile.
Environment is Oracle 10g on Windows 2003.
Thanks.is there a way to force the usage of the 5GHz-network?
No, not unless the IT department will set up a separate SSID for the 5 GHz band. Then, you could set up your Mac to connect and remember that connection.
But, connecting at 5 GHz does not necessarily mean a better or faster connection. Your Mac is looking at both bands and choosing the best combination of signal strength, low noise and speed.
Since 5 GHz signals are not nearly as strong as 2.4 Ghz signals, your Mac is probably going to connect to the 2.4 GHz band, unless it is very close to the wireless router. -
Use of SQL Profiles where each schema has very different data distribution and volumes
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
Our architecture has multiple client schemas in the same database. Each schema has the same code base (tables, procedures etc) but each client's data is very different in terms of volumes and skew/distribution per table. This architecture was done based on cost - I know it's not ideal but it can't change.....
I am fairly seasoned with performance management and so know the usual tricks of when to eat up the table using parallel full table scans etc. I couldn't further optimise a given stmt for our largest table. I'll call it TSPCI and it has monthly partitions (2 years) and totals about 35Gb in the largest client schema.
Anyway, I was surprised when ADDM suggested that I could achieve 98% improvement if I were to use a given SQL Profile. Great?
So, here's my issue - I've found that the same SQL_ID is shared across all those different client schemas: I can't see how to get it to pick/use the SQL Profile in only a particular client schema - let's call it NEX - and not in another (lets call it COL).
If I generate a SQL Profile as NEX, has it analysed and built the SQL Profile based on the NEX schema and is it therefore invalid/undesirable to have that SQL Profile used in the COL schema??
I suppose that I could add a small change (say /*+ NEX */) to the SQL in the NEX schema to make the given sql unique there and then generate a SQL Profile for that..........
What am I missing here?Well, I can confirm the behaviour: accept a SQL Profile for a given SQL in one schema and verified that it is used in another schema (where the data volume and distribution is very different).
I can also confirm the workaround - simply add a hint to the SQL to make it unique such that I could use different sql profiles for the otherwise exact same sql in different schemas.
I'm happy enough with this workaround but I'll leave this thread unanswered in case someone can suggest a better approach. -
Sql profiles in 11.1.0.7
We just upgraded from 10.1.0.3 to 11.1.0.7 and some very complex queries are running slower. When I check the plans in a non-production 11g database, the join orders are slightly different. I also have traces from my 10g production database and that I loaded into a sql tuning set in production. I am running the sql tuning advisor. When I get a recommendation to use the old plan, I implement it in the 10.2.0.5 Oracle Enterprise manager grid control.
How do I tell the sql_id of the sql profile? Is it part of the name? So if I look in dba_sql_profiles and see
SYS_SQLPROF_012a8f339c4b0001
Is the last part the sql_id? When I search on that value, I do not see it in v$sql. It does not appear that my queries are using the sql profile. So there might a slight difference from these queries (space maybe) than the ones I have. How do I confirm that my queries are using a sql profile as well?Dear user11990507,
I do think that the value "012a8f339c4b0001" is nothing to do with the SQL_ID in the v$sql fixed view. It can be generated based on an algorithm like generating SQL_IDs. That is an internal information and i really don't know much about it.
You can also accept, alter or drop an SQL profile with the below commands;
DECLARE my_sqlprofile_name VARCHAR2(30);
BEGIN my_sqlprofile_name := DBMS_SQLTUNE.ACCEPT_SQL_PROFILE (task_name => 'my_sql_tuning_task', name => 'my_sql_profile', force_match => TRUE);
END;
BEGIN
DBMS_SQLTUNE.ALTER_SQL_PROFILE(name => 'my_sql_profile', attribute_name => 'STATUS', value => 'DISABLED');
END;
BEGIN
DBMS_SQLTUNE.DROP_SQL_PROFILE(name => 'my_sql_profile');
END;
DBA_SQL_PROFILES;
http://download.oracle.com/docs/cd/B28359_01/server.111/b28320/statviews_4256.htm#REFRN23477
Check the SQL_TEXT column for you particular SQLs.
Hope That Helps.
Ogan -
Downgrade SQL 2008 R2 Enterprise Cluster to SQL 2008 R2 Standard Cluster
Hi
While I found several information about Downgrading an 2008 R2 Enterprise to 2008 R2 Standard edition (even here in this forum) I didn't found much information doing this when it's a clustered SQL Server. Is there anything I've to be aware of? My solution
I've in mind is:
1.) Stop SQL Service
2.) Move all database (users and system) to another location
3.) Uninstall existing Enterprise nodes/instances of both servers
4.) Install the SQL 2008 R2 Standard on both nodes. Use same folders for databases as in the original installation. Use also all other configs as the original one (instance/cluster name, network ressource name,...)
5.) Stop SQL Service
6.) Remove original user and system databases back to their original folder. Replace system databases of new installation with the original ones.
Should this work or not?Hi,
I guess you already know it and you are follwoing correct process.But what plans you have for enterprise features which were used in Ent edition and will not be present in standard edition.did you made any alternatives for it.
Did you checked your application code or built in jobs(which used enterprise features) if so good to go then.
For features suported by various edition look at below link
http://msdn.microsoft.com/en-us/library/cc645993(v=sql.105).aspx
For downgrading this link will be helpful
http://www.mssqltips.com/sqlservertip/3079/downgrade-from-sql-server-enterprise-edition-to-standard-edition/
Please make sure you migrate login and jobs either with script method or use below link
http://support.microsoft.com/kb/918992/en-gb
Please mark this reply as the answer or vote as helpful, as appropriate, to make it useful for other readers -
How to set hint with SQL profile
Hi,
I need to put a leading hint into a sub-query
How can I do that ?
I tried:
dbms_sqltune.import_sql_profile
sql_text => 'select ...'
profile => sqlprof_attr(XXXXX) => I don't know what to set for XXXXX
name => my_sql_profile
force_match => true)10.2.0.4
Thanks for your helpI need to put a leading hint into a sub-query It doesn't sound like a good idea.
If you're going to hint - especially using plan stability features - then you need to hint fully otherwise you're asking for trouble.
See http://jonathanlewis.wordpress.com/2011/06/08/how-to-hint-1/
The "best" approach to this sort of generic question is to run the sql statement with the single leading hint (if that really is desirable) then extract the full set of hints from that execution (which will have a different sql id) and apply it to your original statement.
If you have a look at COE_XFR_SQL_PROFILE.SQL in Oracle Support doc id 215187.1 then that will give you a good idea of how to do it.
That script is not exactly what you want because it uses a sql profile to apply a previously generated plan for that specific sql taken out of AWR or the cursor cache, but the principle is the same.
This is using SQL Profiles as they were not originally designed - which was vehicles for statistical adjustements - but using them like stored outlines (the latter deprecated in 11.1 onwards).
SQL Profiles require the tuning pack.
You have not mentioned version but depending on that, it might be that SQL Plan Baselines are the appropriate mechanism and you can achieve something similar to that mentioned above using dbms_spm.load_plans_from_cursor_cache:
load_plans_from_cursor_cache
(sql_id IN VARCHAR2, <---------- the sql id of the manually hinted sql from which to copy the plan
plan_hash_value IN NUMBER := NULL, <-------------- the plan in memory to copy
sql_text IN CLOB, <-------------------- the sql text of the sql to apply the plan above to (get via a direct look up from v$sql or dba_hist_sqltext as necesary)
fixed IN VARCHAR2 := 'NO',
enabled IN VARCHAR2 := 'YES') Whichever method you use, avoid any sort of solution involving a single hint directed at a subquery.
Edited by: Dom Brooks on Nov 26, 2012 9:48 PM
reworded -
Can sql profiles be moved from Oracle SE/SEO to XE
Hi all.
I use both: 10g XE, 11g XE as well as SE and SEO.
I'd like to know if i can export / import or move sql profiles from SE / SEO to Oracle XE.
Thanks in advance!!!Profiles? Need a bit more info on what you're after.
For sqlplus the $ORACLE_HOME/admin/glogin.sql file gets executed every time one starts sqlplus or does a connect. Or its %ORACLE_HOME% on windows hosts.
For export and import (also see the 11gR2 Utilities doc Overview of Oracle Data Pump ) but generally the tables, the data, stored procedures, functions, etc. will be compatible, the main caveat will be source and target RDBMS versions, features added (or absent) from one or the other. The first two digits, possibly all four digits of the release version number are relevant.
And the XE space limit has to apply, as well as the absence of some features not included in the engine see the XE license page Oracle® Database Express Edition it has details on what is/is not present. -
Sql Profile Error ORA-13786: missing SQL text of statement object "1"
Hi,
I am testing a Sql Profile sample executiion with the hint result_cache for faster execution of a query. I have created a tuning task but got no recommendations. But when i tried to create sql profile with the pkg dbms_sqltune.accept_sql_profile i am getting an error. The db version is 11.1.0.7. Given below is the sql and the output.
Please let me know if you have any suggestions.
-- Accept SQL Profiles
SET SERVEROUTPUT ON
DECLARE
l_sql_tune_task_id VARCHAR2(2000);
BEGIN
l_sql_tune_task_id := DBMS_SQLTUNE.accept_sql_profile (
task_name => 'Permissionstab_tuning_task',
name => 'Permissionstab_profile',
description => 'sql profile for Permissionstab_profile',
force_match => TRUE);
--profile_type => DBMS_SQLTUNE.PX_PROFILE);
DBMS_OUTPUT.put_line('l_sql_tune_task_id: ' || l_sql_tune_task_id);
END;
with profile_type commented out output
DECLARE
ERROR at line 1:
ORA-13786: missing SQL text of statement object "1" for tuning task "Permissionstab_tuning_task"
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.DBMS_SQLTUNE_INTERNAL", line 11049
ORA-06512: at "SYS.PRVT_SQLPROF_INFRA", line 30
ORA-06512: at "SYS.DBMS_SQLTUNE", line 5836
ORA-06512: at line 4
including profile_type
profile_type => DBMS_SQLTUNE.PX_PROFILE);
ERROR at line 9:
ORA-06550: line 9, column 35:
PLS-00302: component 'PX_PROFILE' must be declared
ORA-06550: line 4, column 5:
PL/SQL: Statement ignored
Given below is the complete script and output
CONN / AS SYSDBA
GRANT CREATE ANY SQL PROFILE TO ariba;
GRANT DROP ANY SQL PROFILE TO ariba;
GRANT ALTER ANY SQL PROFILE TO ariba;
conn ariba/****;
EXEC DBMS_SQLTUNE.DROP_TUNING_TASK('Permissionstab_tuning_task');
-- Tuning task created for a manually specified statement.
DECLARE
l_sql VARCHAR2(4000);
l_sql_tune_task_id VARCHAR2(1000);
BEGIN
l_sql := 'SELECT /*+ result_cache */ rootId, pe_DefaultingSetBits, pe_Version, pe_Creator, pe_Active, pe_AdapterSource, pe_AdapterFlag, pe_PartitionN
umber, '||
'pe_PurgeState, pe_TimeCreated, pe_TimeUpdated, pe_CommonId, pe_ServerVersion, pe_UniqueName, pe_Name, mls_DefaultingSetBits, '||
'mls_PrimaryString, mls_MaxTranslationID, mls_Translations, mls_PrimaryStringLanguageID, mls_LocalizationKey, pe_Description, '||
'mls0_DefaultingSetBits, mls0_PrimaryString, mls0_MaxTranslationID, mls0_Translations, mls0_PrimaryStringLanguageID, '||
'mls0_LocalizationKey, pe_Created, pe_Modified '||
'FROM PermissionTab '||
'where pe_UniqueName = '||''''||'PurchasingAgent'||''''||' '||
'and ( pe_PurgeState = :1 ) AND pe_PartitionNumber = :2';
l_sql_tune_task_id := DBMS_SQLTUNE.create_tuning_task (
sql_text => l_sql,
user_name => 'ARIBA',
scope => DBMS_SQLTUNE.scope_comprehensive,
time_limit => 60,
task_name => 'Permissionstab_tuning_task',
description => 'Tuning task for an Permissionstab query.');
DBMS_OUTPUT.put_line('l_sql_tune_task_id: ' || l_sql_tune_task_id);
END;
EXEC DBMS_SQLTUNE.execute_tuning_task(task_name => 'Permissionstab_tuning_task');
SELECT task_name, status FROM dba_advisor_log WHERE owner = 'ARIBA';
SET LONG 10000;
SET PAGESIZE 1000
SET LINESIZE 200
SELECT DBMS_SQLTUNE.report_tuning_task('Permissionstab_tuning_task') AS recommendations FROM dual;
SET PAGESIZE 24
-- Accept SQL Profiles
SET SERVEROUTPUT ON
DECLARE
l_sql_tune_task_id VARCHAR2(2000);
BEGIN
l_sql_tune_task_id := DBMS_SQLTUNE.accept_sql_profile (
task_name => 'Permissionstab_tuning_task',
name => 'Permissionstab_profile',
description => 'sql profile for Permissionstab_profile',
force_match => TRUE,
profile_type => DBMS_SQLTUNE.PX_PROFILE);
DBMS_OUTPUT.put_line('l_sql_tune_task_id: ' || l_sql_tune_task_id);
END;
11:17:17 SYS@FLBUYPM 02-APR-13> @sql_profile_result_cache.sql
Connected.
Grant succeeded.
Grant succeeded.
Grant succeeded.
Connected.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
TASK_NAME STATUS
Permissionstab_tuning_task COMPLETED
RECOMMENDATIONS
GENERAL INFORMATION SECTION
Tuning Task Name : Permissionstab_tuning_task
Tuning Task Owner : ARIBA
Workload Type : Single SQL Statement
Scope : COMPREHENSIVE
Time Limit(seconds): 60
Completion Status : COMPLETED
Started at : 04/02/2013 11:17:20
Completed at : 04/02/2013 11:17:20
Schema Name: ARIBA
SQL ID : 2y6yar7r71tj1
SQL Text : SELECT /*+ result_cache */ rootId, pe_DefaultingSetBits,
pe_Version, pe_Creator, pe_Active, pe_AdapterSource,
pe_AdapterFlag, pe_PartitionNumber, pe_PurgeState,
pe_TimeCreated, pe_TimeUpdated, pe_CommonId, pe_ServerVersion,
pe_UniqueName, pe_Name, mls_DefaultingSetBits,
mls_PrimaryString, mls_MaxTranslationID, mls_Translations,
mls_PrimaryStringLanguageID, mls_LocalizationKey,
pe_Description, mls0_DefaultingSetBits, mls0_PrimaryString,
mls0_MaxTranslationID, mls0_Translations,
mls0_PrimaryStringLanguageID, mls0_LocalizationKey, pe_Created,
pe_Modified FROM PermissionTab where pe_UniqueName =
'PurchasingAgent' and ( pe_PurgeState = :1 ) AND
pe_PartitionNumber = :2
ADDITIONAL INFORMATION SECTION
- At least one important bind value was missing for this sql statement. The
accuracy of the advisor's analysis may depend on all important bind values
being supplied.
EXPLAIN PLANS SECTION
1- Original
Plan hash value: 778402129
| Id | Operation | Name | Rows | Byte
s | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 29
8 | 1 (0)| 00:00:01 |
| 1 | RESULT CACHE | 9qsg9vxnpk5r13h9gb3wcgujg1 | |
| | |
|* 2 | TABLE ACCESS BY INDEX ROWID| PERMISSIONTAB | 1 | 29
8 | 1 (0)| 00:00:01 |
|* 3 | INDEX UNIQUE SCAN | ARIBAINDEX341 | 1 |
| 1 (0)| 00:00:01 |
Predicate Information (identified by operation id):
2 - filter("PE_PURGESTATE"=TO_NUMBER(:1))
3 - access("PE_UNIQUENAME"='PurchasingAgent' AND "PE_PARTITIONNUMBER"=TO_NUMB
ER(:2))
Result Cache Information (identified by operation id):
1 - column-count=30; dependencies=(ARIBA.PERMISSIONTAB); attributes=(single-r
ow); parameters=(nls, :1, :2); name="SELECT /*+ result_cache */ rootId, pe_Defau
ltingSetBits, pe_Version, pe_Creator, pe_Active, pe_AdapterSource, pe_AdapterFla
g, pe"
DECLARE
ERROR at line 1:
ORA-13786: missing SQL text of statement object "1" for tuning task "Permissionstab_tuning_task"
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.DBMS_SQLTUNE_INTERNAL", line 11049
ORA-06512: at "SYS.PRVT_SQLPROF_INFRA", line 30
ORA-06512: at "SYS.DBMS_SQLTUNE", line 5836
ORA-06512: at line 4
11:17:20 ARIBA@FLBUYPM 02-APR-13>
profile_type => DBMS_SQLTUNE.PX_PROFILE);
ERROR at line 9:
ORA-06550: line 9, column 35:
PLS-00302: component 'PX_PROFILE' must be declared
ORA-06550: line 4, column 5:
PL/SQL: Statement ignored
Edited by: 997562 on Apr 2, 2013 8:34 AMHi Experts,
i too getting this error while attaching the tuning task to the sql profiler, below are the details, appreciate any help on this.
SQL> SQL> VAR profile_name VARCHAR2(30);
SQL> BEGIN
:profile_name := DBMS_SQLTUNE.ACCEPT_SQL_PROFILE(task_name => 'sql_tuning_task');
END;
/ 2 3 4
BEGIN
ERROR at line 1:
ORA-13786: missing SQL text of statement object "1" for tuning task "sql_tuning_task"
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: at "SYS.DBMS_SQLTUNE_INTERNAL", line 16442
ORA-06512: at "SYS.PRVT_SQLPROF_INFRA", line 31
ORA-06512: at "SYS.DBMS_SQLTUNE", line 7544
ORA-06512: at line 2
SQL> select banner from v$version;
BANNER
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production -
Need documents for the SQL profiler.
Hi All,
Can any one send me the documentation for the following ,
1. SQL Profiler.
2. Oracle Enterprise Manager.
- Actually i've been moved to work on Oracle database now. So here we are handling the Fine Tuning of SQL queries.
- Help with complete material and best way to Tune the queries.
- What are the steps to follwo while Tuning the queries.
- Are there any tools to tune automatically.
Here we are using Oracle 10g, TOAD 8.6.1 version...
I am a developer since i don't have any ADMIN priviliges to install all the products. We are using Oracle 10g Client.
Regards,
Arjun.Information about the profiler is in the "Using the PL/SQL Hierarchical Profiler" chapter of the Oracle Database Advanced Application Developer's Guide. (It's Chapter 8 in the Oracle Database Release 11.2 version of that manual.)
In the Oracle Database Release 10.2 documentation library, there's some information about "Using The Profiler API: Package DBMS_PROFILER" in Chapter 11 ("Tuning PL/SQL Applications for Performance") of the Oracle Database PL/SQL User's Guide and Reference manual, which also refers to the DBMS_PROFILER reference chapter in the Oracle Database PL/SQL Packages and Types Reference manual. -
Events to be selected in SQL profiler
Hi Experts,
User was running a job from Application end which runs under SQL Agnet service account. The job was keeps stallingwithout any error. I could the related processes are 'Sleeping' by using sysprocesses cmd. User requesting to run profiler to check
what's going on? So I would like to know what are the event needs to be selected to capture the relevant info, Thanks for help Version: SQL 2008 R2 (Enterprise), Windows 2008 R2Use the code below to get the spid and then you can filter it in the SQL Profiler.
http://www.sqlservercentral.com/scripts/Connections/86792/
For selecting events:
https://msdn.microsoft.com/en-us/library/ff650699.aspx
To identify a long-running query interactively
Start SQL Profiler.
On the File menu, click New, and then click Trace.
Specify the relevant connection details to connect to the computer running SQL Server.
The Trace Properties dialog box appears.
In the Template name list, click SQLProfilerTSQL_Duration.
Click the Events tab.
Notice that two key events are selected:
RPC:Completed from the Stored Procedures event class
SQL:BatchCompleted from the T-SQL event class
Click Run to run the trace.
Start SQL Query Analyzer.
Run the queries you want to analyze. For example, using the Pubs database, you might run the following query.
select au_id, au_lname + ' ' + au_fname, phone from authors where au_lname like 'G%' order by au_lname
select * from authors
Select au_id from authors
View the trace output in SQL Profiler. Note that durations are given in milliseconds.
Figure 1 shows sample output.
Figure 1: Sample SQL Profiler output using the SQLProfilerTSQL_Duration template
Stop the trace.
Note Your duration times may vary from those shown, and may even appear as zero if the database server has a small load.
Please click "Mark as Answer" if the post solves your problem - Thanks -
Using Get Data From Aggregation event class in SQL Profiler - SSAS 2012
Hi,
I'd like to understand better the use of the Get data from aggregation event class in SQL Profiler to monitor a MDX query and which info provide. Fe, does it return the MDX query? Is it possible to use this event class in order to monitor MDX query vs a
Tabular model?
In the TechNet documentation, this event class is handled briefly.
ThanksHi pscorca,
This event is raised when the storage engine reads data from an aggregation, it may have a negative impact on performance when turned on. If you need to monitor SSAS instance status, we can also use dynamic management view:
Use Dynamic Management Views (DMVs) to Monitor Analysis Services:
http://msdn.microsoft.com/en-us/library/hh230820.aspx
Regards,
Elvis Long
TechNet Community Support -
Kill DBA session feature in SQL Developer
Hi All,
Like in TOAD , we have a Kill/DBA session option is on toolbar and we can easily trace down the sessions running as well as SID and serial number ..... Do We have similar feature on SQL Developer ?
Currently my SQL Developer version is 1.0.0.14.67 and Build Main 14.67it's in sqldev 1.1 (in reports/database administration/sessions/sessions)
-
Trace for a specific IP address in SQL Profiler
Hello,
I am looking for a way to trace from a specific ip address in sql profiler, Is there any filter that we can use to trace the database calls from a specific ip address.
Thanks in advance.Thanks for the reply, I have tried by selecting hostname from column filters and gave my system name in Like.
When i run application from localhost then it returns trace results, but on live domain it is not returning trace results, M i missing something in configuring filters? -
Hi All,
We have slow runnig query problem with below queries:
QUERY 1
=======
SELECT "PC0".pxObjClass AS "pxObjClass", "PC0".PXINSNAME AS "pxInsName"
, "PC0".WORKTYPENAME AS "WorkTypeName" , "PC0".PYSTATUSWORK AS
"pyStatusWork" , "PC0".PXCREATEDATETIME AS "pxCreateDateTime",
"PC0".LINKEDREFTO as "pxInsHandle" FROM V_FORM_RELATIONSHIPS_R_1_0
"PC0" WHERE ( "PC0".LINKEDREFFROM = :1 ) AND ( "PC0".pxObjClass = :2
) ORDER BY "PC0".PXINSNAME DESC , "PC0".PXCREATEDATETIME
QUERY 2
=======
SELECT PYID AS "pyID" , PXOBJCLASS AS "pxObjClass" , PZINSKEY AS
"pzInsKey", PZINSKEY as "pxInsHandle" FROM V_WORK_R_1_0 WHERE (
PYID = :1 ) AND ( pxObjClass = :2 )
V_WORK_R_1_0 is a view which union all of two table without any where clause
V_FORM_RELATIONSHIPS_R_1_0 is another view that is made up of V_WORK_R_1_0 view and one more table.
Production DBA accepted both the SQL PROFILE created for these two queries.
FROM DBA_HIST_SQLSTATS it looks like sometime the profile getting used and sometime old plan is being used.How to ensure that correct SQLPROFILE once accepted is used?
This is 4 node RAC oracle 11.2.0.2.0 on Linux
For first query below are sql stats
col BEGIN_INTERVAL_TIME for a26
col end_INTERVAL_TIME for a26
col ROWS_PROCESSED_TOTAL for 99999
col ROWS_PROCESSED_delta for 99999
select s.begin_interval_time, s.end_interval_time , q.snap_id, q.dbid, q.sql_id, q.plan_hash_value, q.optimizer_cost, q.optimizer_mode
--,ROWS_PROCESSED_TOTAL,ROWS_PROCESSED_delta--,CPU_TIME_TOTAL,CPU_TIME_DELTA,ELAPSED_TIME_TOTAL,ELAPSED_TIME_DELTA
from dba_hist_sqlstat q, dba_hist_snapshot s
where q.dbid = 4026476544 and q.sql_id = '1um96ykvtwrh4'
and q.snap_id = s.snap_id
and s.begin_interval_time between sysdate-2 and sysdate
order by 1,s.snap_id desc;
BEGIN_INTERVAL_TIME END_INTERVAL_TIME SNAP_ID DBID SQL_ID PLAN_HASH_VALUE OPTIMIZER_COST OPTIMIZER_
03-JUL-13 06.00.33.805 AM 03-JUL-13 07.00.21.439 AM 17316 4026476544 1um96ykvtwrh4 377865450 20 ALL_ROWS
03-JUL-13 06.00.33.843 AM 03-JUL-13 07.00.21.475 AM 17316 4026476544 1um96ykvtwrh4 377865450 20 ALL_ROWS
03-JUL-13 06.00.33.843 AM 03-JUL-13 07.00.21.475 AM 17316 4026476544 1um96ykvtwrh4 1122713586 179350 ALL_ROWS
03-JUL-13 06.00.33.843 AM 03-JUL-13 07.00.21.474 AM 17316 4026476544 1um96ykvtwrh4 377865450 20 ALL_ROWS
03-JUL-13 07.00.21.475 AM 03-JUL-13 08.00.06.051 AM 17317 4026476544 1um96ykvtwrh4 377865450 20 ALL_ROWS
03-JUL-13 08.00.06.023 AM 03-JUL-13 09.00.11.626 AM 17318 4026476544 1um96ykvtwrh4 377865450 20 ALL_ROWS
03-JUL-13 08.00.06.023 AM 03-JUL-13 09.00.11.626 AM 17318 4026476544 1um96ykvtwrh4 1122713586 179350 ALL_ROWS
03-JUL-13 08.00.06.051 AM 03-JUL-13 09.00.11.596 AM 17318 4026476544 1um96ykvtwrh4 377865450 20 ALL_ROWS
03-JUL-13 08.00.06.051 AM 03-JUL-13 09.00.11.623 AM 17318 4026476544 1um96ykvtwrh4 1122713586 179350 ALL_ROWS
03-JUL-13 08.00.06.051 AM 03-JUL-13 09.00.11.596 AM 17318 4026476544 1um96ykvtwrh4 1122713586 179350 ALL_ROWS
03-JUL-13 11.00.10.502 AM 03-JUL-13 12.00.16.034 PM 17321 4026476544 1um96ykvtwrh4 1122713586 179350 ALL_ROWS
03-JUL-13 11.00.10.502 AM 03-JUL-13 12.00.16.033 PM 17321 4026476544 1um96ykvtwrh4 1122713586 179350 ALL_ROWS
03-JUL-13 11.00.10.503 AM 03-JUL-13 12.00.16.034 PM 17321 4026476544 1um96ykvtwrh4 377865450 20 ALL_ROWS
03-JUL-13 12.00.16.034 PM 03-JUL-13 01.00.42.715 PM 17322 4026476544 1um96ykvtwrh4 377865450 ALL_ROWS
03-JUL-13 01.00.42.685 PM 03-JUL-13 02.00.10.200 PM 17323 4026476544 1um96ykvtwrh4 1122713586 179350 ALL_ROWS
03-JUL-13 01.00.42.714 PM 03-JUL-13 02.00.10.200 PM 17323 4026476544 1um96ykvtwrh4 1122713586 179350 ALL_ROWS
03-JUL-13 03.00.15.887 PM 03-JUL-13 04.00.05.570 PM 17325 4026476544 1um96ykvtwrh4 1122713586 179347 ALL_ROWS
03-JUL-13 03.00.15.887 PM 03-JUL-13 04.00.05.570 PM 17325 4026476544 1um96ykvtwrh4 377865450 30585 ALL_ROWS
03-JUL-13 03.00.15.914 PM 03-JUL-13 04.00.05.541 PM 17325 4026476544 1um96ykvtwrh4 1122713586 179347 ALL_ROWS
03-JUL-13 03.00.15.915 PM 03-JUL-13 04.00.05.570 PM 17325 4026476544 1um96ykvtwrh4 377865450 30585 ALL_ROWS
03-JUL-13 04.00.05.541 PM 03-JUL-13 05.00.09.865 PM 17326 4026476544 1um96ykvtwrh4 1122713586 179347 ALL_ROWS
03-JUL-13 05.00.09.866 PM 03-JUL-13 06.00.26.710 PM 17327 4026476544 1um96ykvtwrh4 1122713586 179347 ALL_ROWS
03-JUL-13 08.00.12.716 PM 03-JUL-13 09.00.00.960 PM 17330 4026476544 1um96ykvtwrh4 1122713586 179347 ALL_ROWS
03-JUL-13 08.00.12.716 PM 03-JUL-13 09.00.00.989 PM 17330 4026476544 1um96ykvtwrh4 1122713586 179347 ALL_ROWS
377865450 is the sql_hash of explain plan given by SQL_PROFILE
select
2 extractvalue(value(d), '/hint') as outline_hints
3 from
4 xmltable('/*/outline_data/hint'
5 passing (
6 select
7 xmltype(other_xml) as xmlval
8 from
9 dba_hist_sql_plan
10 where
11 sql_id = '&sql_id'
12 and plan_hash_value = &plan_hash_value
13 and other_xml is not null
14 15 ) d;
Enter value for sql_id: 1um96ykvtwrh4
old 11: sql_id = '&sql_id'
new 11: sql_id = '1um96ykvtwrh4'
Enter value for plan_hash_value: 377865450
old 12: and plan_hash_value = &plan_hash_value
new 12: and plan_hash_value = 377865450
OUTLINE_HINTS
IGNORE_OPTIM_EMBEDDED_HINTS
OPTIMIZER_FEATURES_ENABLE('11.2.0.2')
DB_VERSION('11.2.0.2')
ALL_ROWS
OUTLINE_LEAF(@"SEL$B01C6807")
OUTLINE_LEAF(@"SEL$8E13D68A")
OUTLINE_LEAF(@"SET$5715CE2E")
PUSH_PRED(@"SEL$F5BB74E1" "VW"@"SEL$2" 3)
OUTLINE_LEAF(@"SEL$F5BB74E1")
MERGE(@"SEL$2")
OUTLINE(@"SEL$3")
OUTLINE_HINTS
OUTLINE(@"SEL$4")
OUTLINE(@"SET$1")
OUTLINE(@"SEL$F5BB74E1")
MERGE(@"SEL$2")
OUTLINE(@"SEL$1")
OUTLINE(@"SEL$2")
INDEX_RS_ASC(@"SEL$F5BB74E1" "LR"@"SEL$2" ("LINK_RELATIONSHIP"."PXLINKEDREFFROM"
NO_ACCESS(@"SEL$F5BB74E1" "VW"@"SEL$2")
LEADING(@"SEL$F5BB74E1" "LR"@"SEL$2" "VW"@"SEL$2")
OUTLINE_HINTS
USE_NL(@"SEL$F5BB74E1" "VW"@"SEL$2")
INDEX_RS_ASC(@"SEL$8E13D68A" "W"@"SEL$4" ("WORK_COMMON"."PZINSKEY"))
INDEX_RS_ASC(@"SEL$B01C6807" "WORK_BATCH"@"SEL$3" ("WORK_BATCH"."PZINSKEY"))
select id, operation, options, object_name, cost
from dba_hist_sql_plan
where dbid = 4026476544 and sql_id = '1um96ykvtwrh4'
and plan_hash_value = 377865450 2 3 4
5 ;
ID OPERATION OPTIONS OBJECT_NAME COST
0 SELECT STATEMENT 20
1 SORT ORDER BY 20
2 FILTER
3 NESTED LOOPS 19
4 TABLE ACCESS BY INDEX ROWID LINK_RELATIONSHIP 5
5 INDEX RANGE SCAN RELATIONSHIP_REFFROM 3
6 VIEW V_WORK_R_1_0 7
7 UNION ALL PUSHED PREDICATE
8 TABLE ACCESS BY INDEX ROWID WORK_BATCH 4
9 INDEX UNIQUE SCAN WORK_BATCH_PK 3
10 TABLE ACCESS BY INDEX ROWID WORK_COMMON 3
11 INDEX UNIQUE SCAN WORK_COMMON_PK 2
EXPLAIN PLAN OF SQL_PROFILE PROVIDED
select * from table(dbms_xplan.display_awr('1um96ykvtwrh4',377865450,4026476544, 'ALL +peeked_binds +ALLSTATS LAST'));
PLAN_TABLE_OUTPUT
SQL_ID 1um96ykvtwrh4
SELECT "PC0".pxObjClass AS "pxObjClass", "PC0".PXINSNAME AS "pxInsName"
, "PC0".WORKTYPENAME AS "WorkTypeName" , "PC0".PYSTATUSWORK AS
"pyStatusWork" , "PC0".PXCREATEDATETIME AS "pxCreateDateTime",
"PC0".LINKEDREFTO as "pxInsHandle" FROM V_FORM_RELATIONSHIPS_R_1_0
"PC0" WHERE ( "PC0".LINKEDREFFROM = :1 ) AND ( "PC0".pxObjClass = :2
) ORDER BY "PC0".PXINSNAME DESC , "PC0".PXCREATEDATETIME
Plan hash value: 377865450
| Id | Operation | Name | E-Rows |E-Bytes| Cost (%CPU)| E-Time |
| 0 | SELECT STATEMENT | | | | 20 (100)| |
| 1 | SORT ORDER BY | | 2 | 1362 | 20 (5)| 00:00:01 |
| 2 | FILTER | | | | | |
| 3 | NESTED LOOPS | | 2 | 1362 | 19 (0)| 00:00:01 |
| 4 | TABLE ACCESS BY INDEX ROWID | LINK_RELATIONSHIP | 2 | 204 | 5 (0)| 00:00:01 |
| 5 | INDEX RANGE SCAN | RELATIONSHIP_REFFROM | 2 | | 3 (0)| 00:00:01 |
| 6 | VIEW | V_WORK_R_1_0 | 1 | 579 | 7 (0)| 00:00:01 |
| 7 | UNION ALL PUSHED PREDICATE | | | | | |
| 8 | TABLE ACCESS BY INDEX ROWID| WORK_BATCH | 1 | 89 | 4 (0)| 00:00:01 |
| 9 | INDEX UNIQUE SCAN | WORK_BATCH_PK | 1 | | 3 (0)| 00:00:01 |
| 10 | TABLE ACCESS BY INDEX ROWID| WORK_COMMON | 1 | 109 | 3 (0)| 00:00:01 |
| 11 | INDEX UNIQUE SCAN | WORK_COMMON_PK | 1 | | 2 (0)| 00:00:01 |
Query Block Name / Object Alias (identified by operation id):
1 - SEL$F5BB74E1
4 - SEL$F5BB74E1 / LR@SEL$2
5 - SEL$F5BB74E1 / LR@SEL$2
6 - SET$5715CE2E / VW@SEL$2
7 - SET$5715CE2E
8 - SEL$B01C6807 / WORK_BATCH@SEL$3
9 - SEL$B01C6807 / WORK_BATCH@SEL$3
10 - SEL$8E13D68A / W@SEL$4
11 - SEL$8E13D68A / W@SEL$4
Peeked Binds (identified by position):
1 - :1 (VARCHAR2(30), CSID=873): 'xxxx-xxx-SERVICEREQUEST-WORK-ACCTMAINT AM-13640'
Note
- Warning: basic plan statistics not available. These are only collected when:
* hint 'gather_plan_statistics' is used for the statement or
* parameter 'statistics_level' is set to 'ALL', at session or system level
OLD EXPLAIN PLAN IS
select * from table(dbms_xplan.display_awr('1um96ykvtwrh4',1122713586,4026476544, 'ALL +peeked_binds +ALLSTATS LAST'));
PLAN_TABLE_OUTPUT
SQL_ID 1um96ykvtwrh4
SELECT "PC0".pxObjClass AS "pxObjClass", "PC0".PXINSNAME AS "pxInsName"
, "PC0".WORKTYPENAME AS "WorkTypeName" , "PC0".PYSTATUSWORK AS
"pyStatusWork" , "PC0".PXCREATEDATETIME AS "pxCreateDateTime",
"PC0".LINKEDREFTO as "pxInsHandle" FROM V_FORM_RELATIONSHIPS_R_1_0
"PC0" WHERE ( "PC0".LINKEDREFFROM = :1 ) AND ( "PC0".pxObjClass = :2
) ORDER BY "PC0".PXINSNAME DESC , "PC0".PXCREATEDATETIME
Plan hash value: 1122713586
| Id | Operation | Name | E-Rows |E-Bytes|E-Temp | Cost (%CPU)| E-Time |
| 0 | SELECT STATEMENT | | | | | 171K(100)| |
| 1 | SORT ORDER BY | | 32220 | 20M| 22M| 171K (1)| 00:34:18 |
| 2 | FILTER | | | | | | |
| 3 | HASH JOIN | | 32220 | 20M| 3560K| 166K (1)| 00:33:22 |
| 4 | VIEW | index$_join$_002 | 31931 | 3180K| | 1648 (1)| 00:00:20 |
| 5 | HASH JOIN | | | | | | |
| 6 | INDEX RANGE SCAN | RELATIONSHIP_REFFROM | 31931 | 3180K| | 430 (1)| 00:00:06 |
| 7 | INDEX FAST FULL SCAN| AK1_LINK_RELATIONSHIP | 31931 | 3180K| | 1096 (1)| 00:00:14 |
| 8 | VIEW | V_WORK_R_1_0 | 3946K| 2178M| | 54733 (1)| 00:10:57 |
| 9 | UNION-ALL | | | | | | |
| 10 | TABLE ACCESS FULL | WORK_BATCH | 3910K| 331M| | 53959 (1)| 00:10:48 |
| 11 | TABLE ACCESS FULL | WORK_COMMON | 35334 | 3761K| | 774 (1)| 00:00:10 |
Query Block Name / Object Alias (identified by operation id):
1 - SEL$F5BB74E1
4 - SEL$838CAA44 / LR@SEL$2
5 - SEL$838CAA44
6 - SEL$838CAA44 / indexjoin$_alias$_001@SEL$838CAA44
7 - SEL$838CAA44 / indexjoin$_alias$_002@SEL$838CAA44
8 - SET$1 / VW@SEL$2
9 - SET$1
10 - SEL$3 / WORK_BATCH@SEL$3
11 - SEL$4 / W@SEL$4
Peeked Binds (identified by position):
1 - :1 (VARCHAR2(30), CSID=873): 'xxxxxx-xxx-SERVICEREQUEST-WORK-BD-DOCUMENTREQUEST ACE_BD_DR-166646'
Note
- Warning: basic plan statistics not available. These are only collected when:
* hint 'gather_plan_statistics' is used for the statement or
* parameter 'statistics_level' is set to 'ALL', at session or system level
52 rows selected.
Select sql_id,plan_hash_value,old_hash_value,child_number,OUTLINE_CATEGORY,CPU_TIME,ELAPSED_TIME,SQL_PROFILE from gv$sql where sql_id='1um96ykvtwrh4';
SQL_ID PLAN_HASH_VALUE OLD_HASH_VALUE CHILD_NUMBER OUTLINE_CA CPU_TIME ELAPSED_TIME SQL_PROFILE
1um96ykvtwrh4 377865450 3763442152 2 81989 198629 SYS_SQLPROF_013fa7a18f7c0001
1um96ykvtwrh4 1122713586 3763442152 0 44147289 172322738
1um96ykvtwrh4 1122713586 3763442152 1 1905933242 6101663681
1um96ykvtwrh4 377865450 3763442152 3 55988 108690 SYS_SQLPROF_013fa7a18f7c0001
FOR QUERY 2
col BEGIN_INTERVAL_TIME for a26
col end_INTERVAL_TIME for a26
select s.begin_interval_time, s.end_interval_time , q.snap_id, q.dbid, q.sql_id,q.VERSION_COUNT, q.plan_hash_value, q.optimizer_cost, q.optimizer_mode
from dba_hist_sqlstat q, dba_hist_snapshot s
where q.dbid = 4026476544 and q.sql_id = '4prk4w6sdtxa5'
and q.snap_id = s.snap_id
and s.begin_interval_time between sysdate-2 and sysdate
order by 1,s.snap_id desc;
BEGIN_INTERVAL_TIME END_INTERVAL_TIME SNAP_ID DBID SQL_ID PLAN_HASH_VALUE OPTIMIZER_COST OPTIMIZER_
04-JUL-13 12.00.01.427 PM 04-JUL-13 01.00.02.453 PM 17346 4026476544 4prk4w6sdtxa5 3168544609 56710 ALL_ROWS
04-JUL-13 12.00.01.430 PM 04-JUL-13 01.00.02.413 PM 17346 4026476544 4prk4w6sdtxa5 455675889 985 ALL_ROWS
04-JUL-13 12.00.01.430 PM 04-JUL-13 01.00.02.413 PM 17346 4026476544 4prk4w6sdtxa5 3168544609 56710 ALL_ROWS
04-JUL-13 12.00.01.430 PM 04-JUL-13 01.00.02.413 PM 17346 4026476544 4prk4w6sdtxa5 455675889 985 ALL_ROWS
04-JUL-13 12.00.01.430 PM 04-JUL-13 01.00.02.413 PM 17346 4026476544 4prk4w6sdtxa5 3168544609 56710 ALL_ROWS
OLD EXPLAIN PAL
select * from table(dbms_xplan.display_awr('4prk4w6sdtxa5',3168544609,4026476544, 'ALL +peeked_binds +ALLSTATS LAST'));
PLAN_TABLE_OUTPUT
SQL_ID 4prk4w6sdtxa5
SELECT PYID AS "pyID" , PXOBJCLASS AS "pxObjClass" , PZINSKEY AS
"pzInsKey", PZINSKEY as "pxInsHandle" FROM V_WORK_R_1_0 WHERE (
PYID = :1 ) AND ( pxObjClass = :2 )
Plan hash value: 3168544609
| Id | Operation | Name | E-Rows |E-Bytes| Cost (%CPU)| E-Time |
| 0 | SELECT STATEMENT | | | | 53846 (100)| |
| 1 | VIEW | V_WORK_R_1_0 | 2 | 1238 | 53846 (1)| 00:10:47 |
| 2 | UNION-ALL | | | | | |
| 3 | FILTER | | | | | |
| 4 | TABLE ACCESS FULL | WORK_BATCH | 1 | 67 | 53844 (1)| 00:10:47 |
| 5 | FILTER | | | | | |
| 6 | TABLE ACCESS BY INDEX ROWID| WORK_COMMON | 1 | 578 | 2 (0)| 00:00:01 |
| 7 | INDEX RANGE SCAN | AK1_WORK_COMMON | 1 | | 1 (0)| 00:00:01 |
Query Block Name / Object Alias (identified by operation id):
1 - SET$1 / V_WORK_R_1_0@SEL$1
2 - SET$1
3 - SEL$2
4 - SEL$2 / WORK_BATCH@SEL$2
5 - SEL$3
6 - SEL$3 / W@SEL$3
7 - SEL$3 / W@SEL$3
Peeked Binds (identified by position):
1 - :1 (VARCHAR2(30), CSID=873): 'CM-22180'
Note
- dynamic sampling used for this statement (level=2)
- Warning: basic plan statistics not available. These are only collected when:
* hint 'gather_plan_statistics' is used for the statement or
* parameter 'statistics_level' is set to 'ALL', at session or system level
NEW EXPLAIN PLAN IS
select * from table(dbms_xplan.display_awr('4prk4w6sdtxa5',455675889,4026476544, 'ALL +peeked_binds +ALLSTATS LAST'));
PLAN_TABLE_OUTPUT
SQL_ID 4prk4w6sdtxa5
SELECT PYID AS "pyID" , PXOBJCLASS AS "pxObjClass" , PZINSKEY AS
"pzInsKey", PZINSKEY as "pxInsHandle" FROM V_WORK_R_1_0 WHERE (
PYID = :1 ) AND ( pxObjClass = :2 )
Plan hash value: 455675889
| Id | Operation | Name | E-Rows |E-Bytes| Cost (%CPU)| E-Time | TQ |IN-OUT| PQ Distrib |
| 0 | SELECT STATEMENT | | | | 985 (100)| | | | |
| 1 | PX COORDINATOR | | | | | | | | |
| 2 | PX SEND QC (RANDOM) | :TQ10001 | 2 | 1238 | 985 (1)| 00:00:12 | Q1,01 | P->S | QC (RAND) |
| 3 | BUFFER SORT | | 2 | 1238 | | | Q1,01 | PCWP | |
| 4 | VIEW | V_WORK_R_1_0 | 2 | 1238 | 985 (1)| 00:00:12 | Q1,01 | PCWP | |
| 5 | UNION-ALL | | | | | | Q1,01 | PCWP | |
| 6 | FILTER | | | | | | Q1,01 | PCWC | |
| 7 | PX BLOCK ITERATOR | | 1 | 67 | 983 (1)| 00:00:12 | Q1,01 | PCWC | |
| 8 | TABLE ACCESS FULL | WORK_BATCH | 1 | 67 | 983 (1)| 00:00:12 | Q1,01 | PCWP | |
| 9 | BUFFER SORT | | | | | | Q1,01 | PCWC | |
| 10 | PX RECEIVE | | 1 | 59 | 2 (0)| 00:00:01 | Q1,01 | PCWP | |
| 11 | PX SEND ROUND-ROBIN | :TQ10000 | 1 | 59 | 2 (0)| 00:00:01 | | S->P | RND-ROBIN |
| 12 | FILTER | | | | | | | | |
| 13 | TABLE ACCESS BY INDEX ROWID| WORK_COMMON | 1 | 59 | 2 (0)| 00:00:01 | | | |
| 14 | INDEX RANGE SCAN | AK1_WORK_COMMON | 1 | | 1 (0)| 00:00:01 | | | |
Query Block Name / Object Alias (identified by operation id):
1 - SEL$1
4 - SET$1 / V_WORK_R_1_0@SEL$1
5 - SET$1
6 - SEL$2
8 - SEL$2 / WORK_BATCH@SEL$2
12 - SEL$3
13 - SEL$3 / W@SEL$3
14 - SEL$3 / W@SEL$3
Peeked Binds (identified by position):
1 - :1 (VARCHAR2(30), CSID=873): 'AM-15042'
Note
- automatic DOP: Computed Degree of Parallelism is 64
- SQL profile "SYS_SQLPROF_013fa79ff2ee0000" used for this statement
- Warning: basic plan statistics not available. These are only collected when:
* hint 'gather_plan_statistics' is used for the statement or
* parameter 'statistics_level' is set to 'ALL', at session or system level
53 rows selected.
HINT USED IN EXPLAIN PLAN GIVEN BY SQL_PROFILE
select
extractvalue(value(d), '/hint') as outline_hints
from
xmltable('/*/outline_data/hint'
passing (
select
xmltype(other_xml) as xmlval
from
dba_hist_sql_plan
where
sql_id = '&sql_id'
and plan_hash_value = &plan_hash_value
and other_xml is not null
)) d;
OUTLINE_HINTS
IGNORE_OPTIM_EMBEDDED_HINTS
OPTIMIZER_FEATURES_ENABLE('11.2.0.2')
DB_VERSION('11.2.0.2')
OPT_PARAM('optimizer_dynamic_sampling' 5)
ALL_ROWS
SHARED(64)
OUTLINE_LEAF(@"SEL$2")
OUTLINE_LEAF(@"SEL$3")
OUTLINE_LEAF(@"SET$1")
OUTLINE_LEAF(@"SEL$1")
NO_ACCESS(@"SEL$1" "V_WORK_R_1_0"@"SEL$1")
INDEX_RS_ASC(@"SEL$3" "W"@"SEL$3" ("WORK_COMMON"."PYID"))
FULL(@"SEL$2" "WORK_BATCH"@"SEL$2")
col OUTLINE_CATEGORY for a10
col SQL_PROFILE for a30
select sql_id,plan_hash_value,old_hash_value,child_number,OUTLINE_CATEGORY,CPU_TIME,ELAPSED_TIME,SQL_PROFILE from gv$sql where sql_id='4prk4w6sdtxa5';
SQL_ID PLAN_HASH_VALUE OLD_HASH_VALUE CHILD_NUMBER OUTLINE_CA CPU_TIME ELAPSED_TIME SQL_PROFILE
4prk4w6sdtxa5 3168544609 353644632 0 2633226703 4.4271E+10
4prk4w6sdtxa5 455675889 353644632 1 27225852 759830164 SYS_SQLPROF_013fa79ff2ee0000
4prk4w6sdtxa5 455675889 353644632 2 119988890 9664144040 SYS_SQLPROF_013fa79ff2ee0000
4prk4w6sdtxa5 455675889 353644632 3 85872011 5942746451 SYS_SQLPROF_013fa79ff2ee0000
4prk4w6sdtxa5 3168544609 353644632 0 335776954 337580538
4prk4w6sdtxa5 3168544609 353644632 1 399056329 401261240
4prk4w6sdtxa5 3168544609 353644632 2 484240383 486679352
4prk4w6sdtxa5 3168544609 353644632 3 401375979 492360355
4prk4w6sdtxa5 3168544609 353644632 4 930830490 2.2156E+10
4prk4w6sdtxa5 3168544609 353644632 5 403837610 472368680
4prk4w6sdtxa5 3168544609 353644632 6 1136393235 2.5397E+10
4prk4w6sdtxa5 3168544609 353644632 7 858015552 1.6636E+10
4prk4w6sdtxa5 455675889 353644632 8 68884598 6001624174 SYS_SQLPROF_013fa79ff2ee0000
4prk4w6sdtxa5 455675889 353644632 9 21730702 629077530 SYS_SQLPROF_013fa79ff2ee0000
4prk4w6sdtxa5 455675889 353644632 10 93504893 8216578447 SYS_SQLPROF_013fa79ff2ee0000
OTHER INFO
SQL> select table_name,owner,index_name,INDEX_TYPE from dba_indexes where table_name in ('WORK_BATCH','WORK_COMMON','LINK_RELATIONSHIP');
TABLE_NAME OWNER INDEX_NAME INDEX_TYPE
LINK_RELATIONSHIP ACE SYS_IL0000120332C00018$$ LOB
WORK_BATCH ACE SYS_IL0000120308C00085$$ LOB
WORK_COMMON ACE SYS_IL0000243612C00085$$ LOB
LINK_RELATIONSHIP ACE LINK_RELATIONSHIP_PK NORMAL
LINK_RELATIONSHIP ACE AK1_LINK_RELATIONSHIP NORMAL
LINK_RELATIONSHIP ACE RELATIONSHIP_REFFROM NORMAL
WORK_BATCH ACE WORK_BATCH_PK NORMAL
WORK_BATCH ACE IDX1_WORK_BATCH NORMAL
WORK_COMMON ACE AK2_WORK_COMMON NORMAL
WORK_COMMON ACE AK1_WORK_COMMON NORMAL
WORK_COMMON ACE WORK_COMMON_PK NORMAL
col object_name for a25
select created,object_name,object_type,owner,LAST_DDL_TIME from dba_objects where object_name in ('WORK_BATCH','WORK_COMMON','WORK_BATCH_PK','WORK_COMMON_PK','AK1_LINK_RELATIONSHIP','RELATIONSHIP_REFFROM')
2
CREATED OBJECT_NAME OBJECT_TYPE OWNER LAST_DDL_TI
28-JUN-2012 WORK_BATCH TABLE ACE 15-JUN-2013
28-JUN-2012 WORK_BATCH_PK INDEX ACE 29-MAY-2013
30-NOV-2012 RELATIONSHIP_REFFROM INDEX ACE 03-JUL-2013
23-FEB-2013 AK1_LINK_RELATIONSHIP INDEX ACE 23-FEB-2013
15-JUN-2013 WORK_COMMON TABLE ACE 15-JUN-2013
15-JUN-2013 WORK_COMMON_PK INDEX ACE 15-JUN-2013
09-MAR-2013 WORK_BATCH SYNONYM ACE_USER 09-MAR-2013
col COLUMN_NAME for a20
Select INDEX_NAME,TABLE_NAME,COLUMN_NAME,COLUMN_POSITION from dba_ind_columns where table_name in ('WORK_BATCH','WORK_COMMON','LINK_RELATIONSHIP');
INDEX_NAME TABLE_NAME COLUMN_NAME COLUMN_POSITION
RELATIONSHIP_REFFROM LINK_RELATIONSHIP PXLINKEDREFFROM 1
AK1_LINK_RELATIONSHIP LINK_RELATIONSHIP PXLINKEDREFTO 1
LINK_RELATIONSHIP_PK LINK_RELATIONSHIP PZINSKEY 1
IDX1_WORK_BATCH WORK_BATCH CAPTUREUNIQUEID 1
WORK_BATCH_PK WORK_BATCH PZINSKEY 1
WORK_COMMON_PK WORK_COMMON PZINSKEY 1
AK1_WORK_COMMON WORK_COMMON PYID 1
AK2_WORK_COMMON WORK_COMMON PXOBJCLASS 1
SQL> select distinct tablespace_name from dba_tablespaces where tablespace_name like '%INDEX%';
TABLESPACE_NAME
ACE_INDEXES_M
RBS_INDEXES_S
SPS_INDEXES_S
ACE_INDEXES_S
ACE_INDEXES_L
FI_INDEXES_S
FI_INDEXES_M
RBS_INDEXES_M
8 rows selected.
col SEARCH_CONDITION for a25
col OWNER for a10
select OWNER,CONSTRAINT_NAME,CONSTRAINT_TYPE,TABLE_NAME,SEARCH_CONDITION,INDEX_NAME from dba_constraints where TABLE_NAME in ('WORK_BATCH','WORK_COMMON','LINK_RELATIONSHIP')
OWNER CONSTRAINT_NAME C TABLE_NAME SEARCH_CONDITION INDEX_NAME
ACE SYS_C00150550 C WORK_COMMON "PZINSKEY" IS NOT NULL
ACE WORK_BATCH_PK P WORK_BATCH WORK_BATCH_PK
ACE LINK_RELATIONSHIP_PK P LINK_RELATIONSHIP LINK_RELATIONSHIP_PK
ACE WORK_COMMON_PK P WORK_COMMON WORK_COMMON_PK
select attr_val hint
from dba_sql_profiles p, sqlprof$attr h
where p.signature = h.signature
and name like ('SYS_SQLPROF_013fa7a18f7c0001')
order by attr#
select LAST_ANALYZED,SAMPLE_SIZE,num_rows from dba_tables where table_name in ('WORK_BATCH','WORK_COMMON','LINK_RELATIONSHIP');
LAST_ANALYZ SAMPLE_SIZE NUM_ROWS
02-JUL-2013 4122880 4122880
02-JUL-2013 81108 81108
03-JUL-2013 40802 40802
SQL> select count(pzinskey) from ace.WORK_BATCH;
COUNT(PZINSKEY)
4138044
SQL> select count(pzinskey) from ace.WORK_COMMON;
COUNT(PZINSKEY)
40805Hi,
i think you should give a try on baseline.
Profiles are more subject to stats ad dynamic sampling.
You can find this useful:
Kerry Osborne SQL Profiles Disable Automatic Dynamic Sampling
This doesn't match your case but can give some advices.
Regs,
Drew
Maybe you are looking for
-
Form with report, where some items in the form have been given values.
Hi, greetings: I have a question that maybe silly but annoying to me. I need to provide a form with report, where some items in the form have been given values automatically, and these items (display only) are supposed to show given values in the for
-
How to Print the Report Column headers on each page of any report
Can someone offer assistance on how I can go about achieving the ability to show and print the Report Column headers on each page of any report using the Print Attributes of APEX 3.0? These reports will be printed using Excel and Word. I read a threa
-
Infinity Component Qty Proposing during Batch Determination in Process ordr
Hi Guys, During Batch Determination in Process order, component determination proposing with Infinity quanity (i,e 999,999,999,999) with old batches, even though there is no stock available against these batches. (MMBE) Please advise me if I miss an
-
Is it possible change the vendor old addres while reprinting check in F110
Hi Friends Is it possible change the vendor old address while reprinting check in F110? My user first he run the APP and he print the check with wrong address, after that he realized, he had taken print with old address. Now he want reprint the check
-
Troubleshooting Telstra Broadband Protect
Slow connection Telstra Broadband Protect won't slow your internet connection, so if you're experiencing any performance issues with your broadband service, see these tips to troubleshoot your ADSL. Issues logging in to the Anti-Virus Plus Security a