logic of backend on simultaneous execution of sql
Hi experts,I need to test the performance on db for simultaneous report requests
the database is oracle 10g Enterprise
I have disabled caching on the bi server.
before each test, clear all sessions on the Sessions 'manage '.
I opened three internet Explorers (on 3 Remote Desktop).
then I run the same report on the desktop remotely 3. (I click GO on the box in 3 internet explorers as soon as possible)
the test report only runs a sql to get data.
I followed the performance on the business of oracle database manager,
but, I found that there are only 2 performances (on the same sql language).
I would like to know if it makes sense on the bi server to manage when there are inquiries (with sql even) and it can minimize the sql executions.
OR logic is the database to minimize the sql executions?
Thank you very much!!!
Hello
One likely reason is the grouping in obiee.if that some connection is released by a connection request then obiee will use the same session for other queries.
Thank you
Sandeep
Tags: Business Intelligence
Similar Questions
-
Feature of the parallel execution of SQL query
Hello guys,.
I installed a 11 GR 2 Oracle RAC (11.2.0.3) database, but I see the use of the feature of running parallel SQL queries, but I never used that.
I would like to know if this feature is enabled by default on CCR environments and if it does not require me to pay for Enterprise Edition.
NAME DETECTED_USAGES FIRST_USA LAST_USAG CURRE
---------------------------------------------------------------- --------------- ----- --------- ---------
Checking Options 1 TRUE 9 October 15 October 9, 15
BMG Auto setting 1 TRUE 9 October 15 October 9, 15
Memory of the execution of SQL auto 1 TRUE 9 October 15 October 9, 15
Automatic management of the space Segment (System) 1 TRUE 9 October 15 October 9, 15
Automatic Storage Management 1 TRUE 9 October 15 October 9, 15
Management of the Undo Automatic 1 TRUE 9 October 15 October 9, 15
Character set 1 TRUE 9 October 15 October 9, 15
Deferred Segment creation 1 TRUE 9 October 15 October 9, 15
Locally managed tablespaces (System) 1 TRUE 9 October 15 October 9, 15
Locally managed tablespaces (user) 1 TRUE 9 October 15 October 9, 15
Logfile multiplexing 1 TRUE 9 October 15 October 9, 15
Oracle Java Virtual Machine (System) 1 TRUE 9 October 15 October 9, 15
Oracle utility of metadata API 1 TRUE 9 October 15 October 9, 15
1 SQL query in parallel TRUE 9 October 15 October 9, 15
Partitioning (System) 1 TRUE 9 October 15 October 9, 15
Real Application Clusters (RAC) 1 TRUE 9 October 15 October 9, 15
Recovery zone 1 TRUE 9 October 15 October 9, 15
SECUREFICHIERS (System) 1 TRUE 9 October 15 October 9, 15
SECUREFICHIERS (user) 1 TRUE 9 October 15 October 9, 15
The parameter server file 1 TRUE 9 October 15 October 9, 15
Thanks in advance,
Franky
You are not, but Oracle is, since you are using RAC. Oracle relies on execution in parallel against the gv$ views so even if you can't use it in SE way common Oracle can when it comes to query against one of the points of view gv$. That's why DBA_FEATURE_USAGE_STATISTICS reports that you see.
David Fitzjarrell
-
is their any option to make its contribution to the time of execution in SQL
is their any option to make its contribution to the time of execution in SQL instead of &Waran wrote:
When to use & symbol to make his contribution in SQL queries. is their another way to provide the same.Yes, you can use a whole set to use any other symbol you like.
SQL> select '&input' from dual; Enter value for input: Test1 old 1: select '&input' from dual new 1: select 'Test1' from dual 'TEST ----- Test1 SQL> set define "#" SQL> select '#input' from dual; Enter value for input: Test2 old 1: select '#input' from dual new 1: select 'Test2' from dual 'TEST ----- Test2
If this is not what you mean, please explain what you do and where you need to run SQL and the version of the database, like everyone else, it's important.
-
Time of execution of SQL statements
Is there a way to see the time of the last sql instructions? (as the TOAD request viewer)
Without having to execute the statement as a script and use "set timing on."
Kind regards
Carsten
We show the run down by the exit time
You can also see the query execution times in the historical Panel SQL
-
logic to be transformed into a table sql pl statement and select fill.
create table emp (eno number, varchar2 (20) ename, sal number (10.2), dno number);
create table emp_commision (eno number number dno, dname varchar2 (20), number (5.2)) of the commission.
DECLARE
TYPE EmpTabTyp1 IS TABLE OF THE emp % ROWTYPE directory INDEX;
TYPE IS of EmpTabTyp2 TABLE emp_commision % ROWTYPE directory INDEX;
emp_tab1 EmpTabTyp1;
emp_tab2 EmpTabTyp2;
C1 (p_dno number) cursor select eno, dno, dname, commission of emp_commision where dno = p_dno;
number of l_num_index1;
Start
Select eno, ename, sal bulk collect into emp_tab1 from emp;
I'm in emp_tab1.first... emp_tab1. Last
loop
If (emp_tab1 (i) .sal > 10000) then
for l_rec_commision in c1 (emp_tab1.dno)
loop
l_num_index1: = (l_num_index1 + 1);
emp_tab2 (l_num_index1) .commission: = l_rec_commision.commision;
end loop;
end if;
end loop;
while others then
dbms_output.put_line (SQLERRM);
end;
/
Requirement:
For the same logic, I want to fill the table with the commission plsql emp_tab2, without using a cursor
and two loops (loop) and the cursor for loop for. Sal > 10000 expected
also be implemented.
Others can be done in a single query.
Thank you
Vinodhora_1978 wrote:
Requirement:For the same logic, I want to fill the table with the commission plsql emp_tab2, without using a cursor
and two loops (loop) and the cursor for loop for. Sal > 10000 expected
also be implemented.Others can be done in a single query.
Thank you
VinodhIn addition there are errors in your code and it won't work, it is unclear what exactly you want as you have not explained with sample data and expected results.
You select the number of columns to collect your in bulk.
You collect the commission for an entire Department without regard to the employee for each employee record, so you would end up duplicating your data in your pl/sql collection (don't call them paintings, they are not really tables).
You have not initialized l_num_index1 so it will never be incremented
You have added an unnecessary error handler.
etc.I'm guessing that you are looking for something in this direction...
declare type EmpTabType2 is table of emp_commision%ROWTYPE index by binary_integer; emp_tab2 EmpTabType2; begin select ec.* bulk collect into emp_tab2 from emp e join emp_commision ec on (e.eno = ec.eno and e.dno = ec.dno) where e.sal > 10000; end;
... but we can't really help without more information.
-
AWR: Executions = 0 (SQL sorted by elapsed time)
Hello!
In the section Statistics SQL - SQL sorted by time elapsed from my AWR report
I see statements with executions = 0, but time elapsed (s) is in the top 5.
How can it be?
Is - this operation, which goes more like snapshot interval?
Please explain
Kind regards
PavelHi Pavel,
This could mean that the statement has not completed at the time of the snapshot from the end.
Best regards
Nikolai -
The format of a modifiable from the execution of SQL time SQL statement...
The format of a change of the duration of execution of a SQL statement SQL statement?
Thanks in advanceHello
If you send two even SQL query with different format then everyone will make the analysis difficult. The execution path may still remain.
Concerning
-
I am confused regarding the performance of the Sub SQL in 2 cases
In order to obtain the total no.. of the more intimate select timeline.
Once I use the function "COUNT (*) NTC ().
SELECT b.lastname,
b.FirstName,
b.Department,
b.org_relationship,
b.enterprise_name,
b.CNT
DE)
SELECT a.*,
rownum rn
DE)
SELECT P.LastName,
p.FirstName,
pORG. DEPARTMENT,
pORG.org_relationship,
pORG.enterprise_name,
COUNTY () MORE (NTC) - & gt; the function "COUNT (*) (cnt)."
T_person p,
t_contact c1,
porg t_o_person
WHERE p.person_id = c1.ref_id (+)
AND p.person_id = porg.o_person_id
ORDER BY upper (p.lastname), upper (p.firstname)
) a
WHERE rownum & lt; = & lt; & lt; Max asked line & gt; & gt;
) b
WHERE rn & gt; & lt; & lt; min line requested & gt; & gt;
****************************************************
*************************************************
Then, I use a QUERY SELECT INTERNAL to get the total.
SELECT b.lastname,
b.FirstName,
b.Department,
b.org_relationship,
b.enterprise_name,
b.CNT
DE)
SELECT a.*,
rownum rn
DE)
SELECT P.LastName,
p.FirstName,
pORG. DEPARTMENT,
pORG.org_relationship,
pORG.enterprise_name,
* (SELECT count (*)-& gt;) QUERY SELECT INTERNAL for a total count.*
FROM t_person p,
t_contact c1,
porg t_o_person
WHERE p.person_id = c1.ref_id (+)
AND p.person_id = porg.o_person_id
ORDER BY upper (p.lastname), upper (p.firstname)
*) did NTC *.
T_person p,
t_contact c1,
porg t_o_person
WHERE p.person_id = c1.ref_id (+)
AND p.person_id = porg.o_person_id
ORDER BY upper (p.lastname), upper (p.firstname)
) a
WHERE rownum & lt; = & lt; & lt; Max asked line & gt; & gt;
) b
WHERE rn & gt; & lt; & lt; min line requested & gt; & gt;
So, wanted to know which option would be most effective in this case? What the SELECT INTERNAL SEPARATE to get the COUNT or by using the COUNT () at the NTC ()? *
Published by: [email protected] on March 10, 2009 12:41user_7000011 wrote:
Thanks for the inputs. I followed the steps in the link and have gathered some information on the SQLs.However, since I'm new to these topics-i couldnot get
details in its entirety.I've pasted below, data
As shown in the links provided, could you please add that outputs the "Predicate information" section to your PLAN to EXPLAIN next time? It directly follows the exit PLAN and is essential information.
How exactly you generate execution plans? I do not see the optimizer to understand your Top N query, so it does not switch to FIRST_ROWS_n mode. So what have you used for this part of your query execution PLAN of EXPLAIN?
WHERE rownum <= <
> ) b WHERE rn > < > The only difference between the execution of the posted plans that I can spot is that we add a cost for an ORDER BY operation while the other shows only the analytic SORT of WINDOW operation free of charge. I don't know why the ORDER BY operation is absent from the first, probably since the ORDER was already held by the SORT of WINDOW operation (or the declaration was not the same).
The links provided show you step by step instructions, including the information requested by Justin, and much more, for example the scope SQL trace of your statements and in 10 g DBMS_XPLAN scope. Output DISPLAY_CURSOR which is also very useful.
You must simply use the snippets provided in the links and put them in your statement, so if you have trouble following the instructions there that I would be interested to know what was the problem, so that I can improve it.
Kind regards
RandolfOracle related blog stuff:
http://Oracle-Randolf.blogspot.com/SQLTools ++ for Oracle (Open source Oracle GUI for Windows):
http://www.sqltools-plusplus.org:7676 /.
http://sourceforge.NET/projects/SQLT-pp/ -
NEITHER Veristand DLL models simultaneous execution
Hi all,
I have to solve that problem is with my VeriStand workspace:
I have a project NIVS with two models of dll (Run/Stop/Pause) execution is monitored in the Versistand workspace by two interface objects user 'Model Control'.
I wonder if it is possible to manage the executions without a click twice, i.e. together with a click of mouse control.
I tried to create a custom user interface object whose controls could / should manage all other objects dll controls in the workspace user interface. then I modified 'Model - model Control.vi' with the addition of a "Call by reference" block to call my user object interface custom controls; but an error occurs when trying to load the object in the workspace. The same problem using a Subvi rather than a reference call.
I hope to be clear.
You have a solution to this problem?
Thank you
Giulio
Hi, Giulio.
the fastest way to set values of multiple channels (aka "destinations") with a single source channel is the way user combination and maps. It is:
(-) In the system Explorer, create a user called channel model batch start.
(-) Press the button mappings on top and connect the channel the user to both channels of the execution of model, one for each model.
Bind a control of the workspace to the user of the chain)
In this way, you can change the execution mode of several models with a single channel model (and thus a mouse click). You can use a Boolean control if you just want to start/stop the model or an entire control if you want better control each State of execution, which are:
0: start
1: break
2: reset
3: save
4: restoreAn interface object using custom user is honestly an overdose if you just have to set several values at once.
Hope this helps
Concerning
Fabio
-
Response time of Structure event &; simultaneous execution of events
Hello. I built a VI using the structure of the event. Whenever I press a button to start the program (for example, I press "w" to the throttle), the indicator does not respond immediately. Is it normal for the structures of the event or can I do? Another problem I have is when I am pressing on a button, I can not press other buttons to work simultaneously (for example, I press "w" to the throttle and yaw "d"). Is there a way I can change this? Please advice.
Thank you
Hello
Watch what you do with these business structures.
Better, you can use in the range and force.
Already done this for you well, there's also a better way to come of age this another case structure on the right.
You had no timeout in the structure of the event, so he'd be stuck in this case.
As its name suggests doesn't work if the key is down for a little while has added another key case down, repeat.
I found something strange to the w, a, s, d keys allow you to the stored value but with to the up, down, left, right you set back to 0 after releasing.
Koen
-
Order of execution of SQL statements
Hello
I have two SQL statements where the first statement executes on a table with more than 40 million lines, the second statement is running on a table more 6 million lines. When they are running their own each take about 0.15 seconds to run, but when combined they take 20 minutes to run, (the second SQL statement is inserted in the WHERE clause of the statement of first). It would seem that after combining these statements, the first statement goes through all 40 million lines before it performs the SELECT in the WHERE clause. I think that what is necessary is to ensure the SELECT in the WHERE clause is executed first... or something like that! Anyone has any ideas on how to combine these statements but not suffer from the performance impact?
The first statement is:
Select csi.instance_id,
OEL.ordered_item
of apps.csi_item_instances csi,.
Apps.oe_order_lines_all oel
where csi.instance_id in
(1718000,3698000,48740202)
and csi.last_oe_order_line_id = oel.line_id;
The second statement is:
Select / * + INDEX (IEA (attribute_id)) * /.
IEA.instance_id
apps.csi_iea_values do
where iea.attribute_id = 10004
and iea.attribute_value is not null;
The joint return is:
Select csi.instance_id,
OEL.ordered_item
of apps.csi_item_instances csi,.
Apps.oe_order_lines_all oel
where csi.instance_id in
(select / * + INDEX (IEA (attribute_id)) * /)
IEA.instance_id
apps.csi_iea_values do
where iea.attribute_id = 10004
and iea.attribute_value is not null)
and csi.last_oe_order_line_id = oel.line_id;
Thanks for any help,
Mike
Your subquery returns probably just two values that you did originally as constants - but the optimizer thinks that you're going to get 564 K lines. This is why the indicator for the simple query has a beneficial effect, it forces the Oracle to use an index when it would otherwise make a search.
When the subquery is incorporated, however, the optimizer uses its cardinality expected to decide whether to use a nested loop join or the hash join to CSI_ITEM_INSTANCES, since the large enough estimate, he uses the hash with a join analysis complete. That's why I pointed out that the fact to tell the optimizer to how many lines outside the subquery should make a difference.
Have you tried the "common table expression" approach, rather than approach no_merge, but it would not help because it does not change the optimizer for cardinality estimate. If you want to repeat the method CTE adding boards / * + materialize cardinality (2) * / to the query in the WITH clause, you should get the desired result.
Concerning
Jonathan Lewis
-
Execution of SQL queries based on user input in the text box on the page of the APEX
Hello
I am new to develop in the APEX, and I encountered a problem...
It is even possible to do such a thing: use the text box to enter a SQL query and then run it on my schema and display the results in the report item? And if the answer is Yes, can someone give me advice on how to do this?
Thanks in advance.In my example, the text is from a file in a text box. The report source is a function returning the SQL query:
DECLARE v_query VARCHAR2 (4000); BEGIN v_query := :p91_sql_query; RETURN v_query; END;
Denes Kubicek
-------------------------------------------------------------------
http://deneskubicek.blogspot.com/
http://www.Apress.com/9781430235125
https://Apex.Oracle.com/pls/Apex/f?p=31517:1
http://www.Amazon.de/Oracle-Apex-XE-Praxis/DP/3826655494
------------------------------------------------------------------- -
Hello
You can see why I get this error message for my SQL query?
Thanks in advance.WITH SKU_DATA AS ( SELECT /*+ MATERIALIZE */ DISTINCT FROM_LOC_ID, SKU_ID, DESCRIPTION, UPDATE_QTY, ORDER_ID, CONSIGNMENT, WEIGHT, PALLET_ID, CASE WHEN Upd_Qty_Ratio < 1 THEN TO_CHAR(UPDATE_QTY) || 'U' WHEN TRUNC(Upd_Qty_Ratio) = Upd_Qty_Ratio THEN TO_CHAR(Upd_Qty_Ratio) || 'C' ELSE TO_CHAR(TRUNC(UPDATE_QTY)) || 'C' || ' ' || TO_CHAR(ROUND(MOD(Upd_Qty_Ratio, 1) * USER_DEF_NUM_3, 6)) || 'U' END CU_Sum FROM ( SELECT DISTINCT FROM_LOC_ID, S.SKU_ID, S.DESCRIPTION, ITL.UPDATE_QTY, S.USER_DEF_NUM_3, OH.ORDER_ID, ITL.CONSIGNMENT, ITL.PALLET_ID, NVL(ITL.UPDATE_QTY,0)*NVL(S.EACH_WEIGHT,0) Weight, ITL.UPDATE_QTY/(CASE S.USER_DEF_NUM_3 WHEN 0 THEN 1 ELSE S.USER_DEF_NUM_3 END) Upd_Qty_Ratio FROM INVENTORY_TRANSACTION ITL, SKU S, LOCATION L, ORDER_HEADER OH WHERE ITL.SKU_ID = S.SKU_ID AND ITL.CODE = 'Pick' AND ITL.CONSIGNMENT = $P{Consignment} AND OH.ORDER_DATE = TO_CHAR($P{Date}, 'DD-Mon-YYYY') AND OH.ORDER_ID = ITL.REFERENCE_ID AND ITL.TO_LOC_ID = 'CONTAINER')) SELECT DISTINCT ORDER_ID, CONSIGNMENT, WEIGHT, PALLET_ID, CU_Sum, (SELECT NVL(TO_CHAR(SUM(CASE WHEN NULLIF(SUBSTR(Cu_Sum, -1), 'U') IS NULL THEN NULL ELSE REPLACE(Cu_Sum,'C',NULL) END)),'0') ||'C' || ' ' || NVL(TO_CHAR(SUM(CASE WHEN NULLIF(SUBSTR(Cu_Sum, -1), 'C') IS NULL THEN NULL ELSE REPLACE(Cu_Sum,'U',NULL) END)),'0') ||'U' FROM SKU_DATA) AS Total_Cu_Sum FROM SKU_DATA
SM.Hello Sam, what is the error, and what has changed since he was executed successfully?
-
Execution on SQL condition * MORE
Hello
I need something like this run on SQL * PLUS.
It s possible?SELECT Case When username Is Null Then @\Sql\Test.Sql Else Null End FROM dba_users WHERE Username = SCOTT
Thanks to advancedHello
Is the problem that you want to run test.sql only if a query returns something?
SQL * more isn't a very good way to do it.
Using substitution variables, you can run either test.sql or do_nothing.sql, depeniding on the output of a query. Do_nothing. SQL can contain anything other than a comment.COLUMN script_name_col NEW_VALUE script_name SELECT CASE WHEN EXISTS ( SELECT NULL FROM dba_users WHERE username = 'SCOTT' ) THEN 'test.sql' ELSE 'do_noithing.sql' END AS script_name_col FROM dual; @&script_name
-
Execution script sql DB automatic opening
Is it possible to configure a DB so a script given SQL is executed each time the opens the database?
Thank you very much in advance.You can create a startup after trigger to run PL/SQL
Is it ok for you or do you really need to call a script stored on disk?
http://download.Oracle.com/docs/CD/B28359_01/server.111/b28318/triggers.htm#i6061
Maybe you are looking for
-
MacBook Pro retina 13 "task damage
https://www.Facebook.com/photo.php?fBid=10153777752291094 & set = o. 901846886516016 & type = 3 Historically, I bought my Macbook 13 "screen retina; and after that I have seen shocking images on the website staingate.org , at first I wouldn't not giv
-
How to share a folder with someone and invites them to download the file
-
On the "new Apple TV" my video itunes playlists are not visible. They were there on the older AppleTV. Any help?
-
Resize the array element programmatically
Hi, I need to programmatically resize the element of a matrix. The external framework of the matrix control must take the same size, but the internal element should chang size programmatically. I have found no property/method to do this. Wait using X
-
copy function does not work on 5530
Whne I try to make a copy, he sits down and turns