Sql tuning advisor for concurrent requests
Dear all,
I am having one doubt in my mind from very long time.Can we use sql tuning advisor from 10G(EM) to tune concurrent requests and reports?
Regards
Hi Helios,
I am just thinking wiht voice. If you have one code blog which is typed in sql-pl/sql for your concurrent request, its going and run on dbtier. So it has one SQL'ID and also can be check on AWR report. So i belive you can use sqltuning adviser for to can tune related sqlAFAIK, some Instances a single concurrent request may contain multiple SQLID's and in that scenario tuning approach is difficult. Any information how can we consolidate it. If tune one specific sql then the explain plan for other sql become more worst. I came across this situation so many time.
Any information or inputs on this is really appreciated.
thanks,
X A H E E R
Similar Messages
-
SQL tuning Advisor for old statements
Hi all,
i've identified SQL ID (through snapshots AWR) that make me performance problem. This is a old select statement (Mar 10, 2008) and when i try to run sql tuning advisor, it shows me this error:
"There was a problem creating a SQL tuning task. ORA-13780: SQL statement does not exist. ORA-06512"
I've set AWR for retain 60 days of Snapshot Retention, why i can't run tuning advisor for this statement??
thanks very much for answers.
AndreaHi
The problem is that the information of AWR is based on Historical information that Oracle retrieve of historical tables . AWR means Automatic Workload Repository.
But when you execute the SQL tuning advisor task, Oracle needs retrieve the information of sql statement from SHARED POOL.
The Library Cache is a part of Shared pool and contains an area named SQLAREA that stored information of execution plan for sql statements. This memory area is managed by LRU alghoritm.(last recently used) and the error is produced because this sql statement not is stored in this memory area.
When the sql stament not reside in memory Oracle can't build the execution plan and then the error appear
Regards -
Hello All,
I am using Oracle SQL Developer 3.0.04 Build MAIN-04.34. I have tried SQL Tuning Advisor to tune one of the query we have. SQL Tuning advisor has completed its processing after 10 minutes. I would like to save the result of SQL Tuning advisor for my future comaprisions and other purposes. Is there anyway i can export whatever SQL Tuning Advisor shows on the screen?
Very much appreciate all your inputs.
Thanks.Santosh,
I suggest you to look into the "Oracle Database Performance Tuning Guide". May be you can download from OTN. You will get information about the Performance Tuning that includes SQL Tuning Advisor also.
Access Path means the path by which data is retrieved from a database. For example, a query using an index and a query using a full table scan use different access paths.
Predicate is the WHERE condition in a SQL statement.
Thanks.
-Ramesh -
Can DBMS_ADVISOR package be used for SQL Tuning Advisor ?
Can DBMS_ADVISOR package be used for SQL Tuning Advisor ?
SQL> SELECT * from v$version;
BANNER
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
PL/SQL Release 11.1.0.6.0 - Production
CORE 11.1.0.6.0 Production
TNS for 32-bit Windows: Version 11.1.0.6.0 - Production
NLSRTL Version 11.1.0.6.0 - Production -
Which privileges are required for sql tuning advisor
Hi,
Oracle 10g
1> I want to know which privileges are required for running sql tuning advisor...
2> Some queries are taking long time.. if i run sql tuning advisor..shud i first try it out on development database or directly on prod database
Regards1> I want to know which privileges are required for running sql tuning advisor...
As SQL tuning advisor relies on the advisor framework, so all tuning task interfaces (XXX_TUNING_TASK) require privilege ADVISOR.
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_sqltun.htm#CACDFEBH
Some queries are taking long time.. if i run sql tuning advisor..shud i first try it out on development database or directly on prod databaseDo you mean the implementation?
Adith -
Additional licenses reuired for using Sql Tuning Advisor In SQL Developer 4.0.3
Hi,
We have Oracle Database 11g Enterprise Edition Release 11.2.0.3.0. Do we need to purchase an additional oracle license for using SQL Tuning Advisor Option in SQL Developer 4.0.3We have Oracle Database 11g Enterprise Edition Release 11.2.0.3.0. Do we need to purchase an additional oracle license for using SQL Tuning Advisor Option in SQL Developer 4.0.3
The Oracle Tuning Pack is DATABASE functionality - it is part of the database. Sql Developer just uses it.
Yes - to use ANY of the features of the tuning pack requires an extra cost license.
http://docs.oracle.com/cd/B28359_01/license.111/b28287/options.htm#CIHFIHFG
Oracle Tuning Pack
The Oracle Tuning Pack provides database administrators with expert performance management for the Oracle environment, including SQL tuning and storage optimizations. The Oracle Diagnostic Pack is a prerequisite product to the Oracle Tuning Pack. Therefore, to use the Tuning Pack, you must also have a Diagnostic Pack.
The Tuning Pack includes the following features:
SQL Access Advisor
SQL Tuning Advisor
Automatic SQL Tuning
SQL Tuning Sets
SQL Monitoring
Reorganize objects
In order to use the features listed above, you must purchase licenses for the Tuning Pack, with one exception: SQL Tuning Sets can be used if you have licensed either the Tuning Pack or Oracle Real Application Testing. A new initialization parameter, CONTROL_MANAGEMENT_PACK_ACCESS, is introduced to control access to the Diagnostic Pack and Tuning Pack in the database server. This parameter can be set to one of three values:
DIAGNOSTIC+TUNING: Diagnostic Pack and Tuning Pack functionally is enabled in the database server.
DIAGNOSTIC: Only Diagnostic Pack functionality is enabled in the server.
NONE: Diagnostic Pack and Tuning pack functionally is disabled in the database server.
The Tuning Pack functionality can be accessed by the Enterprise Manager links as well as through the database server command-line APIs. The use of either interface requires licensing of the Tuning Pack -
Enterprise Manager - sql tuning advisor , Access advisor for SQL Tuning
Hi,
NO I mean in oracle 10g you have the enterprise manager which can be used to tune sql statements using the SQL ADvisor and SQL access advisor.
I believe in oracle 10g the process of SQL Tuning is slightly easier using the Enterprise Manager ...so if some one could explain me that process...
Again thanking you in advance
regds
Manoj GokhaleHi Manoj,
tune sql statements using the SQL ADvisor and SQL access advisor.Do you have the OEM extra cost "performance pack"?
The OEM screens are fairly self-explainatory, but here are some references on the 10 SQL tuning advisors:
http://www.oracle-base.com/articles/10g/AutomaticSQLTuning10g.php
http://www.remote-dba.net/oracle_10g_tuning/t_oracle_sql_tuning_advisor_session_example.htm -
Feature option request - SQL Tuning Advisor
Hi,
Love the ability we can run SQL Tuning Advisor so easily in SQL Developer, this is how it should be simple. However we can not specify a few parameter like: time_limit, task_name and description. Would be helpful to have these options, especially increasing the time_limit option!At least the limit will be increased: 3.0 Tuning Advisor Times Out
Regards,
K. -
Dear all,
DB : 10.2.0.4.
Solaris 5.10
One of the monthly process had a problem and one of the select statements was taking a lot of time and when I ran sql tuning advisor, initially it advised me to accept the new sql profile. then since there is no improvements, I proceeded with running sql tuning advisor again which resulted in
Optimizer statistics for index "USER"."CDR_BITMAP_IDX" are stale. Consider collecting optimizer statistics for this index. The optimizer requires up-to-date statistics for the index in order to select a good execution plan.
Miscellaneous SQL Profile "SYS_SQLPROF_02492cc266e98000" exists for this statement and was ignored during the tuning process.
select b.custno ,b.contrno ,b.rowid ,a.subscr_type ,a.area ,a.subno ,
nvl(a.imsi_no,:"SYS_B_00") ,a.extn ,a.b_subno ,a.chargetype ,a.tariffclass ,
a.cdrcode ,to_char(a.transdate,'YYYYMMDD') ,to_char(nvl(a.transdate_to,
a.transdate),'YYYYMMDD') ,nvl(a.no_of_calls,:"SYS_B_01") ,nvl(a.duration,
:"SYS_B_02") ,nvl(a.act_duration,:"SYS_B_03") ,a. time ,a.time_data ,
a.act_time ,a.cdrtext ,a.ar_cdrtext ,a.cdramount ,a.cdramount_int ,
a.gross_amount ,a.gross_amount_int ,nvl(adv_cdramount,:"SYS_B_04") ,
nvl(adv_gross_amount,:"SYS_B_05") ,to_char(nvl(adv_transdate,transdate),
'YYYYMMDD') ,to_char(nvl(adv_transdate_to,transdate_to),'YYYYMMDD') ,
a.factor ,a.factor_int ,to_char(a.upddate,'YYYYMMDD') ,a.tax_class ,
a.vol_group ,nvl(a.table_gen,:"SYS_B_06") ,a.call_type ,
to_char(a.ltd,'YYYYMMDD') ,nvl(a.equipgroup,:"SYS_B_07") ,
nvl(a.equipid,:"SYS_B_08") ,dest_code ,rate_type ,org_tariff_group ,
tariff_group ,rate_pos ,nvl(a.tariff_profile,:"SYS_B_09") ,a.rowid ,
nvl(a.adv_cdred,:"SYS_B_10") ,a.SPLIT_TARIFFCLASS ,a.SPLIT_DURATION ,
a.SPLIT_cdrAMOUNT ,a.SPLIT_cdrAMOUNT_INT
from
cdr_master a ,cdr_control b where (((((b.ltd=to_date(:b0,
:"SYS_B_11") and a.contrno=b.contrno) and b.run_group=:b1) and b.cdr_flag=
:"SYS_B_12") and nvl(a.cdred,:"SYS_B_13")<>:"SYS_B_14") and
(((trunc(a.transdate)<=to_date(:b0,:"SYS_B_15") or ((trunc(a.upddate)<=
to_date(:b0,:"SYS_B_16") and chargetype=:"SYS_B_17") and (((a.cdred is
not null and a.cdred=:"SYS_B_18") and nvl(adv_cdred,:"SYS_B_19")=
:"SYS_B_20") or (((a.cdred is not null and a.cdred=:"SYS_B_21") and
nvl(adv_cdred,:"SYS_B_22")=:"SYS_B_23") and adv_transdate_to<=to_date(:b0,
:"SYS_B_24"))))) or ((a.cdred is not null and a.cdred=:"SYS_B_25") and
nvl(adv_cdred,:"SYS_B_26")=:"SYS_B_27")) or (((a.cdred is not null and
a.cdred=:"SYS_B_28") and nvl(adv_cdred,:"SYS_B_29")=:"SYS_B_30") and
adv_transdate_to<=to_date(:b0,:"SYS_B_31")))) order by a.contrno,a.subno,
a.subscr_type,a.area,nvl(a.equipgroup,:"SYS_B_32"),a.chargetype,a.cdrcode
for update of a.cdred nowait
call count cpu elapsed disk query current rows
Parse 0 0.00 0.00 0 0 0 0
Execute 5 451.99 1997.19 596620 37306277 3351623 0
Fetch 404 0.96 0.84 0 0 0 39900
total 409 452.95 1998.04 596620 37306277 3351623 39900
Misses in library cache during parse: 0
Optimizer mode: ALL_ROWS
Parsing user id: 185
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
SQL*Net message to client 404 0.00 0.00
SQL*Net more data to client 3219 0.00 0.03
SQL*Net message from client 404 0.00 0.22
gc current block 2-way 34454 0.27 21.77
gc cr multi block request 2649 0.27 1.06
db file sequential read 596211 0.15 1561.81
gc cr block busy 16 0.00 0.02
db file parallel read 11 0.00 0.04
db file scattered read 50 0.01 0.10
gc cr block 2-way 2 0.00 0.00
gc current grant 2-way 6 0.00 0.00
latch: cache buffers chains 9 0.00 0.00
gc current block congested 6 0.00 0.02
gc current grant busy 257 0.00 0.17
latch: object queue header operation 3 0.00 0.00
log file switch completion 22 0.82 2.52
latch free 27 0.00 0.00
log buffer space 7 0.24 0.83
log file switch (checkpoint incomplete) 10 0.98 1.47
gc cr grant 2-way 2 0.00 0.00Any idea what am missing ?
KaiHi,
Try to Update the Stats of the Source tables and re-reun the Advisor, that might give or suggest different things further.
Second thing, check that Referred SQL profile and I would suggest if it not used, then drop that and check.
Surprised to see huge wait event on "db file sequential read"
- Pavan Kumar N -
I wanted to use the SQL Tuning Advisor feature of the SQL Worksheet. The DBA granted me ADVISOR system privilege. But when I tried to use the feature, I get the following errors:
An error was encountered performing the requested operation:
ORA-06550: line 20, column 101:
PLS-00103: Encountered the symbol "ANYDATA" when expecting one of the folllowing:
.(),*%&=-+</> at in is mod remainder not rem
<an exponenet (**) <> or != or ~= >= <> and or like LIKE2_
LIKE4_LIKEC_between|| multiset member SUBMULTISET_
The symbol "." was substituted for "ANYDATA" to continue.
ORA-6550: line 20, column 140:
PLS-00103: Encountered the symbol "ANYDATA" when expecting one of the folllowing:
.(),*%&=-+</> at in is mod remainder not rem
<an exponenet (**) <> or != or ~= >= <> and or like LIKE2_
LIKE4_LIKEC_between|| mul
ORA-6550:line 20, column 179:
PLS-00103: Encountered the symbol "ANYDATA" when expecting one of the folllowing:
.(),*%&=-+</> at in is mod remainder not rem
<an exponenet (**) <> or != or ~= >= <> and or like LIKE2_
LIKE4_LIKEC_between|| multiset
06550,00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
Vendor code 6550Then I get this right after the previous one:
An error was encountered performing the requested operation:
ORA-13605: The specified task or boject staName12325 does not exist for the current user.
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86
ORA-06512: at "SYS.PRVT_ADVISOR", line 4841
ORA-06512: at "SYS.DBMS_SQLTUNE", line 1093
ORA-06512: at line 2
13605.0000 - "The specified task or object %s does not exist for the current user."
*Cause: The user attempted to reference an advisor task or object
using a anme that does not exist in the Advisor repository.
*Action: Adjust the name and retry the operation.
Vendor code 13605Can someone please help me? I am not a DBA so I stumped by these error codes.
Oracle SQL Developer 3.0.04 Build MAIn-04.34
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0
RobertThe query is
select "V_CDR_OUTGOING_CALLS"."FIRST_NAME" as "FIRST_NAME",
"V_CDR_OUTGOING_CALLS"."MIDDLE_INITIAL" as "MIDDLE_INITIAL",
"V_CDR_OUTGOING_CALLS"."LAST_NAME" as "LAST_NAME",
"V_CDR_OUTGOING_CALLS"."ORG_UNIT" as "ORG_UNIT",
"V_CDR_OUTGOING_CALLS"."DEPT_DESC" as "DEPT_DESC",
"V_CDR_OUTGOING_CALLS"."FROM_NUMBER" as "FROM_NUMBER",
"V_CDR_OUTGOING_CALLS"."TO_NUMBER" as "TO_NUMBER",
"V_CDR_OUTGOING_CALLS"."TO_CITY" as "TO_CITY",
"V_CDR_OUTGOING_CALLS"."TO_STATE" as "TO_STATE",
"V_CDR_OUTGOING_CALLS"."DATETIME_CONNECT" as "DATETIME_CONNECT",
"V_CDR_OUTGOING_CALLS"."DURATION_MIN" as "DURATION_MIN"
from "V_CDR_OUTGOING_CALLS" "V_CDR_OUTGOING_CALLS"
where :P12_PHONE_NUMBER = FROM_NUMBER or :P12_PHONE_NUMBER = TO_NUMBER
AND "V_CDR_OUTGOING_CALLS"."DATETIME_CONNECT" BETWEEN to_date(:P12_START_DATE,'MM/DD/YYYY') AND to_date(:P12_END_DATE,'MM/DD/YYYY')The view is
CREATE OR REPLACE FORCE VIEW "VOIP"."V_CDR_OUTGOING_CALLS" ("ID", "EMPID", "FIRST_NAME", "MIDDLE_INITIAL", "LAST_NAME", "ORG_UNIT", "DEPT_DESC", "PHONE", "FROM_NUMBER", "TO_NUMBER", "TO_CITY", "TO_STATE", "DATETIME_CONNECT", "DATETIME_DISCONNECT", "DURATION_SEC", "DURATION_MIN")
AS
SELECT c.ID,
e.empid empid,
e.first_name,
e.middle_initial,
e.last_name,
e.org_descr,
e.dept_desc,
e.full_telephone,
c.from_number,
c.to_number,
x.city to_city,
x.state to_state,
c.datetime_connect,
c.datetime_disconnect,
c.duration_sec,
c.duration_min
FROM v_cdr c ,
v_cdr_emp e,
telephone_exchanges x
WHERE c.from_number = e.phone
AND SUBSTR(c.to_number,1,7) = x.EXCHANGE
AND LENGTH(c.to_number) > 7;The table and views are defined as:
CREATE TABLE "VOIP"."TELEPHONE_EXCHANGES"
"EXCHANGE" VARCHAR2(7 BYTE) NOT NULL ENABLE,
"CITY" VARCHAR2(200 BYTE),
"STATE" VARCHAR2(2 BYTE),
CONSTRAINT "TELEPHONE_EXCHANGES_PK" PRIMARY KEY ("EXCHANGE") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "VOIPDATA" ENABLE
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE
INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT
TABLESPACE "VOIPDATA" ;
CREATE OR REPLACE FORCE VIEW "VOIP"."V_CDR" ("ID", "FROM_NUMBER", "TO_NUMBER", "DATETIME_CONNECT", "DATETIME_DISCONNECT", "DURATION_SEC", "DURATION_MIN", "PKID", "DATE_OF_CALL")
AS
SELECT ID,
DECODE( LENGTH(CALLINGPARTYNUMBER),6, SUBSTR(CALLINGPARTYNUMBER,1,2)
|| '-'
||SUBSTR(CALLINGPARTYNUMBER,3) ,10, SUBSTR(CALLINGPARTYNUMBER,1,3)
|| '-'
||SUBSTR(CALLINGPARTYNUMBER,4,3)
|| '-'
||SUBSTR(CALLINGPARTYNUMBER,7) ,CALLINGPARTYNUMBER)FROM_NUMBER,
DECODE( LENGTH(ORIGINALCALLEDPARTYNUMBER), 6, SUBSTR( ORIGINALCALLEDPARTYNUMBER,1,2)
|| '-'
||SUBSTR(ORIGINALCALLEDPARTYNUMBER,3) , 10, SUBSTR( ORIGINALCALLEDPARTYNUMBER,1,3)
|| '-'
||SUBSTR(ORIGINALCALLEDPARTYNUMBER,4,3)
|| '-'
||SUBSTR(ORIGINALCALLEDPARTYNUMBER,7) , 12, SUBSTR( ORIGINALCALLEDPARTYNUMBER,3,3)
|| '-'
||SUBSTR(ORIGINALCALLEDPARTYNUMBER,6,3)
|| '-'
||SUBSTR(ORIGINALCALLEDPARTYNUMBER,9) , ORIGINALCALLEDPARTYNUMBER) TO_NUMBER,
new_time(to_date(TO_CHAR(to_date('01.01.70','dd.mm.rr')+ (DATETIMECONNECT/( 60 *60*24)), 'mm-dd-yyyy hh24:mi:ss'),'mm-dd-yyyy hh24:mi:ss'),'GMT','EDT') DATETIME_CONNECT,
new_time(to_date(TO_CHAR(to_date('01.01.70','dd.mm.rr')+ ( DATETIMEDISCONNECT /(60*60*24)), 'mm-dd-yyyy hh24:mi:ss'),'mm-dd-yyyy hh24:mi:ss'),'GMT','EDT') DATETIME_DISCONNECT,
duration Duration_sec,
ROUND(duration/60,2) Duration_MIN,
pkid,
to_date(TO_CHAR(new_time(to_date(TO_CHAR(to_date('01.01.70','dd.mm.rr')+ (DATETIMECONNECT/( 60 *60*24)), 'mm-dd-yyyy hh24:mi:ss'),'mm-dd-yyyy hh24:mi:ss'),'GMT','EDT'),'DD-MON-YYYY')) date_of_call
FROM CALL_DETAILS_CDR C
WHERE datetimeconnect <> 0;
The above view is based on table CALL_DETAILS_CDR defined as:
CREATE TABLE "VOIP"."CALL_DETAILS_CDR"
"ID" NUMBER NOT NULL ENABLE,
"CDRRECORDTYPE" NUMBER,
"G_CALLMANAGERID" NUMBER,
"G_CALLID" NUMBER,
"O_LEGCALLIDENTIFIER" NUMBER,
"DATETIMEORIGINATION" NUMBER,
"O_NODEID" NUMBER,
"O_SPAN" NUMBER,
"O_IPADDR" NUMBER,
"CALLINGPARTYNUMBER" VARCHAR2(50 BYTE),
"CALLINGPARTY_USERID" VARCHAR2(128 BYTE),
"O_CAUSE_LOCATION" NUMBER,
"O_CAUSE_VALUE" NUMBER,
"O_PRECEDENCELEVEL" NUMBER,
"O_MEDIATRANSPORTADDR_IP" NUMBER,
"O_MEDIATRANSPORTADDR_PORT" NUMBER,
"O_MCAP_PAYLOADCAPABILITY" NUMBER,
"O_MCAP_MAXFRAMESPERPACKET" NUMBER,
"O_MCAP_G723BITRATE" NUMBER,
"O_VCAP_CODEC" NUMBER,
"O_VCAP_BANDWIDTH" NUMBER,
"O_VCAP_RESOLUTION" NUMBER,
"O_VIDEOTRANSPORTADDR_IP" NUMBER,
"O_VIDEOTRANSPORTADDR_PORT" NUMBER,
"O_RSVPAUDIOSTAT" VARCHAR2(64 BYTE),
"O_RSVPVIDEOSTAT" VARCHAR2(64 BYTE),
"DESTLEGIDENTIFIER" NUMBER,
"DESTNODEID" NUMBER,
"DESTSPAN" NUMBER,
"DESTIPADDR" NUMBER,
"ORIGINALCALLEDPARTYNUMBER" VARCHAR2(50 BYTE),
"FINALC_PARTYNUMBER" VARCHAR2(50 BYTE),
"FINALC_PARTY_USERID" VARCHAR2(128 BYTE),
"DESTCAUSE_LOCATION" NUMBER,
"DESTCAUSE_VALUE" NUMBER,
"DESTPRECEDENCELEVEL" NUMBER,
"DESTMEDIATRANSPORTADDR_IP" NUMBER,
"DESTMEDIATRANSPORTADDR_PORT" NUMBER,
"DESTMCAP_PAYLOADCAPABILITY" NUMBER,
"DESTMCAP_MAXFRAMESPERPACKET" NUMBER,
"DESTMCAP_G723BITRATE" NUMBER,
"DV_CAP_CODEC" NUMBER,
"DV_CAP_BANDWIDTH" NUMBER,
"DV_CAP_RESOLUTION" NUMBER,
"DV_TRANSPORTADDR_IP" NUMBER,
"DV_TRANSPORTADDR_PORT" NUMBER,
"DESTRSVPAUDIOSTAT" VARCHAR2(64 BYTE),
"DESTRSVPVIDEOSTAT" VARCHAR2(64 BYTE),
"DATETIMECONNECT" NUMBER,
"DATETIMEDISCONNECT" NUMBER,
"LASTREDIRECTDN" VARCHAR2(50 BYTE),
"PKID" VARCHAR2(4000 BYTE),
"O_INALCALLEDPARTYNUM_PARTITION" VARCHAR2(50 BYTE),
"CALLINGPARTYNUM_PARTITION" VARCHAR2(50 BYTE),
"FINALC_PARTYNUM_PARTITION" VARCHAR2(50 BYTE),
"LASTREDIRECTDNPARTITION" VARCHAR2(50 BYTE),
"DURATION" NUMBER,
"O_DEVICENAME" VARCHAR2(129 BYTE),
"DESTDEVICENAME" VARCHAR2(129 BYTE),
"O_CALLTERMINATION_BEHALF" NUMBER,
"DESTCALLTERMINATION_BEHALF" NUMBER,
"O_CALLEDPARTYREDIRECT_BEHALF" NUMBER,
"LASTREDIRECTREDIRECT_BEHALF" NUMBER,
"O_CALLEDPARTYREDIRECTREASON" NUMBER,
"LASTREDIRECTREDIRECTREASON" NUMBER,
"DESTCONVERSATIONID" NUMBER,
"G_CALLID_CLUSTERID" VARCHAR2(50 BYTE),
"JOIN_BEHALF" NUMBER,
"COMMENTS" VARCHAR2(2048 BYTE),
"AUTHCODEDESCRIPTION" VARCHAR2(50 BYTE),
"AUTHORIZATIONLEVEL" NUMBER,
"CLIENTMATTERCODE" VARCHAR2(32 BYTE),
"O_DTMFMETHOD" NUMBER,
"DESTDTMFMETHOD" NUMBER,
"CALLSECUREDSTATUS" NUMBER,
"O_CONVERSATIONID" NUMBER,
"O_MCAP_BANDWIDTH" NUMBER,
"DESTMCAP_BANDWIDTH" NUMBER,
"AUTHORIZATIONCODEVALUE" VARCHAR2(32 BYTE),
"OUTPULSEDCALLINGPARTYNUMBER" VARCHAR2(50 BYTE),
"OUTPULSEDCALLEDPARTYNUMBER" VARCHAR2(50 BYTE),
"O_IPV4V6ADDR" VARCHAR2(64 BYTE),
"DESTIPV4V6ADDR" VARCHAR2(64 BYTE),
"O_VCAP_CODEC_CHAN2" NUMBER,
"O_VCAP_BANDWIDTH_CHAN2" NUMBER,
"O_VCAP_RESOLUTION_CHAN2" NUMBER,
"O_V_TRANSPORTADDR_IP_CHAN2" NUMBER,
"O_V_TRANSPORTADDR_PORT_CHAN2" NUMBER,
"O_V_OCHANNEL_ROLE_CHAN2" NUMBER,
"DV_CAP_CODEC_CHAN2" NUMBER,
"DV_CAP_BANDWIDTH_CHAN2" NUMBER,
"DV_CAP_RESOLUTION_CHAN2" NUMBER,
"DV_TRANSPORTADDR_IP_CHAN2" NUMBER,
"DV_TRANSPORTADDR_PORT_CHAN2" NUMBER,
"DV_CHANNEL_ROLE_CHAN2" NUMBER,
"DATE_CREATED" DATE,
CONSTRAINT "CALL_DETAILS_CDR_PK" PRIMARY KEY ("ID") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "VOIPDATA" ENABLE,
CONSTRAINT "PKID_UNIQUE" UNIQUE ("PKID") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 167 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "VOIPDATA" ENABLE
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE
INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT
TABLESPACE "VOIPDATA" ;
CREATE INDEX "VOIP"."CALL_DETAILS_CDR_INDEX3" ON "VOIP"."CALL_DETAILS_CDR"
"ORIGINALCALLEDPARTYNUMBER",
"DATETIMECONNECT"
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE
INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT
TABLESPACE "VOIPDATA" ;
CREATE INDEX "VOIP"."CALL_DETAILS_CDR_INDEX2" ON "VOIP"."CALL_DETAILS_CDR"
"CALLINGPARTYNUMBER",
"DATETIMECONNECT"
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE
INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT
TABLESPACE "VOIPDATA" ;
CREATE UNIQUE INDEX "VOIP"."CALL_DETAILS_CDR_PK" ON "VOIP"."CALL_DETAILS_CDR"
"ID"
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE
INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT
TABLESPACE "VOIPDATA" ;
CREATE UNIQUE INDEX "VOIP"."PKID_UNIQUE" ON "VOIP"."CALL_DETAILS_CDR"
"PKID"
PCTFREE 10 INITRANS 2 MAXTRANS 167 COMPUTE STATISTICS STORAGE
INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT
TABLESPACE "VOIPDATA" ;
The view, V_CDR_EMP, is defined as:
CREATE OR REPLACE FORCE VIEW "VOIP"."V_CDR_EMP" ("EMPID", "FIRST_NAME", "MIDDLE_INITIAL", "LAST_NAME", "ORG", "ORG_DESCR", "DEPT", "DEPT_DESC", "ADDRESS", "PHONE", "FULL_TELEPHONE")
AS
SELECT e.empid,
e.First_name,
e.Middle_Initial,
e.Last_name,
e.Org,
o.org_descr,
e.Dept,
d.Dept_desc,
e.Address,
DECODE (SUBSTR(e.address,1,6),'ONEMAD','10-'
|| SUBSTR (e.telephone,9), '225PAS','10-'
|| SUBSTR (e.telephone,9), '233PAS','10-'
|| SUBSTR (e.telephone,9), '115BWA','10-'
|| SUBSTR (e.telephone,9), DECODE(SUBSTR(e.address,1,4),'PATC','11-'
|| SUBSTR (e.telephone,9), 'JAMS','12-'
|| SUBSTR (e.telephone,9), 'JSTC','12-'
|| SUBSTR (e.telephone,9), 'PABT','19-'
|| SUBSTR (e.telephone,9), 'TLPT','08-'
|| SUBSTR (e.telephone,9), 'HCMF','12-'
|| SUBSTR (e.telephone,9), DECODE(SUBSTR(e.address,1,3),'GWB','17-'
|| SUBSTR (e.telephone,9), 'LGA','13-'
|| SUBSTR (e.telephone,9), 'EWR','14-'
|| SUBSTR (e.telephone,9), 'JFK','15-'
|| SUBSTR (e.telephone,9), 'SIB','18-'
|| SUBSTR (e.telephone,9), 'MVP','14-'
|| SUBSTR (e.telephone,9), 'WTC','10-'
|| SUBSTR (e.telephone,9), 'CON','12-'
|| SUBSTR (e.telephone,9), DECODE(SUBSTR(e.address,1,2),'HT','11-'
|| SUBSTR (e.telephone,9), 'BP','06-'
|| SUBSTR (e.telephone,9), 'LT','16-'
|| SUBSTR (e.telephone,9), 'PN','07-'
|| SUBSTR (e.telephone,9), DECODE(SUBSTR(e.address,1,5),'2GWAY','04-'
|| SUBSTR (e.telephone,9), '3GWAY','04-'
|| SUBSTR (e.telephone,9), DECODE(SUBSTR(e.address,1,10),'PORT IVORY','07-'
|| SUBSTR (e.telephone,9),e.telephone) ) ) ) ) ) phone,
e.telephone full_telephone
FROM [email protected] e ,
[email protected] d ,
[email protected] o
WHERE e.active = 'Y'
AND e.dept = d.dept
AND e.org = o.org;Robert -
Need help to debug SQL Tuning Advisor Error Message
Hi,
I am getting an error message while try to get recommendations from the SQL Tuning Advisor.
Environment:
Oracle Version: 11.2.0.3.0
O/S: AIX
Following is my code:
declare
my_task_name varchar2 (30);
my_sqltext clob;
begin
my_sqltext := 'SELECT DISTINCT MRKT_AREA AS DIVISION, PROMO_ID,
PROMO_CODE,
RBR_DTL_TYPE.PERF_DETL_TYP,
RBR_DTL_TYPE.PERF_DETL_DESC,
RBR_DTL_TYPE.PERF_DETL_SUB_TYP,
RBR_DTL_TYPE.PERF_DETL_SUB_DESC,
BU_SYS_ITM_NUM,
RBR_CPN_LOC_ITEM_ARCHIVE.CLI_SYS_ITM_DESC,
PROMO_START_DATE,
PROMO_END_DATE,
PROMO_VALUE2,
PROMO_VALUE1,
EXEC_COMMENTS,
PAGE_NUM,
BLOCK_NUM,
AD_PLACEMENT,
BUYER_CODE,
RBR_CPN_LOC_ITEM_ARCHIVE.CLI_STAT_TYP,
RBR_MASTER_CAL_ARCHIVE.STATUS_FLAG
FROM (PROMO_REPT_OWNER.RBR_CPN_LOC_ITEM_ARCHIVE
INNER JOIN PROMO_REPT_OWNER.RBR_MASTER_CAL_ARCHIVE
ON (RBR_CPN_LOC_ITEM_ARCHIVE.CLI_PROMO_ID = PROMO_ID)
AND (RBR_CPN_LOC_ITEM_ARCHIVE.CLI_PERF_DTL_ID = PERF_DETAIL_ID)
AND (RBR_CPN_LOC_ITEM_ARCHIVE.CLI_STR_NBR = STORE_ZONE)
AND (RBR_CPN_LOC_ITEM_ARCHIVE.CLI_ITM_ID = ITM_ID))
INNER JOIN PROMO_REPT_OWNER.RBR_DTL_TYPE
ON (RBR_MASTER_CAL_ARCHIVE.PERF_DETL_TYP = RBR_DTL_TYPE.PERF_DETL_TYP)
AND (RBR_MASTER_CAL_ARCHIVE.PERF_DETL_SUB_TYP = RBR_DTL_TYPE.PERF_DETL_SUB_TYP)
WHERE ( ((MRKT_AREA)=40)
AND ((RBR_DTL_TYPE.PERF_DETL_TYP)=1)
AND ((RBR_DTL_TYPE.PERF_DETL_SUB_TYP)=1) )
AND ((CLI_STAT_TYP)=1 Or (CLI_STAT_TYP)=6)
AND ((RBR_MASTER_CAL_ARCHIVE.STATUS_FLAG)=''A'')
AND ( ((PROMO_START_DATE) >= to_date(''2011-10-20'', ''YYYY-MM-DD'')
And (PROMO_END_DATE) <= to_date(''2011-10-26'', ''YYYY-MM-DD'')) )
ORDER BY MRKT_AREA';
my_task_name := dbms_sqltune.create_tuning_task
(sql_text => my_sqltext,
user_name => 'PROMO_REPT_OWNER',
scope => 'COMPREHENSIVE',
time_limit => 3600,
task_name => 'Test_Query',
description => 'Test Query');
end;
begin
dbms_sqltune.execute_tuning_task(task_name => 'Test_Query');
end;
set serveroutput on size unlimited;
set pagesize 5000
set linesize 130
set long 50000
set longchunksize 500000
SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK('Test_Query') FROM DUAL;
Output:
snippet .....
FINDINGS SECTION (1 finding)
1- Index Finding (see explain plans section below)
The execution plan of this statement can be improved by creating one or more
indices.
Recommendation (estimated benefit: 71.48%)
- Consider running the Access Advisor to improve the physical schema design
or creating the recommended index.
Error: Cannot fetch actions for recommendation: INDEX
Error: ORA-06502: PL/SQL: numeric or value error: character string buffer too small
Rationale
Creating the recommended indices significantly improves the execution plan
of this statement. However, it might be preferable to run "Access Advisor"
using a representative SQL workload as opposed to a single statement. This
will allow to get comprehensive index recommendations which takes into
account index maintenance overhead and additional space consumption.
snippet
Any ideas why I am getting ORA-06502 error?
Thanks in advance
RogersBug 14407401 - ORA-6502 from index recommendation section of DBMS_SQLTUNE output (Doc ID 14407401.8)
Fixed:
The fix for 14407401 is first included in
12.1.0.1 (Base Release) -
Dear all,
We have installed oracle 11g on solaris. We have configured EM with this DB.. Is there anyway I can check a query using sql tuning advisor in oracle 11g. ? .. I tried, but I couldn't find the exact navigation ?. I need to submit th query and get the advise from sql tuninig advisor ?
Please guide
KaiOEM db console ?
Am doing this for educational purpose and not in production
kai -
I am working as a junior DBA. I tried to tune a query using SQL Tuning Advisor that is with DBMS_SQLTUNE.I have created the tuning task successfully with DBMS_SQLTUNE.create_tuning_task.But when i execute the tuning task with EXEC DBMS_SQLTUNE.execute_tuning_task() i got an error like
SQL> EXEC DBMS_SQLTUNE.execute_tuning_task(task_name => 'rep_three');
BEGIN DBMS_SQLTUNE.execute_tuning_task(task_name => 'rep_three'); END;
ERROR at line 1:
ORA-00081: address range [0x60000000000A7D70, 0x60000000000A7D74) is not
readable
ORA-00600: internal error code, arguments: [kesatmGetSqlStats:optCost], [], [],
ORA-06512: at "SYS.PRVT_ADVISOR", line 1624
ORA-06512: at "SYS.DBMS_ADVISOR", line 186
ORA-06512: at "SYS.DBMS_SQLTUNE", line 1008
ORA-06512: at line 1The oracle version is Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bi. The OS is HP-UX. The version is HP-UX B.11.23 U ia64.
I tried to execute DBMS_SQLTUNE as DWH user.I have granted the advisor,DROP ANY SQL PROFILE,ALTER ANY SQL PROFILE,CREATE ANY SQL PROFILE privileges and DBA roles to the DWH user. The way i ran DBMS_SQLTUNE is, first i logged in as DWH user and i tried to execute the query for getting the SQL_ID for the query. For getting the SQL_ID i selected the SQL_ID column value for the DWH user session from v$session.I kept that query executing and meanwhile i opened another session as DWH user and created the tuning task as follows
DECLARE
l_sql_tune_task_id VARCHAR2(100);
BEGIN
l_sql_tune_task_id := DBMS_SQLTUNE.create_tuning_task (
sql_id => 'b65fj39dkkb9v',
scope => DBMS_SQLTUNE.scope_limited,
time_limit => 3600,
task_name => 'rep_three',
description => 'Report Tuning');
DBMS_OUTPUT.put_line('l_sql_tune_task_id: ' || l_sql_tune_task_id);
END;
/The creation of tuning task was successful.And i executed the tuning task as follows
EXEC DBMS_SQLTUNE.execute_tuning_task(task_name => 'rep_three');The above mentioned errors came when i executed the tuning task.
I am also adding the query which i have tried to tune
select * from dwh.beneficiary_dim BEN_DIM,
(Select adr_dp_id,
adr_account_no,
ADR_ADDRESS_LINE_1 || ' ' ||
ADR_ADDRESS_LINE_2 || ' ' ||
ADR_ADDRESS_LINE_3 || ' ' ||
ADR_ADDRESS_LINE_4 as ADDRESS,
adr_pin_code,adr_phone_no,adr_fax_no
from dwh.beneficiary_address_dim where adr_type_id = 1) PERMANENT_ADD_DIM,
(Select adr_dp_id,
adr_account_no,
ADR_ADDRESS_LINE_1 || ' ' ||
ADR_ADDRESS_LINE_2 || ' ' ||
ADR_ADDRESS_LINE_3 || ' ' ||
ADR_ADDRESS_LINE_4 as ADDRESS,
adr_pin_code,adr_phone_no,adr_fax_no
from dwh.beneficiary_address_dim where adr_type_id = 2) BANK_ADD_DIM,
(Select adr_dp_id,
adr_account_no,
ADR_ADDRESS_LINE_1 || ' ' ||
ADR_ADDRESS_LINE_2 || ' ' ||
ADR_ADDRESS_LINE_3 || ' ' ||
ADR_ADDRESS_LINE_4 as ADDRESS,
adr_pin_code,adr_phone_no,adr_fax_no
from dwh.beneficiary_address_dim where adr_type_id = 3) NOM_GUARDIAN_ADD_DIM,
(Select adr_dp_id,
adr_account_no,
ADR_ADDRESS_LINE_1 || ' ' ||
ADR_ADDRESS_LINE_2 || ' ' ||
ADR_ADDRESS_LINE_3 || ' ' ||
ADR_ADDRESS_LINE_4 as ADDRESS,
adr_pin_code,adr_phone_no,adr_fax_no
from dwh.beneficiary_address_dim where adr_type_id = 4) CORR_ADD_DIM,
(Select adr_dp_id,
adr_account_no,
ADR_ADDRESS_LINE_1 || ' ' ||
ADR_ADDRESS_LINE_2 || ' ' ||
ADR_ADDRESS_LINE_3 || ' ' ||
ADR_ADDRESS_LINE_4 as ADDRESS,
adr_pin_code,adr_phone_no,adr_fax_no
from dwh.beneficiary_address_dim where adr_type_id = 6) MINOR_ADDRESS,
(Select rp.requestid as requestid,
decode(rp.value,'ALL','ALL','','ALL',decode(substr(rp.value,1,instr(rp.value,'|',1,1)-1),'','ALL',substr(rp.value,1,instr(rp.value,'|',1,1)-1))) as Name,
decode(rp.value,'ALL','ALL','','ALL',decode(substr(rp.value,(instr(rp.value,'|',1,1)+1),((instr(rp.value,'|',1,2))-(instr(rp.value,'|',1,1)+1))),'','ALL',substr(rp.value,(instr(rp.value,'|',1,1)+1),((instr(rp.value,'|',1,2))-(instr(rp.value,'|',1,1)+1))))) as Address,
decode(rp.value,'ALL','ALL','','ALL',decode(substr(rp.value,(instr(rp.value,'|',1,2)+1)),'','ALL',substr(rp.value,(instr(rp.value,'|',1,2)+1)))) as PAN
from disadmin.requestparameters rp, disadmin.requestparameters rps, disadmin.reportrequests rr
where rp.parameterid = 'CNAS_PARAM_VALUE'
and rr.status = 'A'
and rp.requestid = rr.id
and rp.id = rps.id) P_PARAM_VALUE,
(Select rp.requestid as requestid, rp.value as Type
from disadmin.requestparameters rp, disadmin.reportrequests rr
where rp.parameterid = 'CNAS_NAME_TYPE'
and rr.status = 'A'
and rp.requestid = rr.id) P_NAME_TYPE,
(Select rp.requestid as requestid, rp.value as Addtype
from disadmin.requestparameters rp, disadmin.reportrequests rr
where rp.parameterid = 'CNAS_ADDRESS_TYPE'
and rr.status = 'A'
and rp.requestid = rr.id) P_ADDRESS_TYPE
where ( 1= case when P_NAME_TYPE.Type = 'F' then
case when BEN_DIM.BDM_FIRST_HOLDER_NAME like DECODE(P_PARAM_VALUE.Name,'ALL','%'||BEN_DIM.BDM_FIRST_HOLDER_NAME||'%','%'||P_PARAM_VALUE.Name||'%')
or BEN_DIM.BDM_FIRST_HOLDER_SURNAME like DECODE(P_PARAM_VALUE.Name,'ALL','%'||BEN_DIM.BDM_FIRST_HOLDER_SURNAME||'%','%'||P_PARAM_VALUE.Name||'%')
then 1
else null end
else
case when P_NAME_TYPE.Type = 'ALL' then
case when (BEN_DIM.BDM_FIRST_HOLDER_NAME like DECODE(P_PARAM_VALUE.Name,'ALL','%'||BEN_DIM.BDM_FIRST_HOLDER_NAME||'%','%'||P_PARAM_VALUE.Name||'%')
or BEN_DIM.BDM_FIRST_HOLDER_SURNAME like DECODE(P_PARAM_VALUE.Name,'ALL','%'||BEN_DIM.BDM_FIRST_HOLDER_SURNAME||'%','%'||P_PARAM_VALUE.Name||'%'))
and BEN_DIM.BDM_SECOND_HOLDER_NAME like DECODE(P_PARAM_VALUE.Name,'ALL','%'||BEN_DIM.BDM_SECOND_HOLDER_NAME||'%','%'||P_PARAM_VALUE.Name||'%')
and BEN_DIM.BDM_THIRD_HOLDER_NAME like DECODE(P_PARAM_VALUE.Name,'ALL','%'||BEN_DIM.BDM_THIRD_HOLDER_NAME||'%','%'||P_PARAM_VALUE.Name||'%')
then 1
else null end
else null end
end )
and BEN_DIM.BDM_IT_PAN like DECODE(P_PARAM_VALUE.PAN,'ALL','%'||BEN_DIM.BDM_IT_PAN||'%','%'||P_PARAM_VALUE.PAN||'%')
and (1 = case when P_ADDRESS_TYPE.ADDTYPE = 1 then
case when instr(PERMANENT_ADD_DIM.ADDRESS, DECODE(P_PARAM_VALUE.ADDRESS,'ALL',PERMANENT_ADD_DIM.ADDRESS, P_PARAM_VALUE.ADDRESS)) <> 0
then 1
else null end
when P_ADDRESS_TYPE.ADDTYPE = 3 then
case when instr(NOM_GUARDIAN_ADD_DIM.ADDRESS, DECODE(P_PARAM_VALUE.ADDRESS,'ALL',NOM_GUARDIAN_ADD_DIM.ADDRESS, P_PARAM_VALUE.ADDRESS)) <> 0
then 1
else null end
when P_ADDRESS_TYPE.ADDTYPE = 4 then
case when instr(CORR_ADD_DIM.ADDRESS, DECODE(P_PARAM_VALUE.ADDRESS,'ALL',CORR_ADD_DIM.ADDRESS, P_PARAM_VALUE.ADDRESS)) <> 0
then 1
else null end
when P_ADDRESS_TYPE.ADDTYPE = 6 then
case when instr(MINOR_ADDRESS.ADDRESS, DECODE(P_PARAM_VALUE.ADDRESS,'ALL',MINOR_ADDRESS.ADDRESS, P_PARAM_VALUE.ADDRESS)) <> 0
then 1
else null end
else null end );The above query also tries to access some tables from another user DISADMIN. Could you please help me in solving this problem while using SQL Tuning Advisor ? I am the only DBA here.will the rows really be updated just by using the package?Considering DMLs
SQL> select * from test
2 /
NO
1
2
SQL> ed
Wrote file afiedt.buf
1 DECLARE
2 my_task_name VARCHAR2(30);
3 my_sqltext CLOB;
4 BEGIN
5 my_sqltext := 'insert into test values (3)';
6 my_task_name := DBMS_SQLTUNE.CREATE_TUNING_TASK(
7 sql_text => my_sqltext,
8 task_name => 'my_sql_tuning_task');
9* end;
SQL> /
PL/SQL procedure successfully completed.
SQL> BEGIN
2 DBMS_SQLTUNE.EXECUTE_TUNING_TASK( task_name => 'my_sql_tuning_task' );
3 END;
4 /
PL/SQL procedure successfully completed.
SQL> select * from test
2 /
NO
1
2
SQL> SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK( 'my_sql_tuning_task')
2 FROM DUAL;
DBMS_SQLTUNE.REPORT_TUNING_TASK('MY_SQL_TUNING_TASK')
GENERAL INFORMATION SECTION
Tuning Task Name : my_sql_tuning_task
Tuning Task Owner : TEST
Scope : COMPREHENSIVE
Time Limit(seconds): 1800
Completion Status : COMPLETED
Started at : 03/27/2008 05:16:14
Completed at : 03/27/2008 05:16:16
DBMS_SQLTUNE.REPORT_TUNING_TASK('MY_SQL_TUNING_TASK')
Schema Name: TEST
SQL ID : gwkmgmyj9824t
SQL Text : insert into test values (3)
There are no recommendations to improve the statement.
-------------------------------------------------------------------------------Adith -
Change automatic SQL Tuning Advisor time
Hi All,
can anyone help me in changing "automatic SQL Tuning Advisor" job timingsm because currently it is scheduled during peak hours , i want to change it to evening 6 pm daily.Because during peak hours it is taking more cpu and taking one hour.
Wed May 08 08:00:10 2013
Begin automatic SQL Tuning Advisor run for special tuning task "SYS_AUTO_SQL_TUNING_TASK"
Wed May 08 08:05:47 2013
thanks
MappsHello,
Here's what you can do,
Create a new window to the time you want it to run:
EXEC dbms_scheduler.create_window(window_name => 'YOUR_WINDOW_NAME',
duration => numtodsinterval(1, 'hour'),
resource_plan => 'DEFAULT_MAINTENANCE_PLAN',
repeat_interval => 'FREQ=DAILY;BYHOUR=18;BYMINUTE=0;BYSECOND=0');>
The above window would be in effect from 6 pm to 7 pm.
Then, disable automatic sql_tuning and then re-enable it to run on the window you just created:
EXEC DBMS_AUTO_TASK_ADMIN.DISABLE(client_name => 'sql tuning advisor',
operation => NULL,
window_name => NULL);>
and now set it to run to your window:
EXEC DBMS_AUTO_TASK_ADMIN.ENABLE(client_name => 'sql tuning advisor',
operation => NULL,
window_name => 'YOUR_WINDOW_NAME'); -
SQL Tuning Advisor against the session (is it poosible)
My Company customer has observed that there is job that are running longer than expected running(5 days).
They did not gave any information.they want me to run
SQL Tuning Advisor against the session running this job.
can you run sql tunning advisor against running session?
if so how
Please suggest me your valuable tips so that I approach this work properly.
DB = 11g
OS= Solaris 10>
...SQL Tuning Advisor against the session running this job.
can you run sql tunning advisor against running session?
>
SQL Tuning Advisor is run on statements and not sessions. I don't do much with SQL Tuning Advisor, but I'd consider that current running sessions a lost cause until it completes or you kill it. You can see the "estimate" of how long that current running SQL is going to take in v$session_longops. You can use a script like Tanel's sw.sql
http://blog.tanelpoder.com/2008/01/08/updated-session-wait-script/
to see what the wait interface has to say.
>
Please suggest me your valuable tips so that I approach this work properly.
>
My approach for this would be to determine what the current explain plan is and compare it to one that ran (correctly) in the past and then try to determine why it changed. (bad stats, dropped index, parameter changes, etc).
Cheers.
Maybe you are looking for
-
Hi We are working on 11.5.10.2 and our requirement is 1. User is entering multiple lines (say 20 lines) on Sales Order. 2. Upon progressing the line, Purchase Order has to be created for these 20 Lines. 3. Is there any way by which the Us
-
How to Get the value when clicking on the link
I had a problem with when clicking on the link. I need get the link value to the controller when clicking on the link. I am displaying the database columns in jsp using repeater in links. I am displaying the data like this: RED BLUE GREEN these are t
-
I have a non nte5 at my warehouse my router (HH4) is connected in one office(a) with a filter and a phone and in another office(b) i have a another phone connected to the other socket via filter. whenever i remove the adsl filter from the socket in o
-
Where did my calendars go?
I have a new macbook pro with Mavericks. None of my calendar events migrated from my old macbook pro - all I have now is iCloud calendar. How do I get the previous calendar events back - I have so many calendars with repeating events I hate to lose
-
Why are all mingw-w64-* packages using two different targets as opposed to just being multilib? I am well aware of TDM GCC, which is a multilib gcc distribution for Windows. Their patches could be perhaps used here? I have tried creating multilib PKG